Запрос, использующий вычисляемые поля

Допустим, необходимо выбрать имена, фамилии сотрудников и наименования клиентов, у которых дата исполнения заказов превышает дату размещения на 20 дней и, кроме того, индекс начинается с буквы "S". Для этого добавьте в новый запрос таблицы Заказы, Клиенты и Сотрудники. Microsoft Access автоматически свяжет поля КодКлиента таблиц Клиенты и Заказы и поля КодСотрудника таблиц Заказы и Сотрудники, поскольку обе связи существуют на уровне базы данных (постоянные связи). В первом пустом поле бланка запроса (в строке Поле введите текст: Сотрудник: [Фамилия] & " " & [Имя] и установите порядок сортировки по возрастанию. Далее, добавьте в бланк поле Название из таблицы Клиенты и также установите для него порядок сортировки по возрастанию. В определение третьего поля введите строку: Дни: [ДатаИсполнения]-[ДатаРазмещения] и установите для него условие: >20. Последнее, что необходимо сделать — добавить в макет запроса поле Индекс из таблицы Клиенты, снять для него флажок Вывод на экран и добавить условие отбора Like "S*". Полученный запрос представлен на рис. 2.3 (режим конструктора, режим таблицы и SQL-оператор ).

Рис 2.3. Запрос, использующий вычисляемое поле

Пояснения

а). Для объединения значений полей Фамилия и Имя в поле Сотрудник используется операция конкатенации строк (&).

б). Оператор Like используется для проверки соответствия строки указанному шаблону. Полный синтаксис оператора Like:

результат — строка Like шаблон

Если строка соответствует шаблону, результатом будет Истина (True), иначе — Ложь (False). Если строка либо шаблон имеют значение Null (то есть, какое-либо значение отсутствует), то результат тоже будет иметь значение Null. Шаблон является строкой, которая кроме обычных символов, может содержать специальные символы. В таблице 2.1 приведено описание специальных символов, а в таблице 2.2 — примеры использования оператора Like.

в). Для того чтобы присвоить полю какое-нибудь имя, отличное от стандартных имен присваиваемых конструктором запросов автоматически, нужно ввести его в самом начале определения поля (в строке Поле) и указать после него двоеточие.

Таблица 2.1. Специальные символы, используемые с оператором Like

Символ Описание
? Любой одиночный символ.
* Любое количество символов (от нуля и больше).
# Любая цифра (от 0 до 9).
[A-Z] Любой символ, попадающий в указанный диапазон
[!A-Z] Любой символ, не попадающий в указанный диапазон
[A,D,H] Любой символ из указанного списка.
[!A,D,H] Любой символ, не попадающий в указанный список.

Таблица 2.2. Примеры использования оператора Like.

Пример Результат
"aBBBa" Like "a*a" Истина (True)
"F" Like "[A-Z] Истина (True)
"F" Like "[!A-Z]" Ложь (False)
"a2a" Like "a#a" Истина (True)
"aM5b" Like "a[L-P]#[!c-e]" Истина (True)
"BAT123khg" Like "B?T*" Истина (True)
"CAT123khg" Like "B?T*" Ложь (False)
"F" Like "[A,X,F]" Истина (True)
"Z" Like "[A,X,F]" Ложь (False)

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



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