Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Access.doc
Скачиваний:
8
Добавлен:
06.12.2018
Размер:
1.05 Mб
Скачать

Основные логические операторы Логический оператор and

При вводе условий отбора для нескольких полей все выражения в строке Условие отбора или в строке Или должны принимать значение Истина для любой записи, включаемой в набор записей фильтра или запроса. Иными словами, Access выполняет логическую операцию AND над частными условиями отбора, находящимися в одной строке. Так, если для полей Группа и Фамилия таблицы «Студенты» базы данных Student97 заданы условия как на 3, то будут отобраны записи о студентках 102 группы с фамилией Ефимова.

Рис.9. Условия отбора связаны логическим оператором AND

Есть еще один способ задать несколько частных условий для одного поля, связанных оператором AND. Можно ввести все условия в одну ячейку строки Условие отбора, соединив их оператором AND (2, В).

Логический оператор or

Когда вы задаете для некоторого поля несколько частных условий отбора, соединенных логическим оператором OR, то для того, чтобы запись была отобрана фильтром или запросом, истинным должно быть хотя бы одно из них. Есть также два способа задать несколько частных условий для одного поля, связанных оператором OR. Можно ввести все условия в одну ячейку строки Условие отбора, соединив их оператором OR. Другой вариант: ввести каждое частное условие в отдельную ячейку строки Или. При использовании нескольких строк Или для отбора записи достаточно выполнения всех частных условий, заданных в одной из строк. Так, если для поля Город в таблице Разговоры базы данных «Телефонная компания» заданы условия как на рис. 10, то будут отобраны записи о разговорах с Москвой и С-Петербургом.

Рис.10. Условия отбора связаны логическим оператором OR

Примечание

Распространенной ошибкой является неправильное использование операторов Or и And при задании сложного условия отбора для одного поля. Так, если в приведенном примере по ошибке ввести выражение «Москва» and «С-Петербург» в строку Условие отбора для поля Город, это значит, вы просите Access найти записи, удовлетворяющие условию (Город = «Москва») and (Город = «С-Петербург»). Поскольку поле записи не может содержать более одного значения одновременно, то в результате вы не найдете ни одной записи, удовлетворяющей этому условию.

Логический оператор not

Иногда для ввода условия отбора записей используется логический оператор NOT (логическое отрицание). Так, для отбора из общего списка всех женщин для поля Пол, в которое вводятся значения «женский» или «мужской», достаточно ввести условие «женский». Однако мы получим тот же самый набор записей, и если введем условие «Not «мужской» (пол - не «мужской»).

Сочетание логических операторов And, Or и Not

На практике встречаются более сложные ситуации использования логических операторов And, Or и Not. Рассмотрим пример. Для отбора записей из таблицы Разговоры нашей базы данных в строки Условие отбора и несколько строк Или были введены условия

Рис.11. Ввод сложных условий отбора

Учитывая то, что условия, записанные в одной строчке, связываются логическим оператором And (русское «и»), а записанные в одном столбце союзом Or (русское «или»), «прочитаем» инструкцию Access по отбору записей: «Отобрать записи обо всех разговорах с Москвой и С-Петербургом, продолжавшиеся более трех минут (первая строка условия) ИЛИ всех разговорах после 12 февраля 2004 года, независимо от города (вторая строка условия) ИЛИ всех разговоров НЕ с Киевом, продолжавшихся более пяти минут (третья строка условия).