Пункт "Пусто" в поле со списком

Совсем зеленый
Дата: 21.02.2008 11:03:33
Сохраненный запрос-источник для формы. На форме поле со списком, которое упомянуто в условии отбора запроса:
 ...AND ((Tabl1.ID)=[Forms]![MyForm]![ПолеСоСписком2]))...
поле ID может содержать значения Null. Можно ли добавить в список пункт <Пусто> (по типу добавления пункта <ВСЕ>), чтобы отбирались записи, где Tabl1.ID = Null?
Про формирование в коде SQL-представления запроса-источника речь не идет...
4d_monster
Дата: 21.02.2008 11:07:08
[SRC ЫЙД]...AND ((Tabl1.ID)=[Forms]![MyForm]![ПолеСоСписком2]) OR ([Forms]![MyForm]![ПолеСоСписком2] IS NULL))...[/src]а почему так нельзя?
IMHO, Mon$te®
Совсем зеленый
Дата: 21.02.2008 11:17:38
а в источник поля со списком чего добавить:
...Union Select Null as ID, "<Пусто>" as Сотрудник From Tabl1.ID...
так что ли? Не срабатывает.
4d_monster
Дата: 21.02.2008 11:55:22
а в источник ничего не добавлять - если в нём пусто то это и означает что пусто. (на всякий случай подскажу что для его очистки юзеру достаточно удалить выбранный там текст - и Value станет Null)

IMHO, Mon$te®
Совсем зеленый
Дата: 21.02.2008 12:30:38
автор
в источник ничего не добавлять
не пойдет, надо чтобы поле со списком содержало пункт <Пусто> (я ж писал: "по типу добавления пункта <ВСЕ>")
автор
юзеру достаточно удалить выбранный там текст
что-то не то: поле ID - текстовое, необязательное и ввод пустых строк неразрешен. На запрос "у кого ID= "" ?" конечно ничего не возвращается, а вот если спросить "у кого ID= Null ?", то вернутся искомые записи.
4d_monster
Дата: 21.02.2008 12:33:52
автор
не пойдет, надо чтобы поле со списком содержало пункт <Пусто> (

я поэтому и выделил размером слово IMHO.
для решения вашей задачи используйте UNION - просто правильно его напишите
IMHO, Mon$te®
Совсем зеленый
Дата: 21.02.2008 12:43:36
автор
используйте UNION - просто правильно его напишите
Правильно - как?
...Union Select "" as ID...
не подходит по выше озвученной причине.
...Union Select Null as ID...
даже глаз режет...
Так что же должно подставляться из списка в условие отбора запроса, чтобы он "понял" это как IsNull?
-------------------------------------------------------------------------------------
Эх, придется, как не хотелось, но формировать SQL-представление источника в коде, а сохраненный запрос убить!
4d_monster
Дата: 21.02.2008 12:47:55
Union Select Null as ID
он только режет или не работает тоже?

IMHO, Mon$te®
mds_world
Дата: 21.02.2008 12:50:35
Union Select Null as ID, "<Пусто>" as Сотрудник From Tabl1
В вашем варианте было From Tabl1.ID, поэтому и не срабатывало
mds_world
Дата: 21.02.2008 12:52:26
Кстати, в Union названия полей не обязательно писать. Они все равно такими как в первом запросе.