Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2010, 20:49   #1
Обсидиан
Новичок
Джуниор
 
Регистрация: 11.10.2010
Сообщений: 3
По умолчанию Работа с функцией IIF

Есть два вопроса связанных с функцией IIF
Первый:
Есть выражение в запросе на выборку записей: IIf([Forms]![КраткаяИнформация]![ФлажокОбъект]=Истина;[Forms]![КраткаяИнформация]![ПолеСоСпискомОбъект];[ОСНОВНАЯ]![Объект])
При этом, в поле «Объект» таблицы «ОСНОВНАЯ» имеются значения Null или пустые строки (поменять в принципе не проблема). При выводе полученного перечня записей, при выключенном флажке, записи со значениями Null и пустыми строками отбрасываются. Как сделать что-бы этого не происходило? Необходимо, что-бы при выключенном флажке отображались все записи, в том числе и с пустыми полями, а при включенном только те значения которых соответствуют ПолюСоСпискомОбъект.

Но если тут хоть понятно в чем проблема, то во втором случае, вообще не ясно, что происходит:
Имеем выражение в запросе:
IIf([Forms]![КраткаяИнформация]![Флажок1]=Истина;[ОСНОВНАЯ].[Допущено]>0;[ОСНОВНАЯ]![Допущено])
В поле «Допущено» таблицы «ОСНОВНАЯ» имеются числовые значения 0,1,2. При просмотре имеем следующее: С включенным флажком – показываются все записи за исключением(!) тех что больше 0! С выключенным флажком - все. Желательный результат – при включенном флажке отображаются только записи со значением отличным от 0. В чем подвох не могу понять – по логике все должно работать.
Обсидиан вне форума Ответить с цитированием
Старый 11.10.2010, 21:22   #2
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Цитата:
Сообщение от Обсидиан Посмотреть сообщение
Есть два вопроса связанных с функцией IIF
Первый:
Есть выражение в запросе на выборку записей: IIf([Forms]![КраткаяИнформация]![ФлажокОбъект]=Истина;[Forms]![КраткаяИнформация]![ПолеСоСпискомОбъект];[ОСНОВНАЯ]![Объект])
При этом, в поле «Объект» таблицы «ОСНОВНАЯ» имеются значения Null или пустые строки (поменять в принципе не проблема). При выводе полученного перечня записей, при выключенном флажке, записи со значениями Null и пустыми строками отбрасываются. Как сделать что-бы этого не происходило? Необходимо, что-бы при выключенном флажке отображались все записи, в том числе и с пустыми полями, а при включенном только те значения которых соответствуют ПолюСоСпискомОбъект.

Но если тут хоть понятно в чем проблема
Проблема в связях.



Цитата:
Сообщение от Обсидиан Посмотреть сообщение
Имеем выражение в запросе:
IIf([Forms]![КраткаяИнформация]![Флажок1]=Истина;[ОСНОВНАЯ].[Допущено]>0;[ОСНОВНАЯ]![Допущено])
В поле «Допущено» таблицы «ОСНОВНАЯ» имеются числовые значения 0,1,2. При просмотре имеем следующее: С включенным флажком – показываются все записи за исключением(!) тех что больше 0! С выключенным флажком - все. Желательный результат – при включенном флажке отображаются только записи со значением отличным от 0. В чем подвох не могу понять – по логике все должно работать.
Вот в этом проблема - [ОСНОВНАЯ].[Допущено]>0

Еще один IIf добавьте, чтобы ВАША конструкция работала.
Abrakadabra вне форума Ответить с цитированием
Старый 12.10.2010, 12:43   #3
Обсидиан
Новичок
Джуниор
 
Регистрация: 11.10.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Abrakadabra Посмотреть сообщение
Проблема в связях.
А как её разрешить?



Цитата:
Сообщение от Abrakadabra Посмотреть сообщение
Вот в этом проблема - [ОСНОВНАЯ].[Допущено]>0

Еще один IIf добавьте, чтобы ВАША конструкция работала.
IIF добавить вместо [ОСНОВНАЯ].[Допущено]>0?
Обсидиан вне форума Ответить с цитированием
Старый 13.10.2010, 08:59   #4
Обсидиан
Новичок
Джуниор
 
Регистрация: 11.10.2010
Сообщений: 3
Лампочка

АГА! Со второй проблемой разобрался! Ларчик-то просто открывался! Помогла решить проблему следующая формулировка:
>= IIf([Forms]![КраткаяИнформация]![Флажок1]=Истина;1;0)

И хотя машинная логика не совсем понятна, зато работает!

Теперь осталось разобраться с первой проблемой.
Обсидиан вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не хочет работать iif alco84 Microsoft Office Access 6 18.03.2010 09:48
Работа с функцией (С) ordoss Помощь студентам 8 03.01.2010 19:02
Проблемы с функцией gets (С) spirit_trapper Помощь студентам 2 19.12.2009 01:25
Работа с функцией islower() Greynvi4 Общие вопросы C/C++ 3 07.08.2009 21:37
[Assembler]: Размер каталогов и работа с функцией "copy" Roverka Помощь студентам 4 27.11.2008 20:13