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

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

Допустим, необходимо выбрать имена, фамилии сотрудников и наименования клиентов, у которых дата исполнения заказов превышает дату размещения на 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)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]