- •Лабораторная работа № 5. Запросы на выборку
- •Программа работы
- •Краткие сведения
- •Виды запросов
- •Создание запроса на выборку Создание запроса. Окно Конструктора запросов
- •Добавление полей в запрос
- •Указание порядка сортировки
- •Задание условия отбора исходных данных
- •Применение параметров в запросе
- •Флажок вывода на экран
- •Изменение имени поля в запросе
- •Сохранение запроса
- •Выражения. Применение выражений в запросах
- •Элементы выражений
- •Операторы
- •Арифметические операторы
- •Операторы присваивания и сравнения
- •Логические операторы
- •Операторы слияния строковых значений (конкатенации)
- •Операторы идентификации "!" и "."
- •Другие операторы
- •Константы в явном представлении
- •Идентификаторы
- •Функции
- •Создание вычисляемых полей с использованием выражений
- •Построитель выражений
- •Создание выражения с помощью построителя выражений
- •Групповые операции
- •Порядок и методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
Операторы слияния строковых значений (конкатенации)
Операторы слияния строковых значений (конкатенации) объединяют два текстовых значения в единую строку знаков. Например, слияние строк ABC и DEF дает строку ABCDEF. Будучи стандартным символом конкатенации SQL, амперсанд (&) является предпочтительным оператором слияния в Access. Применение оператора + также допустимо, но двусмысленно, т.к. его основное назначение — сложение двух числовых операндов.
Операторы идентификации "!" и "."
Операторы "!" (восклицательный знак) и "." (точка) — разделители, выполняющие следующие операции:
Объединение имен классов объектов и имен объектов для отбора cпeцифических объектов или их свойств. Например, следующее выражение идентифицирует форму "Персональные мероприятия": Forms![Персональные мероприятия] Эта идентификация необходима, поскольку может существовать таблица под названием "Персональные мероприятия".
Различение имен объектов и имен свойств. Например, в выражении: Textbox2.FontSize = 8 Textbox2 — объект (элемент управления), a FontSize — свойство этого объекта (размер шрифта).
Идентификация определенных полей в таблицах. Например, следующее выражение определяет поле "Название" в таблице "Клиенты": Клиенты![Название]
Знак "!" применяется для разделения ссылок на объекты; вообще синтаксис таков: КлассОбъекта!ИмяОбъекта. Знак "." разделяет объекты и их свойства или методы по образцу:
КлассОбъекта!ИмяОбъекта.Свойство или
КлассОбъекта!ИмяОбъекта.Метод() .
Другие операторы
Остальные операторы Access относятся к операторам сравнения. Эти операторы возвращают True и False, в зависимости от соответствия значения в поле выбранной спецификации оператора. Эти операторы в условиях на значение принимают или отвергают вводимые данные, в зависимости от логического значения, возвращаемого выражением. Значение True приведет к включению записи в запрос, а значение False не включит ее. В табл. 5.4 приведен список четырех таких операторов Access
Таблица 5.4. Другие операторы
Оператор |
Описание |
Пример |
Is |
При использовании вместе с Null определяет, является ли значение Null или Not Null |
Is Null Is Not Null |
Like |
Определяет, начинается ли строковое значение с одного или более знаков (для правильной работы Like нужно добавить символ шаблона "*" или один или несколько символов "?") |
Like "Jon*" Like "FILE????" |
In |
Определяет, является ли строковое значение элементом списка значений |
In("СА", "OR", WA") |
Between |
Определяет, находится ли числовое значение в определенном диапазоне значений |
Between 1 And 5 |
Применение знаков (символов шаблона) "*" и "?" с оператором Like такое же, как и в программе поиска файлов. Символ шаблона "*" замещает любое число знаков, символ шаблона "?" замещает только один знак. Например, выражение Like "Jon*" возвращает True для таких значений, как "Jones" или "Jonathan". Выражение Like "*on*" возвращает True для любого значения, содержащего "on". Выражение Like "file????" возвращает True для FILENAME, но не для FILE002 или FILENUMBER.
Символы шаблона "*" и "?" могут предшествовать вводимым знакам, например, как в Like "*son" или в Like "????NAME".
Операторы этой категории, кроме Is, эквивалентны зарезервированным словам SQL like, In и BETWEEN. Access включает эти операторы для совместимости с SQL. Любой из них можно создать с помощью других oneраторов и функций Access.
Like "Jon*" InStr(LeftS(FieldName,3),"Jon")
In("CA","OR","WA") InStr("CAORWA",FieldName),
но в первом случае исключено двусмысленное соответствие по АО и RW.
Between I And 5 >= 1 And <= 5.