Фильтрация данных
В Microsoft Access предусмотрено четыре способа отбора записей с помощью фильтров: фильтр по выделенному фрагменту, обычный фильтр, поле Фильтр для (Filter For) и расширенный фильтр.
Фильтр по выделенному фрагменту, обычный фильтр и поле Фильтр для (Filter For) являются очень простыми способами отбора записей, причем самым простым является фильтр по выделенному фрагменту — он позволяет найти все записи, содержащие определенное значение в выбранном поле. Обычный фильтр используется для отбора записей по значениям нескольких полей. Поле Фильтр для (Filter For) используется, если фокус ввода находится в поле таблицы и нужно ввести конкретное искомое значение или выражение, результат которого будет применяться в качестве условия отбора. Для создания сложных фильтров следует использовать окно расширенного фильтра.
Набор записей, которые были отобраны в процессе фильтрации, называется результирующим набором.
Чтобы использовать фильтр по выделенному фрагменту, необходимо:
- В поле объекта в режиме Таблицы найти значение, которое должны содержать записи, включаемые в результирующий набор при применении фильтра.
- Выделить это значение и нажать кнопку Фильтр по выделенному (Filter by Selection) на панели инструментов Режим таблицы (Table Datasheet).
Фильтры сохраняются автоматически при сохранении таблицы или формы. Таким образом, при повторном открытии таблицы или формы можно снова применить сохраненный фильтр.
Фильтр позволяет отбирать записи, не содержащие выбранного значения. Для этого необходимо выбрать значение, нажать правую кнопку мыши и выполнить команду Исключить выделенное (Filter Excluding Selection).
На рис. 2.57 показан результирующий набор, полученный применением фильтра по выделенному к таблице «Заказы» (Orders) демонстрационной базы данных (Northwind). Чтобы получить такой результат:
- Откройте таблицу «Заказы» в режиме Таблицы.
- Выделите в столбце «Клиент» какое-нибудь значение, например Ernst Handel.
- Нажмите кнопку Фильтр по выделенному (Filter by Selection) на панели инструментов.
Чтобы отменить фильтр, необходимо нажать на кнопку Удалить фильтр (Remove Filter) на панели инструментов Режим таблицы (Table Datasheet) или воспользоваться одноименной командой контекстного меню.
Access запоминает последний применяемый фильтр, поэтому если теперь нажать на кнопку Применение фильтра (Apply Filter) на панели инструментов, вновь будут отобраны те же записи.
Кнопки Применение фильтра (Apply Filter) и Удалить фильтр (Remove Filter) являются по сути одной кнопкой, состояние (нажата, отжата) и подпись которой меняются в зависимости от того, установлен или нет фильтр для таблицы. Еще одним признаком, по которому можно узнать, что в таблице отображаются отфильтрованные записи, является слово ФЛТР (FLTR) в строке состояния окна приложения.
Для того чтобы установить фильтр по выделенному фрагменту, можно воспользоваться также командой контекстного меню Фильтр по выделенному (Filter by Selection) или выбрать из меню Записи (Records) команду Фильтр, Фильтр по выделенному (Filter, Filter by Selection).
Похожей возможностью фильтрации записей обладает поле Фильтр для (Filter For). Его можно использовать в том случае, когда не удается быстро найти образец отбора в столбце таблицы.
Чтобы использовать возможности поля Фильтр для (Filter For), необходимо:
- Открыть таблицу в режиме Таблицы.
- Щелкнуть правой кнопкой мыши на поле, для которого нужно указать условие отбора, а затем ввести значение условия отбора в поле Фильтр для (Filter For) в контекстном меню (рис. 2.58).
Чтобы применить фильтр и закрыть контекстное меню, нужно нажать клавишу , а чтобы применить фильтр и оставить контекстное меню открытым — клавишу . При этом можно вводить в поле Фильтр для (Filter For) новые значения и по нажатии клавиши обновлять содержимое выборки.
В поле Фильтр для (Filter For) можно указывать не только конкретные значения, но и выражения, требующие вычислений.
Чтобы применить обычный фильтр, необходимо:
- Открыть таблицу в режиме Таблицы (например, откройте таблицу «Заказы» (Orders)).
- Нажать кнопку Изменить фильтр (Filter by Form) на панели инструментов Режим таблицы (Table Datasheet). Появится форма фильтр (Filter by form) — специальное окно для изменения фильтра (рис. 2.59). Форма содержит линейку полей таблицы. В любое из этих полей можно ввести или выбрать из списка значение, которое и будет являться условием отбора. Если условия ввести в несколько полей, они будут объединяться с помощью логического оператора И. Для того чтобы объединить условия по ИЛИ, нужно раскрыть другую вкладку формы, щелкнув по ярлычку Или в нижней части формы.
При вводе условий отбора в поля формы можно использовать любые выражения, которые возможны в Access (см. разд. «Выражения в Access»гл. 4).
Условия отбора записей, которые вводятся в поля формы фильтр (Filter by Form), можно сохранить в базе данных в виде запроса. Для этого необходимо при открытой форме фильтр (Filter by Form) нажать кнопку Сохранить как запрос (Save As Query) на
панели инструментов. Затем в диалоговом окне Сохранение в виде запроса (Save As Query) ввести имя запроса и нажать кнопку ОК. Когда потребуется повторить установку такого фильтра, нужно опять же при открытой форме фильтр (Filter by Form) нажать кнопку Загрузить из запроса (Load from Query) на панели инструментов.
Создание расширенного фильтра, как более сложного, будет рассматриваться в гл. 4.
Отобранные с помощью фильтра данные можно копировать, экспортировать и рассылать. Копирование данных из выборки осуществляется так же, как копирование данных в таблице.
Экспорт данных из выборки позволяет сохранить их в отдельном файле. Чтобы экспортировать данные, необходимо:
- Выбрать в меню Файл (File) команду Экспорт (Export).
- В окне Экспорт объекта: Таблица в (Export Table to) выбрать папку для экспорта файла.
- В поле Имя файла (File Name) ввести имя файла, в который осуществляется экспорт.
- В поле Тип файла (Save as Type) выбрать тип файла, в который осуществляется экспорт.
- Нажать кнопку Сохранить все (Export All).
В отличие от обычного экспорта данных, рассылка позволяет сразу отправить результаты выборки по электронной почте разным адресатам для дальнейшего ознакомления с материалами, их анализа и т. п. Чтобы отослать результаты выборки, необходимо:
- Выбрать в меню Файл (File) команду Отправить (Send To).
- Из раскрывающегося меню выбрать пункт Почтовый клиент (Mail Recipient (as Attachment)).
- В окне Послать (Send) выбрать тип файла.
- Нажать кнопку ОК и далее выполнить стандартную процедуру для отправки почтового сообщения в своем почтовом клиенте.
Источник
Фильтры это способ access
Для просмотра и корректировки записей базы данных, удовлетворяющих указанным пользователем условиям отбора, предусмотрена фильтрация таблицы. Фильтр — это набор условий, применяемый для отбора подмножества записей в таблице, форме или запросе.
Access позволяет использовать три типа фильтров: фильтр по выделенному, обычный и расширенный фильтр.
Фильтр по выделенному
Простейшим способом задания условия отбора записей является выделение в таблице или форме некоторого значения поля или его части.
Упражнение 10. Отбор записей по выделенному фрагменту
Рассмотрим этот способ фильтрации на примере таблицы СТУДЕНТ.
1. Откроем таблицу СТУДЕНТ в режиме таблицы.
2. Для отбора всех записей о студентах, фамилии которых начинаются с буквы С, выделим эту букву в поле ФИО одной из записей, где фамилия начинается с этой буквы.
3. Выполните команду меню Записи | Фильтр | Фильтр по выделенному или нажмите соответствующую кнопку на панели инструментов. В результате фильтрации в таблице будут отображены только те записи, в которых фамилия студента начинается на букву С.
4. Продолжите фильтрацию на полученном подмножестве записей по дополнительному условию отбора. Среди найденных студентов выберите родившихся в 1982 году. Выделите в поле Дата рождения одной из записей значение 82. После выполнения команды Фильтр по выделенному из всех записей подмножества в таблице останутся только те, в которых поле Дата рождения имеет заданное значение.
В таблице или форме, для которой применен фильтр, в строке перехода по записям указано (Фильтр).
5. Для отбора записей, не содержащих выделенного значения в поле, после выделения значения выполните команду меню Записи | Фильтр | Исключить выделенное или щелкните правой кнопкой мыши и в появившемся контекстном меню (рис. 5.1) выберите команду Исключить выделенное.
6. Чтобы работать со всеми записями таблицы, отмените действие фильтра, выполнив команду Записи | Удалить фильтр или нажав соответствующую кнопку на панели инструментов.
Рис.5.1. Контентекстное меню для выделенного значения |
7. Для повторного использования фильтра выполните команду Записи | Применение фильтра или нажмите соответствующую кнопку на панели инструментов.
Фильтр, созданный при выполнении команды Фильтр по выделенному или Исключить выделенное, сохранятся автоматически при сохранении таблицы, запроса или формы. При последующих открытиях таблицы этот фильтр может быть применен снова.
Обычный фильтр
Обычный фильтр позволяет произвести отбор записей путем ввода значений в пустую таблицу или форму, вызываемую командой Изменить фильтр. В окне обычного фильтра Фильтр (рис. 5.2) можно создать новый фильтр или просмотреть и откорректировать ранее созданный фильтр.
Рис.5.2. Окно обычного фильтра таблицы СТУДЕНТ |
На вкладке Найти в поля фильтра вводятся значения, по которым будут отбираться записи. Значения можно вводить с клавиатуры или выбирать из списка. Ввод значений в несколько полей одной строки фильтра определяет отбор записей, в которых присутствуют все указанные значения. При этом заданные условия рассматриваются как объединяемые логической операцией И.
Для того чтобы указать альтернативный вариант отбора записей, включаемых в результирующий набор отображаемых записей, выбирается вкладка Или в левом нижнем углу окна фильтра. При этом открывается новая строка фильтра для задания новых условий отбора. Набор условий, введенных в разные строки, связывается логической операцией ИЛИ. Следующий альтернативный вариант может быть задан на следующей вкладке Или .
Фильтр будет отбирать записи, содержащие в полях все значения, указанные на вкладке Найти и на вкладках Или.
Упражнение 11. Создание, применение и уничтожение обычного фильтра
Отфильтруйте записи формы СПИСОК ГРУППЫ, построенной на таблицах ГРУППА и СТУДЕНТ, выберите из групп 101 и 102 данных о студентах, которые имеют балл выше проходного, равного 4,5.
1. Откройте форму СПИСОК ГРУППЫ.
2. Нажмите на панели инструментов кнопку Изменить фильтрили выполните команду меню Записи | Фильтр | Изменить фильтр.
3.В окне СПИСОК ГРУППЫ: фильтр (рис.5.3) удалите отображенный ранее использованный фильтр, нажав кнопку Очистить бланк.
Рис.5.3. Окно обычного фильтра формы СПИСОК ГРУППЫ |
4. Задайте условия отбора. На внешней вкладке Найти, относящейся к основной части формы, в списке Ном. группы выберите из списка первое значение 101. Второе значение 102 выберите на вкладке Или. На внутренней вкладке Найти , относящейся к подчиненной части формы, в поле ввода Проходной балл введите условие >4,5 (рис.5. 4.).
Рис.5.4. Обычный фильтр с заданными условиями отбора |
5. Выполните фильтрацию таблицы по команде Фильтр | Применение фильтра . В результате фильтрации в форме СПИСОК ГРУППЫ будут выводиться только те группы и данные о студентах групп, которые соответствуют условиям отбора (рис. 5.5).
Рис.5.5. Форма СПИСОК ГРУППЫ после применения фильтра |
6. Для просмотра всех записей из обеих таблиц через форму снимите фильтр, нажав кнопку Удалить фильтр или выполнив команду Записи | Удалить фильтр.
Фильтр автоматически сохраняется вместе с формой при ее закрытии и может быть применен при следующем открытии формы.
7. Для того чтобы сделать недоступным старый фильтр, в активном окне фильтра формы очистите бланк как для главной, так и для подчиненной части формы, выполнив команду меню Правка | Очистить бланк или нажав соответствующую кнопку панели Фильтр. Для возврата в режим формы нажмите кнопку Применение фильтра или выполните команду Фильтр | Применение фильтра.
8. Чтобы запретить применение любого фильтра в форме, откройте ее в режиме конструктора и на вкладке Данные задайте для свойства Применение фильтров значение Нет. Обратите внимание, что в свойстве Фильтр записан фильтр, используемый по умолчанию, — текущий фильтр.
9. Перейдите в режим формы и убедитесь, что все кнопки фильтров стали недоступными.
Расширенный фильтр
Расширенный фильтр предоставляет окно для задания условий отбора, отображаемых записей таблицы или формы. Окно расширенного фильтра таблицы СТУДЕНТ показано на рис.5.6.
Рис.5.6. Окно расширенного фильтра таблицы СТУДЕНТ |
Представленный на рис. 5.6. расширенный фильтр отображает ранее сформированный для таблицы СТУДЕНТ фильтр по выделенному для полей ФИО и ДАТАР.
В строке Условия отбора записывается выражение, результатом которого является конкретное значение. Выражение состоит из операндов и операторов.
В качестве операндов выражения могут использоваться: литеры, константы, идентификаторы (ссылки).
Литералами являются конкретные значения, воспринимаемые Access так как они записаны. В качестве литералов могут быть использованы числа, текстовые строки, даты. Текстовые строки заключаются в двойные кавычки, даты — в знаки # (например, 567, «Информатика», #1-Января-99#).
Константами являются неизменяющиеся значения, которые определены в Access (например, True, False, Да, Нет, Null).
Идентификатор представляет собой ссылку на значение поля, элемента управления или свойства. Идентификаторами могут быть имена полей, таблиц, форм, отчетов и т. д. Они должны заключаться в квадратные скобки. Как правило, Access производит автоматическую подстановку скобок.
Операторами сравнения и логическими операторами, использование которых допускается в выражении условия отбора являются: = , , о , =, Between, In , Like , And, Or, Not. Они определяют операцию над одним или несколькими операндами.
Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор = .
Текстовые значения в выражении, если содержат пробелы или знаки препинания, вводятся в двойных кавычках. В противном случае кавычки можно не вводить, они будут добавлены автоматически.
Допускается использование операторов шаблона: звездочка (*) и вопросительный знак (?).
Оператор Between позволяет задать интервал для числового значения. Например, Between 10 And 100 задает интервал от 10 до 100.
Оператор Likeпозволяет использовать образцы, использующие символы шаблона, при поиске в текстовых полях. Например, Like «Иванов* «.
Логические операции и и или. Условия отбора, заданные в одной строке, связываются по умолчанию с помощью логической операции И, заданные в разных строках — с помощью логической операции или. Эти операции могут быть также заданы явно в выражении условия отбора с помощью операторов AND и OR соответственно.
Сформировать условие отбора можно с помощью построителя выражений. Перейти в окно Построитель выражений можно, нажав кнопку Построить на панели инструментов конструктора запросов или выбрав команду Построить в контекстном меню. Курсор мыши должен быть установлен предварительно в ячейке ввода условия отбора.
После ввода выражения в бланк и нажатия клавиши Access выполняет синтаксический анализ выражения и отображает его в соответствии с результатами этого анализа.
Упражнение 12. Создание и применение расширенного фильтра
Сформируйте расширенный фильтр для отбора всех студентов, родившихся в данном месяце.
1.Откройте таблицу СТУДЕНТ.
2. Нажмите кнопку Расширенный фильтр или выполните команду Записи | Фильтр | Расширенный фильтр.
3. В окне фильтра перетащите из списка полей таблицы поле ДАТАР в строку бланка запроса Поле и используйте его в функции Month выделяющей из даты месяц. В строку Условие отбора введите вопрос, с которым система будет обращаться к пользователю при выполнии фильтрации (рис. 5.7). Квадратные скобки, в которые заключен вопрос указывают системе, что вопрос является параметром отбора, который будет вводиться пользователем в процессе диалога.
Рис.5.7. Расширенный фильтр таблицы СТУДЕНТ с запросом на выборку записей с заданным месяцем в дате рождения |
4. Выполните фильтрацию, нажав кнопку Применение фильтра .
5. В диалоговое окно запроса (рис. 5.8) введите значение месяца (например, 5).
Источник