Лабораторная работа № 17. MS Access. Анализ и изменение данных с помощью запросов
Создание запросов с параметрами
Пусть в созданной в предыдущей лабораторной работе БД «Учет выдачи и возврата книг» требуется получить сведения о книгах по определенной тематике, для этого необходимо создать запрос и в условие отбора ввести нужное значение:
В случае необходимости выдать сведения о книгах по другой тематике нужно изменить условие отбора. Для того чтобы не менять условие отбора каждый раз, можно создать запрос, в котором Наименование тематикибудет параметром, запрашиваемым при выполнении, для этого в строку Условие отбора для поля Наименование тематики ввести вместо конкретного значения приглашение к вводу параметра [Введите тематику:]:
После запуска такого запроса появится диалоговое окно с введенным вами приглашением к вводу параметра:
В результирующее множество запроса попадут все книги с тематикой Информатика, которые имеются в БД. Запрос может содержать не один, а несколько параметров, и все они по очереди будут запрашиваться при его выполнении.
Использование выражений в запросах с параметрами
При создании запроса часто используются выражения.
Выражение — это сочетание нескольких (или всех) из указанных элементов: встроенные или пользовательские функции, идентификаторы, операторы и константы.
Например, следующее выражение содержит все четыре элемента:
=Sum([Закупочная цена])*0,08
В данном примере Sum() — встроенная функция, [Закупочная цена] — идентификатор, * — математический оператор, а 0,08 — константа.
Логические операторы
Логические операторы применяются для объединения двух логических значений и возврата значения «истина», «ложь» или null.
Оператор | Назначение | Пример |
And | Возвращает значение «истина», если Выражение1 и Выражение2 истинны. | Выражение1 And Выражение2 |
Or | Возвращает значение «истина», если Выражение1 или Выражение2 истинны. | Выражение1 Or Выражение2 |
Eqv | Возвращает значение «истина», если Выражение1 и Выражение2 истинны или Выражение1 и Выражение2 ложны. | Выражение1 Eqv Выражение2 |
Not | Возвращает значение «истина», если выражение ложно. | Not Выражение |
Xor | Возвращает значение «истина», если истинно Выражение1 или Выражение2 (но не оба выражения). | Выражение1 Xor Выражение2 |
Специальные операторы
Принципы использования специальных операторов для возвращения значения «истина» или «ложь» представлены в следующей таблице.
Оператор | Назначение | Пример |
Is NullилиIs Not Null | Определяет, является ли значение Null или не Null. | Поле1 Is Not Null |
Like «шаблон» | Сопоставляет строковые значения с помощью логических операторов ? и *. | Поле1 Like "инструк*" |
Between значение1 And значение2 | Определяет, попадает ли числовое значение или значение даты в указанный диапазон. | Поле1 Between 1 And 10 - ИЛИ - Поле1 Between #07-01-07# And #12-31-07# |
In(значение1,значение2...) | Определяет, входит ли значение в набор значений. | Поле1 In ("красный","зеленый","синий") - OR - Поле1 In (1,5,7,9) |
Выражения можно использовать и в запросах с параметрами, например, запрос по выборке книг, выданных в определенный период, будет выглядеть следующим образом:
При вводе значений параметров типа Дата необходимо контролировать значения дат, для этого вызовите окно Параметры запроса (контекстное меню на свободном поле верхней панели запроса/ Параметры или Конструктор/ Показать или скрыть/ Параметры). В столбец Параметр введите значение параметра точно так, как он определен в условии отбора. В столбце Тип данных выберите из раскрывающегося списка тип Дата/время. Аналогично введите второй параметр:
Пример использования специального оператора In. Пусть требуется отобрать книги нескольких авторов. Это можно сделать двумя способами:
1 способ
2 способ
Выражения можно формировать с помощью Построителя выражений. Это средство предоставляет удобный доступ к именам полей и элементов управления, используемым в базе данных, а также к множеству других встроенных функций, применяемых во время написания выражений.
Построитель выражений предоставляет возможность поиска и вставки компонентов выражения, которые сложно запомнить, например идентификаторов (имен полей, таблиц, форм, запросов и т. д.), а также имен и аргументов функций.
С помощью Построителя выражений можно написать выражение «с нуля» или выбрать одно из готовых выражений для отображения номеров страниц, текущей даты, а также текущей даты и времени.
Поле выражения
Верхняя область Построителя содержит поле выражения, применяемое для формирования выражения. Можно ввести выражение в поле вручную или выбрать нужные элементы из трех столбцов в нижней области построителя, а затем вставить их в поле выражения. Чтобы добавить элемент, дважды щелкните его и нажмите кнопку Вставить.
Кнопки операторов
В средней части Построителя выражений отображаются кнопки для вставки в выражение наиболее распространенных арифметических и логических операторов. Чтобы вставить оператор в поле выражения, нажмите соответствующую кнопку. Чтобы отобразить более длинный список операторов, которые можно использовать в выражениях, щелкните папку Операторы в левом нижнем столбце, содержащую элементы выражения, а затем щелкните нужную категорию в среднем столбце. В правом столбце отобразятся все операторы выбранной категории. Чтобы вставить оператор, дважды щелкните его.
Элементы выражения
В нижней области содержатся три столбца.
В левом столбце отображаются папки с таблицами, запросами, формами и отчетами в базе данных, а также доступные встроенные функции и заданные пользователем функции, константы, операторы и часто используемые выражения.
В среднем столбце отображаются определенные элементы или типы элементов из папки, выбранной в левом столбце. Например, если выбрать в левом столбце Встроенные функции, то в среднем столбце появится список типов функций.