Александр Днепров - Microsoft Access 2007
9. Щелкните кнопкой мыши на вкладке Конструктор , а затем нажмите кнопку Выполнить . Вы сможете увидеть результат измененного запроса (рис. 5.21).
Рис. 5.21. Результат запроса с внутренним соединением таблиц
Внешнее соединение таблиц
Внешние соединения таблиц могут быть двух видов – левые и правые. На языке SQL запрос с левым внешним соединением обозначается LEFT JOIN, а с правым – RIGHT JOIN. Запросы таблиц с левым внешним соединением отображают все записи первой таблицы, несмотря на то что имеются соответствующие им записи во второй таблице. Запросы с правым внешним обозначением работают наоборот.
Рассмотрите это на примере.
1. Откройте желаемую базу данных Microsoft Access 2007 ( Отдел продаж ).
2. Перейдите на вкладку Создания в группе Другие , нажмите кнопку Конструктор запросов . Будет создан новый запрос, и на экране вы увидите окно Добавление таблицы (см. рис. 5.7).
3. Перейдите на вкладку Таблицы и выберите нужную таблицу (например, Клиенты ), нажмите кнопку Добавить . Затем выберите другое имя таблицы (например, Заказы ) и также нажмите кнопку Добавить . По окончании данной процедуры нажмите кнопку Закрыть . Бланк запроса отобразится на экране, в верхней части которого вы увидите структуры таблиц и их связь.
4. Выберите необходимые поля из двух макетов таблиц двойным щелчком кнопки мыши (например, Имя , Телефон , Товар , Количество , Сумма ).
5. Если вы установите флажок Вывод на экран в столбце бланка запроса, отобразится данное поле запроса.
6. Вы также можете установить сортировку. Для этого щелкните кнопкой мыши на параметре Сортировка нужного вам поля. В раскрывающемся списке укажите подходящий тип сортировки. В результате вы получите бланк запроса.
7. Чтобы переключиться в режим SQL, на вкладке Конструктор в группе Результаты щелкните кнопкой мыши на стрелке под кнопкой Режим и в раскрывающемся списке выберите команду Режим SQL (см. рис. 5.13). При переключении в режим SQL откроется текст выбранного запроса (листинг 5.3).
...Листинг 5.3.
Исходный текст запроса
SELECT Клиенты. Имя, Клиенты. Телефон, Заказы. Товар, Заказы. Количество, Заказы. Сумма
FROM Клиенты INNER JOIN Заказы ON Клиенты. [Номер (ID)] = Заказы. Клиент
ORDER BY Заказы. Сумма;
8. Найдите строку FROM, замените текст INNER JOIN выражением LEFT JOIN (листинг 5.4).
...Листинг 5.4.
Запрос с левым внешним соединением
SELECT Клиенты. Имя, Клиенты. Телефон, Заказы. Товар, Заказы. Количество, Заказы. Сумма
FROM Клиенты LEFT JOIN Заказы ON Клиенты. [Номер (ID)] = Заказы. Клиент
ORDER BY Заказы. Сумма;
9. Нажав кнопку Сохранить на панели быстрого доступа, вы сохраните запрос. На экране появится окно ввода имени нового запроса.
10. В поле Имя запроса вы можете ввести название нового запроса. Затем нажмите кнопку ОК .
11. Щелкнув кнопкой мыши на вкладке Конструктор , а затем нажав кнопку Выполнить , вы сможете увидеть результат измененного запроса (рис. 5.22).
Рис. 5.22. Результат запроса с левым внешним соединением
Ниже будет рассмотрен пример создания запроса с параметрами.
Запросы с параметрами
Запрос с параметрами – это запрос, позволяющий выполнять один и тот же запрос, но с разными значениями в условии отбора. Он способствует упрощению схемы действий, так как не надо каждый раз повторять запрос с разными условиями, а достаточно ввести новое значение параметра.
Чтобы разобраться со способом создания запроса с параметрами в Microsoft Access 2007, выполните следующие действия.
1. Откройте желаемую базу данных Microsoft Access 2007 ( Отдел продаж ).
2. Перейдя на вкладку Создания в группе Другие , нажмите кнопку Конструктор запросов . Будет создан новый запрос, и на экране вы увидите окно Добавление таблицы (см. рис. 5.7).
3. Перейдите на вкладку Таблицы и выберите нужную вам таблицу (например, Клиенты ), нажмите кнопку Добавить , затем выберите другое имя таблицы (например, Заказы ) и также нажмите кнопку Добавить . По окончании данной процедуры нажмите кнопку Закрыть . Бланк запроса отобразится на экране, в верхней части которого вы увидите структуры таблиц и их связь.
4. Выберите необходимые поля из двух макетов таблиц двойным щелчком кнопки мыши на имени поля (например, Имя , Телефон , Товар , Количество , Сумма ).
5. Если вы установите флажок Вывод на экран в столбце бланка запроса, отобразится данное поле запроса.
6. Вы также можете установить сортировку, щелкнув кнопкой мыши на ячейке Сортировка в столбце бланка запроса и выбрав вариант в раскрывающемся списке.
7. Далее нужно ввести следующий пояснительный текст для требуемого поля, щелкнув кнопкой мыши на строке Условие отбора : =[Введите категорию контактов].
8. Снимите флажок Вывод на экран для выбранного поля. В результате вы получите бланк запроса, показанного на рис. 5.23.
Рис. 5.23. Готовый бланк запросаВ листинге 5.5 показан SQL-текст вашего созданного запроса.
...Листинг 5.5.
Запрос с параметром
SELECT Клиенты. Имя, Клиенты. Телефон, Заказы. Товар, Заказы. Количество, Заказы. Сумма
FROM Клиенты INNER JOIN Заказы ON Клиенты. [Номер (ID)] = Заказы. Клиент
WHERE (((Заказы. Сумма)=[Введите категорию контактов]))
ORDER BY Заказы. Сумма;
9. Нажмите кнопку Сохранить на панели быстрого доступа. На экране появится окно ввода имени нового запроса.
10. В поле Имя запроса вы можете ввести название нового запроса. Затем нажмите кнопку ОК .
11. Щелкните кнопкой мыши на вкладке Конструктор , а затем нажмите кнопку Выполнить . Вы увидите окно Введите значение параметра .
12. Введите в текстовом поле Введите категорию контактов название любой группы контактов и нажмите кнопку ОК . Появится результат запроса с введенным условием (рис. 5.24).
Рис. 5.24. Результат запроса с параметром
Итак, были разобраны способы создания сложных запросов. Далее будут рассмотрены вопросы, касающиеся использования запроса.
Использование запроса
Если вы создали запрос, то что нужно сделать для его запуска и как вывести на печать результаты выполнения запроса? Ответы на эти вопросы даны в этом разделе.
Выполнение запроса
Запрос – это обращение к данным для получения какой-либо информации либо выполнения действий над ними. Для этого следует запустить запрос, выполнив следующие действия.
1. Нужный запрос содержится в базе данных Access 2007. Откройте эту базу данных и в области переходов выберите желаемый запрос, дважды щелкнув кнопкой мыши на его имени.
2. Будет запущен выбранный запрос. И только в случае запроса с параметрами вам следует ввести в окно Введите значение параметра каждый параметр запроса и нажать кнопку ОК .
3. Когда запрос запустится, вы увидите на экране таблицу с результирующим набором данных, которые были выбраны из базы данных Microsoft Access 2007 для этого запроса.
О том, как вывести на печать полученные по запросу данные, будет рассказано далее.
Печать результатов запроса
Результаты запроса можно распечатать на принтере, выполнив следующее.
1. Нужный запрос содержится в базе данных Access 2007. Откройте эту базу данных и в области переходов выберите желаемый запрос, дважды щелкнув кнопкой мыши на его имени.
2. Выполните процедуру, описанную выше, учитывая дополнительные действия в случае запроса с параметрами.
3. Когда запрос будет запущен, вы увидите на экране таблицу с результирующим набором данных, которые были выбраны из базы данных Microsoft Access 2007 для этого запроса.
4. Нажмите кнопку Office . В списке выберите пункт Печать , после чего откроется окно Печать .
В этом окне вы можете установить следующие настройки.
• Выбрать принтер (выберите нужный принтер в раскрывающемся списке Имя ).
• Задать параметры работы выбранного принтера (нажмите кнопку Свойства ).
• Если необходимо, можно установить флажок Печать в файл .
• Настроить параметры страницы (нажмите кнопку Настройка ).
• Выбрать диапазон печатаемых страниц (установите переключатель в положение Все , Страницы или Выделенные записи в группе Печатать ).
• Распечатать копии таблицы результатов запроса (ввод нужного количества копий в поле Число копий ).