Иллюстрированный самоучитель по Microsoft Access 2002

Сортировка и фильтрация данных в формах и отчетах

В нашем достаточно беглом обзоре проектов Access нельзя не остановиться еще на двух вопросах:

  • Как отфильтровать данные на сервере, для того чтобы передавать минимум данных клиенту?
  • Как отсортировать записи в формах и отчетах?

Фильтровать данные лучше с помощью предложений SQL и хранимых процедур, на которых базируются формы и Отчеты. Если нужно, используйте в них параметры. Еще один способ – определить так называемый серверный фильтр. Для этого необходимо задать значение свойства Серверный фильтр (Server Filter) формы или отчета. Свойство Серверный фильтр представляет собой строковое выражение, определяющее условие выборки. Фильтр сохраняется в форме или отчете и при загрузке формы в ней будут отображаться только отфильтрованные записи.

Если вы хотите изменять фильтр каждый раз при загрузке формы, необходимо присвоить значение Да свойству Серверный фильтр по форме (ServerFilterByForm). В этом случае при загрузке появится диалоговое окно, в котором можно задать условия отбора записей. После этого необходимо нажать кнопку Применить серверный фильтр (Apply Server Filter) на панели инструментов. При этом введенные условия сохраняются в свойстве Серверный фильтр (Server Filter) формы и показывается форма с отфильтрованными записями.

Замечание
Нельзя применять серверный фильтр в формах или отчетах, которые созданы на основе хранимой процедуры
.

Уже после того как записи отфильтрованы на сервере, можно их еще раз отфильтровать локально, используя методы Фильтр по выделенному (Filter by Selection), Изменить фильтр (Filter by Form) или Исключить выделенное (Filter For Input).

Для того чтобы сортировка записей выполнялась на сервере, нужно использовать в качестве источника записей формы (отчета) представление, хранимую процедуру, определенную пользователем функцию или предложение SQL. В противном случае сортировка будет выполняться локально.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.