Чтение онлайн

на главную - закладки

Жанры

Microsoft Access 2007

Днепров Александр Г.

Шрифт:

Рис. 5.17. Готовый бланк запроса

7. Нажмите кнопку Сохранить на панели быстрого доступа, чтобы сохранить запрос. На экране появится окно ввода имени нового запроса.

8. В поле Имя запроса вы можете ввести название нового запроса. Затем нажмите кнопку ОК .

9. Перейдите на вкладку Конструктор , а затем нажмите кнопку Выполнить . После этого вы можете увидеть результат измененного запроса (рис. 5.18).

Рис. 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).

Рис. 5.19. Пустой бланк запроса, сверху видны структуры таблиц и их связь

4. Выберите необходимые поля из двух макетов таблиц двойным щелчком кнопки мыши на названии поля (например, Имя , Телефон , Адрес , Товар , Количество ).

5. Если вы установите флажок Вывод на экран в столбце бланка запроса, отобразится данное поле запроса.

6. Вы также можете установить сортировку, для этого щелкните кнопкой мыши на параметре Сортировка в столбце бланка запроса нужного вам поля. В открывающемся списке выберите нужный вариант сортировки (рис. 5.20).

Рис. 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. Откройте желаемую

базу данных 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. Готовый бланк запроса

Поделиться:
Популярные книги

Стеллар. Заклинатель

Прокофьев Роман Юрьевич
3. Стеллар
Фантастика:
боевая фантастика
8.43
рейтинг книги
Стеллар. Заклинатель

Потемкин

Елисеева Ольга Игоревна
916. Жизнь замечательных людей
Проза:
историческая проза
5.00
рейтинг книги
Потемкин

ЛЮБЛЮ

Дьяченко Алексей Иванович
Проза:
современная проза
5.75
рейтинг книги
ЛЮБЛЮ

Аристократ из прошлого тысячелетия

Еслер Андрей
3. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.25
рейтинг книги
Аристократ из прошлого тысячелетия

Толковая Библия. Ветхий Завет. Книги пророческие

Лопухин Александр Павлович
Религия и эзотерика:
православие
христианство
религия
5.00
рейтинг книги
Толковая Библия. Ветхий Завет. Книги пророческие

Моя пятнадцатая сказка

Свительская Елена Юрьевна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Моя пятнадцатая сказка

Рядовой. Назад в СССР. Книга 1

Гаусс Максим
1. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Рядовой. Назад в СССР. Книга 1

Хранители мечей

LitaWolf
3. Суженая из другого мира
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хранители мечей

Товарищи женщины!

Денисов Константин Владимирович
14. Магопокалипсис
Фантастика:
городское фэнтези
постапокалипсис
фэнтези
5.00
рейтинг книги
Товарищи женщины!

Зимопись. Книга 1. Как я был девочкой

Ингвин Петр
Фантастика:
фэнтези
5.00
рейтинг книги
Зимопись. Книга 1. Как я был девочкой

"Люди, годы, жизнь", книга VI

Эренбург Илья Григорьевич
Проза:
классическая проза
6.25
рейтинг книги
Люди, годы, жизнь, книга VI

Полное собрание стихотворений

Северянин Игорь Васильевич
Поэзия:
поэзия
6.25
рейтинг книги
Полное собрание стихотворений

Холодные деньки

Батчер Джим
Фантастика:
ужасы и мистика
детективная фантастика
5.00
рейтинг книги
Холодные деньки

Пламенев. Книга IX

Карелин Сергей Витальевич
9. Пламенев
Фантастика:
аниме
уся
сказочная фантастика
фэнтези
фантастика: прочее
5.00
рейтинг книги
Пламенев. Книга IX