Microsoft Access 2007
Шрифт:
Рис. 5.17. Готовый бланк запроса
7. Нажмите кнопку Сохранить на панели быстрого доступа, чтобы сохранить запрос. На экране появится окно ввода имени нового запроса.
8. В поле Имя запроса вы можете ввести название нового запроса. Затем нажмите кнопку ОК .
9. Перейдите на вкладку Конструктор , а затем нажмите кнопку Выполнить . После этого вы можете увидеть результат измененного запроса (рис. 5.18).
По двум и более таблицам базы данных можно создать запрос двумя способами. Практический пример данной ситуации представлен в следующем разделе.
Внутреннее соединение таблиц
В
• Внутреннее соединение – соединение также называют эквисоединением – один из самых распространенных типов соединения, которое может связывать записи в таблицах базы данных отношением равенства.
Access 2007 может автоматически создавать эквисоединения при наличии двух условий:
– если в таблице есть поля с идентичными именами, а также согласованными типами, причем хотя бы одно из этих полей должно быть ключевым;
– данное соединение было задано пользователем в окне Схема данных .
• Внешнее соединение – соединение, использующееся для создания запроса, который объединяет все записи из одной таблицы и записи из другой таблицы (но только те, в которых связанные поля совпадают).
• Соединение по отношению – тета-соединение необходимо использовать в том случае, если вы хотите связать данные любым отношением. Причем такое соединение не выводится в окне Конструктора и в окне Схемы данных .
• Рекурсивное соединение – еще один вид соединения для совмещения данных в одной таблице. Создается при добавлении в запрос копии таблицы, поля похожих таблиц связываются.
В Microsoft Access 2007 используются некоторые слова языка SQL:
• INNER JOIN – для указаний внутренних соединений;
• LEFT JOIN или RIGHT JOIN – для указания внешних соединений;
• WHERE поле1=поле2 – внутреннее соединение;
• WHERE поле1>поле2 – соединение по отношению.
Выполните следующие действия, чтобы создать запрос с внутренним соединением таблиц.
1. Откройте желаемую базу данных Microsoft Access 2007 ( Отдел продаж ).
2. Перейдя на вкладку Создания в группе Другие , нажмите кнопку Конструктор запросов . Будет создан новый запрос, и на экране вы увидите окно Добавление таблицы (см. рис. 5.7).
3. Перейдите на вкладку Таблицы и выберите нужную (например, Клиенты ), нажмите кнопку Добавить . После этого выберите другое имя таблицы (например, Заказы ) и также нажмите кнопку Добавить . По окончании данной процедуры нажмите кнопку Закрыть . Пустой бланк запроса отобразится на экране, в верхней части которого вы увидите структуры таблиц и их связь (рис. 5.19).
4. Выберите необходимые поля из двух макетов таблиц двойным щелчком кнопки мыши на названии поля (например, Имя , Телефон , Адрес , Товар , Количество ).
5. Если вы установите флажок Вывод на экран в столбце бланка запроса, отобразится данное поле запроса.
6. Вы также можете установить сортировку, для этого щелкните кнопкой мыши на параметре Сортировка в столбце бланка запроса нужного вам поля. В открывающемся списке выберите нужный вариант сортировки (рис. 5.20).
В листинге 5.2 приведен SQL-текст вашего запроса.
Листинг 5.2.
Запрос с внутренним соединением таблиц
SELECT Клиенты. Имя, Клиенты. Телефон, Клиенты. Адрес, Заказы. Товар, Заказы. Количество
FROM Клиенты INNER JOIN Заказы ON Клиенты. [Номер (ID)] = Заказы. Клиент;
7. Нажмите кнопку Сохранить на панели быстрого доступа, чтобы сохранить запрос. На экране появится окно ввода имени нового запроса.
8. В поле Имя запроса вы можете ввести название нового запроса. Затем нажмите кнопку ОК .
9. Щелкните кнопкой мыши на вкладке Конструктор , а затем нажмите кнопку Выполнить . Вы сможете увидеть результат измененного запроса (рис. 5.21).
Рис. 5.21. Результат запроса с внутренним соединением таблиц
Внешнее соединение таблиц
Внешние соединения таблиц могут быть двух видов – левые и правые. На языке SQL запрос с левым внешним соединением обозначается LEFT JOIN, а с правым – RIGHT JOIN. Запросы таблиц с левым внешним соединением отображают все записи первой таблицы, несмотря на то что имеются соответствующие им записи во второй таблице. Запросы с правым внешним обозначением работают наоборот.
Рассмотрите это на примере.
1. Откройте желаемую
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.
Стеллар. Заклинатель
3. Стеллар
Фантастика:
боевая фантастика
рейтинг книги
Потемкин
916. Жизнь замечательных людей
Проза:
историческая проза
рейтинг книги
ЛЮБЛЮ
Проза:
современная проза
рейтинг книги
Аристократ из прошлого тысячелетия
3. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Толковая Библия. Ветхий Завет. Книги пророческие
Религия и эзотерика:
православие
христианство
религия
рейтинг книги
Моя пятнадцатая сказка
Любовные романы:
любовно-фантастические романы
рейтинг книги
Рядовой. Назад в СССР. Книга 1
1. Второй шанс
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Хранители мечей
3. Суженая из другого мира
Любовные романы:
любовно-фантастические романы
рейтинг книги
Товарищи женщины!
14. Магопокалипсис
Фантастика:
городское фэнтези
постапокалипсис
фэнтези
рейтинг книги
Зимопись. Книга 1. Как я был девочкой
Фантастика:
фэнтези
рейтинг книги
"Люди, годы, жизнь", книга VI
Проза:
классическая проза
рейтинг книги