Поиск и отбор информации
Отбор информации по нескольким критериям
Команды Фильтр по выделенному (Filter By Selection), Фильтр для (Filter For) и Изменить фильтр (Filter By Form) позволяют легко и быстро извлечь из базы данных нужную информацию, пока фильтры остаются относительно простыми. Но предположим, что требуется найти сведения о заказах, отправленных в западные штаты в определенный период времени одной из двух фирм, занимающихся доставкой. В подобных ситуациях, когда нужно создать сложный фильтр, содержащий несколько условий отбора или выражений, можно воспользоваться командой Расширенный фильтр (Advanced Filter/Sort).
Построение расширенного фильтра осуществляется с помощью бланка, представленного на следующем рисунке.
Бланк построения может использоваться только для одной таблицы.
В этом упражнении вы воспользуетесь командой Расширенный фильтр (Advanced Filter/Sort), чтобы создать фильтр для отображения клиентов из двух штатов, а затем поэкспериментируете с бланком построения фильтра, чтобы оценить его возможности. В качестве рабочей будет использоваться папка Office XP SBS\Access\Chap12\AdvFilter. Выполните следующие шаги:
- Откройте базу данных GardenCo, расположенную в рабочей папке.
- На панели объектов щелкните на Таблицы (Tables), а затем щелкните дважды на таблице Клиенты, чтобы открыть ее в режиме таблицы.
- В меню Записи (Records) укажите на команду Фильтр (Filter), а затем щелкните на Расширенный фильтр (Advanced Filter/Sort). Откроется окно фильтра со списком полей таблицы Клиенты в верхней части.
- Если бланк построения не пустой, щелкните на команде Очистить бланк (Clear Grid) в меню Правка (Edit).
- Щелкните дважды на поле Фамилия, чтобы скопировать его в ячейку Поле (Field) первого столбца бланка.
- Щелкните в ячейке Условие отбора (Criteria) в столбце Фамилия, введите c* и нажмите на клавишу (Enter). Введенное значение будет преобразовано к виду: Like "c*".
- Прокрутите список полей таблицы Клиенты до конца и щелкните дважды на поле Штат, чтобы скопировать его в следующий свободный столбец бланка.
- Щелкните в ячейке Условие отбора (Criteria) в столбце Штат, введите Калифорния or Вашингтон и нажмите на клавишу (Enter). Введенное значение будет преобразовано к виду: "Калифорния" Or "Вашингтон", как показано ниже. Условие отбора определяет теперь клиентов из штатов Калифорния и Вашингтон, фамилии которых начинаются с буквы "С".
- В меню Фильтр (Filter) щелкните на команде Применить фильтр (Apply Filter/Sort), чтобы отобразить все записи, удовлетворяющие заданным условиям.
Совет. Уменьшив размеры окон, можно одновременно видеть фильтр и таблицу.
- В меню Записи (Records) укажите на команду Фильтр (Filter), а затем щелкните на Расширенный фильтр (Advanced Filter/Sort), чтобы вернуться в окно фильтра.
- Щелкните в ячейке Или (Or) в столбце Фамилия, введите в* и нажмите на клавишу (Enter). Бланк построения будет выглядеть следующим образом.
- В меню Фильтр (Filter) щелкните на команде Применить фильтр (Apply Filter/Sort). При построении фильтра условия, заданные в одной строке, объединяются оператором И (And), а условия, заданные в разных строках - оператором Или (Or). Поэтому результаты отбора включают клиентов, проживающих в Калифорнии или Вашингтоне, фамилии которых начинаются с буквы "С", и клиентов с фамилиями, начинающимися с буквы "В", независимо от их местожительства.
- Вернитесь в окно фильтра, введите Калифорния or Вашингтон в ячейку Или (Or) в столбце Штат и нажмите на клавишу (Enter).
- Снова примените фильтр, чтобы отобразить клиентов только из штатов Калифорния и Вашингтон.
- Закройте таблицу Клиенты без сохранения изменений, а затем закройте базу данных.
Выражения
В Access выражение (expression) представляет собой сочетание операторов, констант, функций и свойств, определяющих конечный результат. Собственно, это часть формулы, распложенная справа от знака равенства. Выражения используются при определении свойств таблиц и форм, для вычисления значений в формах или отчетах, при построении запросов и во многих других ситуациях.
Используя выражения, можно создавать сложные критерии, которые включают несколько условий отбора, объединенных логическими, арифметическими операторами и операторами сравнения.
Наиболее распространенными логическими операторами являются И (And), Или (Or) и Нет (Not). Если условия отбора объединены оператором И (And), будут отобраны записи, удовлетворяющие всем условиям. При использовании оператора Или (Or) искомые записи должны соответствовать хотя бы одному из заданных условий, а оператор Нет (Not) отберет только те записи, которые не отвечают ни одному из условий отбора.
Операторы сравнения включают следующие символы: > (меньше чем), < (больше чем) и = (равно). Кроме того, часто используются комбинации основных операторов: <= (меньше или равно), >= (больше или равно) и <> (не равно). Операторы сравнения иногда используются в сочетании с оператором Like, который проверяет значения полей на соответствие образцу.
Арифметические операторы (сложение (+), вычитание (-), умножение (*) и деление (/)) используются для действий над числами. Близкий к ним оператор & используется для сцепления (текстовый аналог сложения) двух текстовых строк.