Опубликован: 30.10.2006 | Доступ: свободный | Студентов: 14717 / 7042 | Оценка: 4.14 / 3.95 | Длительность: 08:21:00
Специальности: Менеджер
Лекция 7:

Поиск и отбор информации

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >

Отбор информации по нескольким критериям

Команды Фильтр по выделенному (Filter By Selection), Фильтр для (Filter For) и Изменить фильтр (Filter By Form) позволяют легко и быстро извлечь из базы данных нужную информацию, пока фильтры остаются относительно простыми. Но предположим, что требуется найти сведения о заказах, отправленных в западные штаты в определенный период времени одной из двух фирм, занимающихся доставкой. В подобных ситуациях, когда нужно создать сложный фильтр, содержащий несколько условий отбора или выражений, можно воспользоваться командой Расширенный фильтр (Advanced Filter/Sort).

Построение расширенного фильтра осуществляется с помощью бланка, представленного на следующем рисунке.


Бланк построения может использоваться только для одной таблицы.

Совет. Если простой запрос, созданный в окне фильтра, предполагается использовать в дальнейшем, сохраните его в виде запроса. Это можно сделать с помощью команды Сохранить как запрос (Save As Query) в меню Файл (File) или кнопки Сохранить как запрос (Save As Query) на панели инструментов. Можно также щелкнуть правой кнопкой мыши в окне фильтра, а затем щелкнуть на команде Сохранить как запрос (Save As Query) в контекстном меню.
GardenCo

В этом упражнении вы воспользуетесь командой Расширенный фильтр (Advanced Filter/Sort), чтобы создать фильтр для отображения клиентов из двух штатов, а затем поэкспериментируете с бланком построения фильтра, чтобы оценить его возможности. В качестве рабочей будет использоваться папка Office XP SBS\Access\Chap12\AdvFilter. Выполните следующие шаги:

  1. Откройте базу данных GardenCo, расположенную в рабочей папке.
  2. На панели объектов щелкните на Таблицы (Tables), а затем щелкните дважды на таблице Клиенты, чтобы открыть ее в режиме таблицы.
  3. В меню Записи (Records) укажите на команду Фильтр (Filter), а затем щелкните на Расширенный фильтр (Advanced Filter/Sort). Откроется окно фильтра со списком полей таблицы Клиенты в верхней части.
  4. Если бланк построения не пустой, щелкните на команде Очистить бланк (Clear Grid) в меню Правка (Edit).
  5. Щелкните дважды на поле Фамилия, чтобы скопировать его в ячейку Поле (Field) первого столбца бланка.
  6. Щелкните в ячейке Условие отбора (Criteria) в столбце Фамилия, введите c* и нажмите на клавишу (Enter). Введенное значение будет преобразовано к виду: Like "c*".
  7. Прокрутите список полей таблицы Клиенты до конца и щелкните дважды на поле Штат, чтобы скопировать его в следующий свободный столбец бланка.
  8. Щелкните в ячейке Условие отбора (Criteria) в столбце Штат, введите Калифорния or Вашингтон и нажмите на клавишу (Enter). Введенное значение будет преобразовано к виду: "Калифорния" Or "Вашингтон", как показано ниже.

    Условие отбора определяет теперь клиентов из штатов Калифорния и Вашингтон, фамилии которых начинаются с буквы "С".
  9. В меню Фильтр (Filter) щелкните на команде Применить фильтр (Apply Filter/Sort), чтобы отобразить все записи, удовлетворяющие заданным условиям.

    Совет. Уменьшив размеры окон, можно одновременно видеть фильтр и таблицу.
  10. В меню Записи (Records) укажите на команду Фильтр (Filter), а затем щелкните на Расширенный фильтр (Advanced Filter/Sort), чтобы вернуться в окно фильтра.
  11. Щелкните в ячейке Или (Or) в столбце Фамилия, введите в* и нажмите на клавишу (Enter). Бланк построения будет выглядеть следующим образом.

  12. В меню Фильтр (Filter) щелкните на команде Применить фильтр (Apply Filter/Sort). При построении фильтра условия, заданные в одной строке, объединяются оператором И (And), а условия, заданные в разных строках - оператором Или (Or). Поэтому результаты отбора включают клиентов, проживающих в Калифорнии или Вашингтоне, фамилии которых начинаются с буквы "С", и клиентов с фамилиями, начинающимися с буквы "В", независимо от их местожительства.
  13. Вернитесь в окно фильтра, введите Калифорния or Вашингтон в ячейку Или (Or) в столбце Штат и нажмите на клавишу (Enter).
  14. Снова примените фильтр, чтобы отобразить клиентов только из штатов Калифорния и Вашингтон.
  15. Закройте таблицу Клиенты без сохранения изменений, а затем закройте базу данных.

Выражения

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

Используя выражения, можно создавать сложные критерии, которые включают несколько условий отбора, объединенных логическими, арифметическими операторами и операторами сравнения.

Наиболее распространенными логическими операторами являются И (And), Или (Or) и Нет (Not). Если условия отбора объединены оператором И (And), будут отобраны записи, удовлетворяющие всем условиям. При использовании оператора Или (Or) искомые записи должны соответствовать хотя бы одному из заданных условий, а оператор Нет (Not) отберет только те записи, которые не отвечают ни одному из условий отбора.

Операторы сравнения включают следующие символы: > (меньше чем), < (больше чем) и = (равно). Кроме того, часто используются комбинации основных операторов: <= (меньше или равно), >= (больше или равно) и <> (не равно). Операторы сравнения иногда используются в сочетании с оператором Like, который проверяет значения полей на соответствие образцу.

Арифметические операторы (сложение (+), вычитание (-), умножение (*) и деление (/)) используются для действий над числами. Близкий к ним оператор & используется для сцепления (текстовый аналог сложения) двух текстовых строк.

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Ксения Кострова
Ксения Кострова
Татьяна Романова
Татьяна Романова

Подскажите, пожалуйста, можно ли как-то в базе, состоящей из достаточно большого количества таблиц, определить те ячейки, которым присвоено значение "null". При обновлении базы постоянно всплывает ошибка, что 7ми полям присвоено данное значение. А как найти и "обезвредить" не могу разобраться. Заранее спасибо