Access 2002

Настройка фильтра по форме


Дело в том, что после отмены события ApplyFilter Access всегда генерирует ошибку времени выполнения, что приведет к аварийному завершению работы приложения, если вы не примете соответствующих мер. Это похоже на ситуацию с методом Print: если вы не перехватываете ошибки, происходящие в ходе его выполнения, и пользователь во время печати щелкнет на кнопке Cancel, происходит ошибка, а приложение аварийно завершает работу.

Когда пользователь активизирует команду Filter By Form, Access пытается преобразовать каждое текстовое поле формы в поле со списком, причем список она заполняет уникальными значениями этого поля. Без сомнения, это удобно, но если набор записей велик, продолжительность формирования списков может значительно увеличиться. Ускорить формирование списков можно двумя способами.

О В меню Tools выберите команду Options и в открывшемся диалоговом окне Options перейдите на вкладку Find  Edit. Найдите на ней поле Dont display lists where more than this number of records read. В это поле можно ввести любое число в диапазоне от 0 до 32766. Если для заполнения списков Access придется

прочитать больше строк, чем вы указали, она не будет заполнять списки значениями полей. Вместо этого она выведет в раскрывающихся списках всего два значения: Is Nul 1 His Not Nul 1. Можно сказать, что вы даете Access команду: «Если строк больше, чем я задал, не формируй списки».

О Можно поступить иначе: для каждого элемента управления в форме присвоить значение свойству Fi IterLookup. Возможных значений три: Never, если вы не хотите выводить список значений; Oatabase Default, если вы хотите использовать максимальное число строк, указанное в окне Access Options (см. предыдущий пункт); Always, если вы хотите выводить список значений всегда, даже если придется считывать больше строк, чем задано в диалоговом окне Options.

Комментарии закрыты