Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Access 2007 А4 (3).doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
11.49 Mб
Скачать

4.4Запрос на основе связанных таблиц

Допустим, с целью анализа деятельности торговой фирмы требуется проследить, какие заказы и какими клиентами были сделаны в течение ноября 1993 года.

Для выполнения запроса нам потребуются таблицы Заказы и Клиенты. Как и в предыдущем пункте, открываем окна: Конструктора запросов и Добавление таблицы. Переносим в окно Конструктора запросов обе нужные нам таблицы: Заказы и Клиенты. Поскольку таблицы между собой связаны, то связи отражаются и в окне Конструктора запросов, что видно на рис. 4.9. Если связей нет, то их надо установить между одноимёнными полями таблиц. В нашем случае мы видим, что связь один-ко-многим протянута от таблицы Клиенты к таблице Заказы. Она соединяет одноимённые поля Клиент, причём у таблицы Клиенты это поле – ключевое.

Рис. 4.9 Конструктор запроса для запроса из двух таблиц

В нижнюю часть Конструктора запросов переносим поля, необходимые для запроса: Заказ, Клиент и Дата размещения из таблицы Заказы и поле Обращаться к… из таблицы Клиенты. Когда все поля запроса сформированы, можно вписать условие отбора записей – даты между 1 и 30 ноября 1993 года. Условие впечатывается в графу Условие отбора в поле Дата размещения: Between #1.11.93# And #30.11.93# (между 1.11.93 и 30.11.93). Знаки # можно не ставить, тогда после нажатия клавиши {Enter} условие будет принято, а числовые значения дат сами дополнятся знаками # (рис. 4.9). Знак позволяет Access отличить даты от текстовых строк.

Окончание создания запроса такое же, как и для однотабличного запроса, описанного в прошлом пункте. Дадим запросу имя Заказы ноября 1993.

Фрагмент готового запроса показан на рис. 4.10. Просмотр его на экране убеждает, что отобраны заказы именно ноября 1993 года. Всего из общего списка заказов, содержащего 1079 записей, отобрано 50 записей.

Рис. 4.10 Фрагмент готового запроса Заказы ноября 1993, созданный на основе двух таблиц

4.5Вычисления в полях запроса

В поля запроса можно вписывать формулы, по которым производятся вычислительные операции с числами, помещёнными в поля. Допустим, принято решение о повышении цен на все товары торговой фирмы на 5%. Требуется создать запрос, где были бы видны название товара, его старая и новая цена.

Рис. 4.11 Конструктор запроса Повышение цены на 5%

Запрос конструируется с участием одной таблицы Товары по тем же правилам, что описаны в пункте 4.3. Конструктор запроса показан на рис. 4.11. В нём видна и таблица Товары и поля запроса. Все поля, кроме последнего – НовЦена, взяты из таблицы Товары.

Имя поля НовЦена впечатывается непосредственно в нужную клетку вместе с расчётной формулой. Надо напечатать, точно соблюдая правописание: НовЦена:[Цена]*1,05.

Рис. 4.12 Диалоговое окно Окно свойств. Установка формата Денежный

Напоследок надо придать новому полю денежный формат. Для этого надо поставить курсор в любое место клетки НовЦена и щёлкнуть правой кнопкой мыши. В контекстном меню выбрать команду Свойства и щёлкнуть по ней левой кнопкой. Появится диалоговое окно Окно свойств (рис. 4.12). В правой части клетки Формат поля надо щёлкнуть по кнопке: . В раскрывшемся списке выбрать Денежный.

Рис. 4.13 Фрагмент готового запроса Повышение цены на 5%

Фрагмент готового запроса показан на рис. 4.13. В нём видны все поля, как перенесённые из таблицы Заказы, так и новое, вычисленное: НовЦена.