Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
1

Запрос с условием на элемент управления

11.02.2013, 13:24. Просмотров 1646. Ответов 27
Метки нет (Все метки)

Помогите разобраться! есть таблица, запрос, форма для вывода(поиска) данных.
не могу создать условие для отбора значение привязанных к элементу управления флажок.
Объяснюсь: на форме флажок если пользователь установил его то по столбцу [Дата время вкл] отображаются пустые записи если нет то все.
что вроде IIf([Forms]![VL]![Флажок_отклВЛ]=Истина;[Дата время вкл] Is Null;[Дата время вкл] Like "*") типа того но это соответственно не работает. как указать ACCESS что в значениях функции IIF истина и ложь указаны условия отбора для данного столбца. Спасибо за помощь!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2013, 13:24
Ответы с готовыми решениями:

Запрос с условием
Ситуация такая: есть таблица Студенты(Фамилия, пол, дата рожд), надо сделать запрос чтобы...

Запрос с условием
Есть запрос который высчитывает дату следующей аттестации по дате пройденной аттестации, но в...

Запрос с условием
Как записать условие в запросе для следующей задачи: рассчитать скидку. Скидка предоставляется...

Запрос с условием
Подскажите пожалуйста, как сделать запрос с условием, в котором отобразилась бы определённая...

Запрос на добавление с условием
Здравствуйте, помогите пожалуйста разобраться с запросом. Имеется 2 таблицы (Т1,Т2) по 2 поля в...

27
ltv_1953
Эксперт MS Access
13851 / 6126 / 1242
Регистрация: 21.06.2012
Сообщений: 11,103
11.02.2013, 14:45 2
Попробуйте поставить такое условие (флажков/полей, наверное, м.б. несколько)
SQL
1
WHERE ([Forms]![VL]![Флажок_Поле1] AND (Поле1 IS NULL)) AND ([Forms]![VL]![Флажок_Поле2[ AND (Поле2 IS NULL)) ...
1
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
11.02.2013, 15:00  [ТС] 3
флажок один и поле одно вот в чем вся соль.
тоже самое как просто написать в условии отбора Is Null или Like "*"
только изменение условий отбора для столбца по изменению флажка.
0
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
11.02.2013, 15:12  [ТС] 4
Вот файлик для примера
0
Вложения
Тип файла: rar Приложение Microsoft Office Access.rar (40.6 Кб, 15 просмотров)
11.02.2013, 15:12
ltv_1953
Эксперт MS Access
13851 / 6126 / 1242
Регистрация: 21.06.2012
Сообщений: 11,103
11.02.2013, 15:19 5
Понятно, давайте усложним выражение
SQL
1
WHERE IIf(NOT [Forms]![VL]![Флажок_Поле1],TRUE, (Поле1 IS NULL) AND [Forms]![VL]![Флажок_Поле1]);
0
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
11.02.2013, 15:27  [ТС] 6
Чёто я запарился, если можно во вложении смастерите
0
ltv_1953
Эксперт MS Access
13851 / 6126 / 1242
Регистрация: 21.06.2012
Сообщений: 11,103
11.02.2013, 15:45 7
Источник подчиненной - запрос Подчиненная_, добавлена процедура обработки события для флажка - После_Обновления.
1
Вложения
Тип файла: 7z Приложение Microsoft Office Access.7z (18.9 Кб, 17 просмотров)
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
12.02.2013, 14:27  [ТС] 8
Спасибо ltv_1953 Вам огромное!

Добавлено через 22 часа 28 минут
а как организовать поиск значений по полю со списком
нашел подобный пример http://www.cyberforum.ru/post2288266.html
маленько не то
Like IIf(IsNull([Forms]![Form1]![Область]);"*";[Forms]![Form1]![Область])
при нулевом значении поля со списком будут отображаться только строки со значением <>0

Like IIf(IsNull([Forms]![Форма1]![Поле_Причина]);"*";[Forms]![Форма1]![Поле_Причина])

а как сделать чтобы при нулевом значении поля со списком отображались все записи.
0
ltv_1953
Эксперт MS Access
13851 / 6126 / 1242
Регистрация: 21.06.2012
Сообщений: 11,103
12.02.2013, 15:04 9
Т.е. нужно выбрать записи, совпадающие по полю [Поле_Проверяемое] с выбранным в форме значением [Поле_Причина], а если поле не выбрано, то все?
Тогда
SQL
1
WHERE ([Forms]![Форма1]![Поле_Причина] IS NULL) OR ([Поле_Проверяемое]=[Forms]![Форма1]![Поле_Причина])
0
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
12.02.2013, 15:23  [ТС] 10
Пишет неопределенная функция WHERE
0
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
12.02.2013, 15:30  [ТС] 11
На Форма1 есть поле со списком.
При выборе значения поля со списком выводятся в подчиненная_форма_Таблица1 записи указанные в поле со списком.
Если поле со спискоим пустое то выводятся все записи включая пустые в подчиненная_форма_Таблица1.
0
Вложения
Тип файла: rar Проба.rar (88.2 Кб, 7 просмотров)
ltv_1953
Эксперт MS Access
13851 / 6126 / 1242
Регистрация: 21.06.2012
Сообщений: 11,103
12.02.2013, 15:59 12
Исправления: поле со списком для выборки использует таблицу Причина (и выбирается код). Для совместимости в таблицу1 добавлено поле Причина_Код и расставлены его значения, в подчиненной форме вместо текстового причина поставлено Причина_Код и преобразовано в поле со списком. Новый запрос-источник для подчиненной - Подчиненная_1.
Теперь все работает (но только по выборке причины), если нужно будет объединить с флажком, то сначала нужно решить как (OR или AND), взять условие для флажка (Подчиненная_) и добавить его (с OR или AND).
0
Вложения
Тип файла: 7z Проба.7z (18.8 Кб, 12 просмотров)
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
12.02.2013, 16:06  [ТС] 13
а как реализовать при выборе в "поле со списком" пустого значения для отображение всех записей включая пустые
0
ltv_1953
Эксперт MS Access
13851 / 6126 / 1242
Регистрация: 21.06.2012
Сообщений: 11,103
12.02.2013, 16:18 14
Просто стираете выбранное ранее значение и значение поля со списком становится Null.
0
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
12.02.2013, 16:25  [ТС] 15
автоматизировать не получится?. просто выбрать в списке пусто чтобы клаву не использовать, не всякий догадается что надо сделать del
0
ltv_1953
Эксперт MS Access
13851 / 6126 / 1242
Регистрация: 21.06.2012
Сообщений: 11,103
12.02.2013, 16:43 16
Удалите из таблицы Причины запись с кодом 4 и пустым значением. Из-за него и получается двойственность восприятия - пустое значение в списке с кодом 4 и отсутствие значения в поле списком.
А стирать значение в поле со списком придется - при открытии формы оно же пустое.
0
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
12.02.2013, 17:12  [ТС] 17
Хотел пойти другим путем
в условие отбора прописал [Forms]![VL]![Поле_ПричинаАО]
сдела код VBA

Visual Basic
1
2
3
4
5
6
7
Private Sub ПолеСоСписком_ПричиныАО_BeforeUpdate(Cancel As Integer)
If ПолеСоСписком_ПричиныАО.Value <> 11 Then
Поле_ПричинаАО.Value = "Like " & """" & [Forms]![VL]![ПолеСоСписком_ПричиныАО].[Text] & """"
Else
Поле_ПричинаАО.Value = "Is Null " & "Is Not Null"
End If
End Sub
по чему ACCESS не понимает что написано в Поле_ПричинаАО
Хотя есть столбех условие отбора берет данные тоже из поля со списком и все находит
0
Андрэич
2836 / 768 / 41
Регистрация: 20.05.2012
Сообщений: 2,056
12.02.2013, 19:48 18
Цитата Сообщение от romzec Посмотреть сообщение
по чему ACCESS не понимает что написано в Поле_ПричинаАО
Хотя есть столбех условие отбора берет данные тоже из поля со списком и все находит
Свойство .text доступно только когда фокус в этом поле. Измените на .Value
А что здесь вы хотели?
Visual Basic
1
Поле_ПричинаАО.Value = "Is Null " & "Is Not Null"
И с Лайком тоже не понятно..
0
romzec
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 34
13.02.2013, 07:51  [ТС] 19
Андрэич,
Visual Basic
1
Поле_ПричинаАО.Value = "Is Null " & "Is Not Null"
Хотелось заставить ACCESS выводить все записи по столбцу в том числе и пустые.
0
alvk
Эксперт MS Access
5893 / 3772 / 209
Регистрация: 12.08.2011
Сообщений: 10,000
13.02.2013, 08:54 20
romzec, знак & связывает строки, у вас получается надпись "Is Null Is Not Null". Если поле текстовое и там есть такое значение добуквенно (в чём я лично сомневаюсь), то результат будет выведен. Чтобы связывать условия в SQL используются операторы AND и OR. Вообще условие "пустые или не пустые" бессмысленно, он и без этих условий прекрасно выведет все записи. А условие "пустые и не пустые" просто не осуществимо в природе.
0
13.02.2013, 08:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2013, 08:54

Запрос на выборку с условием
Здраствуйте. У меня есть таблица Кабинеты: Код - Счетчик Название - Текстовый ОтветственноеЛицо...

Запрос на выборку с условием
Прошу подсказать. Есть две таблицы. Делаю запрос на выборку такой - все строки из таблицы1...

Запрос с двойным условием
Товарищи, помогите, пожалуйста. Не могу разобраться. Есть три таблицы и связь многие ко многим....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru