В данном примере условия должны быть заданы для двух полей: Наименование товара и Размер, а выводиться на экран должны коды и цены соответствующих товаров. Бланк запроса показан на рисунке 41.
Рис.41. Бланк запроса для примера 5.
Условия, заданные в соседних колонках бланка запроса, объединяются с использованием логической операции "И", то есть результатом выборки будут те записи, для которых все эти условия выполняются одновременно.
Поиск по двум таблицам
Пример 6. Вывести коды и наименования товаров, которые заказал клиент с кодом 100.
Сведения о кодах товаров, которые заказал клиент с определенным кодом, содержатся в таблице ЗАКАЗЫ, а наименования товаров находятся в таблице ТОВАРЫ. Следовательно, для ответа на вопрос надо организовать поиск по двум таблицам.
На вкладке Создание в группе Другие выбираем Конструктор запросов.
В окне Добавление таблицы добавляем 2 таблицы ЗАКАЗЫи ТОВАРЫ. Между этими таблицами нами была установлена связь, которая отображается в окне бланка запроса. Заполняем бланк запроса так, как показано на. рис.42:
Рис.42. Бланк запроса для примера 6
Запрос с параметром
Пример 7. Вывести список наименований товаров, заказанных клиентом, номер которого вводится с клавиатуры.
Запрос, в котором в условии отбора используется не константа, а введенное с клавиатуры значение, реализуется с помощью запроса с параметром. Запрос с параметром отличается от обычного запроса тем, что в поле УСЛОВИЕ ОТБОРА записывается не константа, по которой идет поиск по данному полю, а приглашение пользователю ввести значение для поиска. Это значит, что с помощью одного и того же запроса можно получать сведения о разных клиентах, вводя с клавиатуры соответствующие коды. Приглашение вводится в бланк запроса в виде текста, заключенного в квадратные скобки.
Таблицы включаются в запрос так же, как и в предыдущем примере. Бланк с приглашением для ввода показан на рисунке 43.
Рис.43. Бланк запроса для примера 7.
Запрос с вычислениями
Пример 8. Определить стоимость каждого заказа.
В таблице заказы есть сведения о количестве единиц заказанных товаров, но нет информации о стоимости заказа. Стоимость заказа можно вычислить, умножив число единиц товара на его цену. Вычисления можно произвести с помощью запроса с вычислением. Результат вычисления помещается в вычисляемое поле, которое будет существовать только в запросе (в базовой таблице никаких изменений не происходит).
На вкладке Создание в группе Другие выбираем Конструктор запросов.
В окне Добавление таблицы добавляем 2 таблицы ЗАКАЗЫи ТОВАРЫ. Между этими таблицами нами была установлена связь, которая отображается в окне бланка запроса.
В первых 3-х колонках бланка запроса устанавливаем имена полей Код клиента, Код товара, Количество единиц товара.
В четвертую колонку банка вводим формулу
Стоимость заказа: [Количество единиц товара]*[Цена].
Получаем бланк как на рисунке 44.
Рис.44. Бланк запроса для примера 8
Итоговый запрос
Пример 9. Определить суммарную стоимость заказов клиента с кодом 110.
Перед нами стоит задача: найти суммарную стоимость заказов конкретного клиента. Сведения о стоимости заказов содержатся не в базовой таблице, а в запросе Стоимость заказов. Поэтому входим в режим создания запроса с помощью конструктора и в окне «Добавление таблицы» выбираем вкладку Запросы. Из появившегося списка запросов выбираем Стоимость заказов и закрываем данное окно.
В первой колонке бланка запроса в строке Поле из списка полей выбираем Код клиента.
В строке Условие отбора для данного поля вводим код клиента 110.
Во второй колонке бланка запроса в строке Поле из списка полей выбираем Стоимость заказа.
Просуммировать значения в поле Стоимость заказа можно путем добавления в запрос строки итогов. Для этого сначала надо выполнить запрос (нажав кнопку с изображением красного восклицательного знака). Запрос становится доступным в режиме таблицы.
На вкладке Начальная страница в группе Записи выберите команду Итоги.
Рис.45. Команда Итоги.
В таблице появится новая строка Итог.
Рис.46. Добавление строки Итог в бланк запроса
В строке Итог щелкните ячейку в поле, по которому необходимо провести суммирование, и выберите в списке функцию Сумма.
Рис.47. Выбор функции Сумма
На экране появится результат вычисления суммарной стоимости заказов клиента с кодом 100.