Станица доступа....Неопределенная функция NZ в выражении

Ирча
Дата: 01.09.2005 09:31:04
Привет!
Ситуация следующая....
Access 2003 mdb
Страница доступа, основанная на запросах.
В запросе используется конструкция: Nz(Поле)+Nz(Поле)
В самой базе, все работает....
Но когда открываю страницу отдельно....
Ошибка поставщика услуг....
Неопределенная функция NZ в выражении.....
Подскажите, как этого избежать?
глупыйглупый
Дата: 01.09.2005 10:21:20
заменить на
IIF( not Isnull([Field]),[Field],NullValue)
4321
Дата: 01.09.2005 10:32:46
глупыйглупый
заменить на
IIF( not Isnull([Field]),[Field],NullValue)
а вот интересно: заметил, что аксессный народ в SQL пользуется Isnull([Field]), а не скулём (т.е. не ([Field] IS NULL). Это что - проф. девиация?
ЗЫ: сам правда такой же.
глупыйглупый
Дата: 01.09.2005 10:42:08
4321
глупыйглупый
заменить на
IIF( not Isnull([Field]),[Field],NullValue)
а вот интересно: заметил, что аксессный народ в SQL пользуется Isnull([Field]), а не скулём (т.е. не ([Field] IS NULL). Это что - проф. девиация?
ЗЫ: сам правда такой же.

я тоже так люблю говорить непонятно.

лучше вот это Nz(Поле)+Nz(Поле)
с использованием [Field] IS NULL запиши.
Ирча
Дата: 01.09.2005 11:39:56
Придется....
Переделывать просто много.....
Думала, может поще что-то есть.....
А IIF недежно работает, что-то его не очень рекомендуют использовать....
глупыйглупый
Дата: 01.09.2005 12:18:44
Ирча
Придется....
Переделывать просто много.....
Думала, может поще что-то есть.....
А IIF недежно работает, что-то его не очень рекомендуют использовать....

не нравится IIF - попробуй switch - должен бы работать - проверять лень
что-нибудь

Switch( IsNull([Field])=False,[Field],IsNull([Field])=True,NullValue)
глупыйглупый
Дата: 01.09.2005 12:24:00
глупыйглупый
Ирча
Придется....
Переделывать просто много.....
Думала, может поще что-то есть.....
А IIF недежно работает, что-то его не очень рекомендуют использовать....

не нравится IIF - попробуй switch - должен бы работать - проверять лень
что-нибудь

Switch( IsNull([Field])=False,[Field],IsNull([Field])=True,NullValue)


можно Choose присандалить:

Choose(IIF(IsNull([Field]),2,1),[Field],NullValue)

кажется, это уже слишком.
глупыйглупый
Дата: 01.09.2005 12:52:23
в итоге мне вот так понравилось
правда в запросе я его не пробовал

Choose(Cint(IsNull([Field])) + 2, NullValue, [Field])
4321
Дата: 01.09.2005 14:46:06
глупыйглупый
4321
глупыйглупый
заменить на
IIF( not Isnull([Field]),[Field],NullValue)
а вот интересно: заметил, что аксессный народ в SQL пользуется Isnull([Field]), а не скулём (т.е. не ([Field] IS NULL). Это что - проф. девиация?
ЗЫ: сам правда такой же.

я тоже так люблю говорить непонятно.

лучше вот это Nz(Поле)+Nz(Поле)
с использованием [Field] IS NULL запиши.
кхм. А чо не ясно?
1.
Isnull([Field]) == ([Field] IS NULL)
НО:
([Field] IS NULL) - это SQL (причем не только Jet)
Isnull([Field]) - это _васик_. Не всякий SQL его поймет.

2. не понял про "лучче". В чем проблема подстановки тождественных выражений?