double arrow

Условия отбора записей


Условия отбора записей могут задаваться для одного или нескольких полей в строке Условие отбора(Criteria) бланка запроса (см. рис. 4.5).

Условием отбора является выражение, которое состоит из, операторов сравнения и операндов.

В качестве операндов выражения могут использоваться: литералы, константы, идентификаторы (ссылки).

Литералами являются конкретные значения, воспринимаемые Access так, как они записаны. В качестве литералов могут быть использованы числа, строковые значения, даты. Текстовые строки заключаются в двойные кавычки, даты — в знаки "#" (или одинарные кавычки (') в кодировке ANSI- 92). Например:567, "Информатика", #1-Января-2004# ('1- Января-2004 ' В ANSI-92).

Константами являются неизменяющиеся значения, которые определены в Access, например, Истина (True), Ложь (False), Null.

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

Во многих случаях ссылка на конкретное значение должна указывать точное его местоположение в иерархии объектов базы данных, начиная с объекта верхнего уровня. Если необходимо указать ссылку на поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, формы, отчета, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например, ссылка на поле в таблице примет ВИД: [Имя таблицы] ! [Имя поля], а ссылка насвойствоDefaultValue элемента управления дата заключения договора в форме договор:

Forms![ДОГОВОР]![ Дата заключения договора].DefaultValue.

Операторами сравнения и логическими операторами, использование которых допускается в выражении условия отбора, являются: =, <, >, о, <=,

>=, Between, In , Like , And, Or, Not.

Они определяют операцию над одним или несколькими операндами.

Если выражение в условии отбора не содержит оператора, то по умолчанию Используется оператор = .

Текстовые значения в выражении, если они содержат пробелы или знаки препинания, вводятся в двойных кавычках. В противном случае кавычки можно не вводить, они будут добавлены автоматически.

Допускается использование операторов шаблона — звездочка (*) и вопросительный знак (?) (ANSI-89) или знак процента (%) и подчеркивания (_) (ANSI-92).

Оператор Between позволяет задать интервал для числового значения и да­ты. Например:

Between 10 And 100 задает интервал от 10 до 100;

Between #01.01.1997* And #31.12.2003* задает интервал дат (в ANSI-92 вместо знака "#" используются одинарные кавычки (')).

Оператор in позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Например:

In("Математики";"Информатики"; " Истории")

Оператор Like позволяет работать с образцами, использующими символы шаблона при поиске в текстовых полях. Например:

Like "Иванов* " (ANSI-89) или Like "Иванов%" (ANSI-92)

Логические операторы and, or, not. Условия отбора, заданные в одной строке, связываются по умолчанию с помощью логической операции "И", заданные в разных строках— с помощью логической операции "ИЛИ". Эти операции могут быть также заданы явно в выражении условия отбора с помощью операторов and и or соответственно. Оператор not задает логическое отрицание условия.

После ввода выражения в бланк и нажатия клавиши <Enter> Access выполняет синтаксический анализ выражения.

Использование логических операций в условии отбора

Рассмотрим пример использования логических операций в формировании условий отбора.

Допустим, надо выбрать товары, цена которых не более 1000 руб. и НДС не более 10%, а также товары, цена которых более 2500 руб. Результат должен содержать наименование товара (наим_тов), его цену (цена) и НДС (СТАВКА_НДС).

Для создания запроса в режиме конструктора в окне базы данных выберем Объект Запросы(Queries) и щелкнем на значке Создание запроса в режиме конструктора(Create query in.Pesign view).

Появится окно запроса на выборку в режиме конструктора <Имя запроса>: запрос на выборку(Select Query) и диалоговое окно Добавление таблицы

<...> (Show Table <...>) (см. рис. 4.4). В диалоговом окне выберем таблицу товар и нажмем кнопку Добавить(Add). Выбранная таблица будет отображена в области схемы данных окна конструктора запроса на выборку (см. рис. 4.6). Закроем окно Добавление таблицы(Show Table).

Рис. 4-6. Окно конструктора запроса на выборку с логическими операциями в условии отбора

Для удаления таблицы из схемы данных запроса установите на нее курсор Мыши и нажмите клавишу <Delete>. Для добавления — нажмите кнопку

Отобразить таблицу(Иди) на панели инструментов конструктора запросов.

В окне конструктора запроса (см. рис. 4.6) перетащим из списка полей таблицы товар поля наим_тов, цена, стАВКА_ндс в столбцы бланка запроса в строкуПоле (Field).

Если вы по ошибке перетащили в бланке запроса ненужное поле, удалите его. Для этого переместите курсор в область маркировки столбца сверху, где он примет вид черной стрелки, направленной вниз, и щелкните кнопкой мыши. После того как столбец выделится, нажмите клавишу <Delete>.

В строке Вывод на экран(Show) отметьте поля, иначе они не будут включены в таблицу запроса.

Условия отбора оформим, как показано в бланке запроса на рис. 4.6. Между условиями, записанными в одной строке, выполняется логическая операция and. Между условиями, записанными в разных строках, выполняется логическая операция or.

Выполним запрос, нажав на панели конструктора запросов кнопку Запуск(Run) или кнопку Вид(View). На экране появится окно запроса в режиме таблицы с записями из таблицы товар, отвечающими заданным условиям отбора.

Сохраним запрос, нажав кнопку Сохранить(Save) и задав ему имя "Пример!". Заметим, что имя запроса не должно совпадать не только с именами имеющихся запросов, но и с именами таблиц в базе данных. Закроем текущий запрос по команде меню Файл|3акрыть(File|Close) или нажав кнопку окна запроса Закрыть(Close). Сохраненный запрос можно выполнить, выделив его в окне базы данных и нажав кнопку Открыть(Open).


Сейчас читают про: