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

Допустим, с целью анализа деятельности торговой фирмы требуется проследить, какие заказы и какими клиентами были сделаны в течение ноября 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, созданный на основе двух таблиц