2016-03-18 2 views
0

У меня есть три comboboxes, которые применяют команду фильтра.Ms-access, как фильтровать с пустыми полями

Фраза условие заключается в следующем:

[size]=[Forms]![Table1]![sizes] And 
[Type]=[Forms]![Table1]![types] And 
[product]=[Forms]![Table1]![products] 

Так что я хочу, чтобы применить фильтр, когда типы или размеры поля пусты (значение не вводится), и она по-прежнему будет фильтровать записи.

ответ

2

Что вам нужно сделать, это сгенерировать код фильтра SQL каждый раз, когда любое из ваших comboboxes запускает событие AfterUpdate. Установите все три, чтобы указать на частную функцию, которая проверяет их значения и генерирует ваш фильтр, а затем применяет его. Если любой из них равен нулю, просто не добавляйте их в фильтр.

Это также может быть сделано без VBA, используя что-то вроде IIf(IsNull(Forms]![Table1]![sizes]),"",""[size]=[Forms]![Table1]![sizes]") вместо того, чтобы просто [size]=[Forms]![Table1]![sizes] но это может усложниться управление ANDs так что лучше использовать VBA.

+0

@nika: см. Пример: http://stackoverflow.com/a/33630318/3820271 – Andre

Смежные вопросы