Если в запросе надо отобрать записи, отвечающие определенному условию, то это условие надо записать с помощью алгебры логики в строке «Условие отбора».
В этом поле допускается использование следующих операторов: =, >, <, <=, >=, Between, In, Like, And, Or, Not.
Если выражение в условии отбора не содержит оператора, то считается, что используется оператор =.
Если условие отбора содержит текстовые значения, то оно набирается в двойных кавычках. В текстовых значениях допускается использование символов подстановки * и ?. Звёздочка заменяет произвольное количество символов, а знак вопроса – только один символ. В частности, если получается, что внутри открывающих и закрывающих двойных кавычках есть другие двойные кавычки, то они заменяются на знак вопроса.
Оператор Between позволяет задать интервал для числового значения и даты. Оператор Between используется совместно с оператором And. Например, Between 10 And 60 задаёт интервал от 10 до 60.
Оператор In позволяет выполнить проверку на равенство любому значению из списка, который задаётся в круглых скобках. Например: In(“Иванов”;”Петров”;”Сидоров”).
Оператор Like используется для поиска в текстовых полях. Например, Like “Иванов*”.
Условия отбора, заданные в одной строке, связываются с помощью логической операции AND (И). Условия отбора, заданные в разных строках связываются с помощью логической операции OR (ИЛИ).
Например, если мы хотим получить сведения о продуктах, которые заказывали клиенты с кодами 20 и 40, то запрос может быть оформлен так:
Поле: |
Код клиента |
название |
Имя таблицы: |
заказы |
продукты |
Групповая операция: |
группировка |
группировка |
Сортировка: |
||
Вывод на экран: |
||
Условие отбора: |
20 OR 40 |
|
Или: |
Создание запросов с параметром, вычисляемым полем, итоговый и перекрёстный
Пусть мы хотим получить сведения о закупленных продуктах клиентом с кодом 20. Можно создать запрос, указав в строке «Условие отбора» код 20. Если затем нам потребуется получить те же сведения о клиенте с кодом 40, то можно открыть предыдущий запрос в режиме конструктора и исправить код 20 на 40. Но можно поступить и по другому. Создать запрос с параметром, который перед выполнением будет спрашивать для клиента с каким кодом выдать информацию. Для этого надо в строке «Условие отбора» вместо указания конкретного кода ввести поясняющий текст в квадратных скобках. В данном случае это может быть следующее пояснение: «введите код клиента».
Поле: |
Код клиента |
название |
Имя таблицы: |
заказы |
продукты |
Групповая операция: |
группировка |
группировка |
Сортировка: |
||
Вывод на экран: |
||
Условие отбора: |
[Введите код клиента] |
|
Или: |
Главное, чтобы текст приглашения не совпадал ни с одним именем поля и не было двух одинаковых текстов приглашения. Например, [введите код первого клиента] OR [введите код второго клиента].
Полей с параметром может быть несколько.
Создание перекрестного запроса
Перекрёстный запрос представляет собой таблицу с названиями строк, с названиями столбцов и данными, находящимися на пересечении строк и столбцов. Например, результат работы фирмы в следующем виде может быть получен с помощью перекрестного запроса.
Пастила фруктовая |
Крекер солёный |
Печенье Столичное |
|
Бистро «Париж» |
40 |
||
Ресторан «Барракуда» |
20 |
10 |
Перекрёстный запрос можно создавать или с помощью мастера перекрёстного запроса или сразу в режиме конструктора.
Если имеется таблица или запрос со всей необходимой для построения перекрёстного запроса информацией, то запрос лучше создавать с помощью мастера перекрестного запроса. Если такого объекта нет, то надо сначала создать запрос на выборку с необходимой информацией и на его основе создавать перекрёстный запрос.
Сначала надо щелкнуть по кнопке «Создать», выбрать строчку перекрёстный запрос и «ОК».
В появившемся окне выбрать таблицу или запрос с необходимыми данными и на кнопку «Далее».
На следующем шаге из списка доступные поля в список выбранные поля переместить поле, которое будет служить заголовками строк и «Далее».
На следующем шаге выделить поле, которое будет служить заголовками столбцов и на кнопку «Далее».
На следующем шаге надо выбрать поле, которое будет давать данные, и выбрать функцию, для обработки этих данных. Здесь же можно указать, надо ли вычислять сумму значений по каждой строке или нет. Если галочку у слова «Да» оставить, то сумма будет вычисляться. После щелчка по кнопке «Далее» появиться заключительное окно, в котором надо задать имя запросу и «Готово».
Использование построителя выражений
В различные моменты создания базы данных приходится вводить математические и логические выражения. Если вводимая формула достаточно проста и не содержит встроенных функций, то её вполне можно ввести самостоятельно с клавиатуры, но если она сложна и содержит встроенные функции – лучше её ввести с помощью построителя выражений.
Построитель выражения можно использовать при создании макета таблицы, создании запроса, создании формы и отчёта.
Если построитель выражений используется при создании таблицы, например, для ввода выражения в поле «Условие на значение», то после щелчка мышью в этом поле справа появится кнопка с тремя точками, щелчок по которой вызовет появление окна построителя выражения. Построитель выражения в этом случае можно также вызвать щелчком по кнопке с подсказкой «Построить» в панели инструментов окна конструктора.
В верхней части окна построителя выражений имеется область, в которой формируется выражение. Само выражение формируется из набора символов, которые можно вводить тремя способами.
Если курсор ввода находится в области ввода, то там и будут появляться вводимые с клавиатуры символы.
Кроме этого, щелчок по одной из кнопок с символами, расположенными ниже области ввода, приводит к появлению этого символа в выражении.
Ну и наконец, при щелчке по кнопке «Вставить», в область ввода будет добавлена строка, которая выделена в правом окне нижней части построителя выражений.
Левое окно нижней части построителя выражений содержит иерархическую структуру объектов, доступных в данный момент. Если на изображении папки присутствует знак плюс, то двойной щелчок по нему вызывает показ вложенных в эту папку объектов. После этого знак плюс превращается в знак минус, двойной щелчок по которому скрывает вложенные объекты.
Щелчок по папке без всяких символов приводит к отображению её содержимого в среднем окне.
Если выделить какую-либо строчку в среднем окне, то в крайнем правом окне будет отображено содержимое данной категории. На предыдущем рисунке выделенной оказалась строчка «Все», поэтому в правом окне присутствует список всех встроенных функций. Если вы точно знаете, какую функцию ищете, то в среднем окне и надо выделить именно эту категорию функций, что сократит список в правом окне и позволит быстрее найти то, что нужно.
Ну и наконец, если выделить в правом окне то что хотите вставить в выражение, то останется только щёлкнуть по кнопке «Вставить».
Редактирование выражения осуществляется в области ввода выражения обычным способом и с помощью кнопок «Отмена» и «Назад».
Контрольные вопросы
1. Что такое запрос с условием?
2. Где в запросе указываются условия отбора?
3. Какие операторы допускается использовать в условиях отбора?
4. Каким образом решается проблема, если условие отбора надо задать на текстовое поле, а значение в условии отбора содержит внутри двойные кавычки?
5. Какой логической операцией связываются условия отбора, записанные для разных полей в одной строке?
6. Какой логической операцией связываются условия отбора, записанные в разных строках?
7. Что такое запрос с параметром?
8. Как создать запрос с параметром в режиме конструктора?
9. Как в запросе создаётся вычисляемое поле?
10. Что такое перекрёстный запрос?
11. Как создать перекрёстный запрос в режиме конструктора?
12. Что такое построитель выражений?
13. Как вызвать построитель выражений в макете запроса?
14. Как пользоваться построителем выражений?
15. Где осуществляется редактирование выражения, формируемого в построителе выражений?