пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

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

Условия отбора записей могут задаваться для одного или нескольких полей в строке Условие отбора (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 <...>). В диалоговом окне выберем таблицу товар и нажмем кнопку Добавить (Add). Выбранная таблица будет отображена в области схемы данных окна конструктора запроса на выборку. Закроем окно Добавление таблицы (Show Table).

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

В окне конструктора запроса (см. рис. 4.6) перетащим из списка полей таблицы ТОВАР поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС в столбцы бланка запроса в строку Поле (Field).

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

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

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

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

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


хиты: 106
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь