SlideShare a Scribd company logo
1
ТЕМА 3. РАБОТА С ДАННЫМИ ПРИ ПОМОЩИ ЗАПРОСОВ
Создание запросов на выборку в режиме конструктора
3.1. Откройте созданную ранее базу данных Библиотека: двойной щелчок мыши
по базе данных Библиотека / во всплывающем окне Предупреждение системы
безопасности нажмите Параметры / Включить это содержимое / ОК.
3.2. Создайте в режиме конструктора запрос для отбора записей о книгах
издательства БХВ-Петербург. Сохраните запрос в базе данных Библиотека под
именем Книги издательства БХВ-Петербург.
1) Создайте новый запрос в режиме конструктора: кнопка Создание на ленте окна
базы данных / Конструктор запросов.
2) Определите таблицы, необходимые для создания запроса: в открывшемся
диалоговом окне Добавление таблицы щелчком мыши выделите таблицу Книги /
кнопка Добавить / кнопка Закрыть.
3) Определите поля, необходимые для создания запроса:
добавьте в бланк запроса поле Автор: установите курсор мыши на поле Автор в
списке полей таблицы Книги в верхней части окна запроса / нажмите левую кнопку
мыши и, не отпуская, переместите поле Автор в первый столбец бланка запроса;
добавьте в бланк запроса поле Название: перенесите мышью поле Название из
списка полей таблицы Книги в верхней части окна запроса во второй столбец бланка
запроса;
добавьте в бланк запроса поле Город: двойной щелчок мышью по полю Город в
списке полей таблицы Книги в верхней части окна запроса (оно будет помещено в
следующий свободный столбец бланка запроса);
аналогичным образом добавьте в бланк запроса поля Издательство,
Количество страниц и Год издания.
4) Задайте сортировку записей динамической таблицы по возрастанию по полю
Год издания: щелчок мыши в строке Сортировка бланка запроса для поля Год издания /
выберите из списка по возрастанию.
5) Укажите, что все поля запроса должны выводиться на экран: проверьте наличие
флажков в строке Вывод на экран бланка запроса для всех добавленных полей.
6) Определите условие выбора данных: щелчок мыши в строке Условие отбора
бланка запроса для поля Издательство / введите БХВ-Петербург / Enter (после нажатия
Enter Microsoft Access проанализирует введенное выражение и, возможно, исправит
синтаксис. В данном случае к введенному тексту, используемому в качестве условия
отбора, автоматически будут добавлены кавычки).
7) Сохраните запрос под именем Книги издательства БХВ-Петербург: нажмите
/ в поле Имя запроса введите: Книги издательства БХВ-Петербург.
8) Выполните запрос и просмотрите его результаты в режиме таблицы: элемент
Режим / Режим таблицы.
9) Вернитесь в режим конструктора: элемент Режим / Конструктор.
10) Запустите запрос на выполнение другим способом: нажмите элемент
Конструктор на ленте окна базы данных / нажмите кнопку .
2
11) Закройте запрос Книги издательства БХВ-Петербург: нажмите кнопку
Закрыть «Книги издательства БХВ-Петербург» .
12) Запустите запрос на выполнение из окна базы данных: двойной щелчок мышью
по запросу Книги издательства БХВ-Петербург.
13) Закройте запрос Книги издательства БХВ-Петербург.
3.3. Создайте в режиме конструктора запрос для отбора записей о тематике
книг. Сохраните запрос в базе данных Библиотека под именем Книги по темам.
1) Создайте новый запрос в режиме конструктора: элемент Создание на ленте окна
базы данных / Конструктор запросов.
2) Определите таблицы, необходимые для создания запроса: в открывшемся
диалоговом окне Добавление таблицы щелчком мыши выделите таблицу Книги /
кнопка Добавить / щелчком мыши выделите таблицу Тематика книг / кнопка Добавить
/ Закрыть.
3) Определите поля, необходимые для создания запроса:
добавьте в бланк запроса поле Тема: установите курсор мыши на поле Тема в
списке полей таблицы Тематика книг в верхней части окна запроса / нажмите левую
кнопку мыши и, не отпуская, переместите поле Тема в первый столбец бланка запроса;
добавьте в бланк запроса все поля из таблицы Книги: перенесите мышью символ
* из списка полей таблицы Книги в верхней части окна запроса во второй столбец
бланка запроса (в строке Поле бланка запроса появится надпись Книги.*, что означает
выбор всех полей исходной таблицы).
4) Задайте сортировку записей динамической таблицы по возрастанию по полю
Тема: щелчок мыши в строке Сортировка бланка запроса для поля Тема / выберите из
списка по возрастанию.
5) Укажите, что все поля запроса должны выводиться на экран: проверьте наличие
флажков в строке Вывод на экран бланка запроса для всех добавленных полей.
6) Сохраните запрос под именем Книги по темам: нажмите / в поле Имя
запроса введите: Книги по темам.
7) Выполните запрос и просмотрите его результаты в режиме таблицы: элемент
Режим / Режим таблицы.
8) Закройте запрос Книги по темам.
Редактирование запросов на выборку
3.4. Измените структуру запроса Книги издательства БХВ-Петербург в
режиме конструктора.
1) Откройте запрос Книги издательства БХВ-Петербург в режиме конструктора:
двойной щелчок мышью по запросу Книги издательства БХВ-Петербург / элемент
Режим / элемент Конструктор на ленте окна базы данных.
2) Поменяйте местами поля Количество страниц и Год издания:
выделите поле Год издания: щелчок мыши в области маркировки столбца Год
издания сверху от имени поля (курсор должен принять вид черной стрелки,
направленной вниз);
установите курсор мыши в области маркировки столбца / нажмите левую кнопку
и, не отпуская, перемещайте мышку влево до тех пор, пока перед полем Количество
страниц не появится вертикальная разделительная линия.
3
3) Добавьте в запрос поле Стоимость, вставив его перед полем Количество
страниц: перенесите мышью поле Стоимость из списка полей таблицы Книги в верхней
части окна запроса в столбец Количество страниц бланка запроса (поле Количество
страниц будет перемещено на один столбец вправо).
4) Удалите поле Город из запроса: щелчком мыши в области маркировки столбца
выделите поле Город / Delete (или элемент Конструктор на ленте / Удалить столбцы).
5) Переименуйте поле Количество страниц в Объем в результирующей
динамической таблице: щелчком мыши установите текстовый курсор перед именем поля
Количество страниц / введите: Объем: (в результате получится следующее: Объем:
Количество страниц).
6) Выполните запрос / просмотрите его результаты в режиме таблицы и убедитесь
в наличии внесенных изменений.
7) Сохраните изменения структуры запроса.
8) Закройте запрос Книги издательства БХВ-Петербург.
3.5. Измените условие выбора данных для запроса Книги издательства БХВ-
Петербург. Сохраните измененный запрос под новым именем Тематика книг
издательства Эксмо.
1) Откройте запрос Книги издательства БХВ-Петербург в режиме конструктора:
двойной щелчок мышью по запросу Книги издательства БХВ-Петербург / элемент
Режим / элемент Конструктор на ленте окна базы данных.
2) Измените условие выбора данных: щелчок мыши в строке Условие отбора
бланка запроса для поля Издательство / используя Backspace или Delete, удалите старое
условие отбора / введите новое условие выбора данных: Эксмо / Enter.
3) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
4) Вернитесь в режим конструктора: элемент Режим / Конструктор.
5) Отмените вывод на экран поля Издательство: щелчком мыши снимите флажок в
строке Вывод на экран бланка запроса для поля Издательство (поле Издательство
будет использоваться для отбора данных, но в результирующей динамической таблице
присутствовать не будет).
6) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
7) Вернитесь в режим конструктора: элемент Режим / Конструктор.
8) Добавьте в запрос таблицу Тематика книг:
нажмите элемент Конструктор на ленте окна базы данных / Отобразить
таблицу;
в диалоговом окне Добавление таблицы выделите таблицу Тематика книг /
кнопка Добавить / кнопка Закрыть.
9) Добавьте в запрос поле Тема, вставив его правее имеющихся полей: двойной
щелчок мышью по полю Тема в списке полей таблицы Тематика книг в верхней части
окна запроса.
10) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
4
11) Сохраните измененный запрос под новым именем Тематика книг издательства
Эксмо: кнопка «Office» / нажмите Сохраните как… / в открывшемся окне
Сохранение в поле Сохранение объекта … в введите: Книги издательства Эксмо / в
поле Как оставьте Запрос / ОК.
Просмотр инструкции SQL для осуществления запроса
3.6. Просмотрите запрос Книги издательства БХВ-Петербург в режиме SQL.
Измените условие выбора данных. Сохраните измененный запрос под новым именем
Книги издательства Феникс.
1) Откройте запрос Книги издательства БХВ-Петербург в режиме конструктора:
двойной щелчок мышью по запросу Книги издательства БХВ-Петербург / элемент
Режим / Конструктор на ленте окна базы данных.
2) Просмотрите запрос в режиме SQL: элемент Режим / Режим SQL.
3) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
4) Вернитесь в режим SQL: элемент Режим / Режим SQL.
5) Измените условие выбора данных: в строке WHERE
(((Книги.Издательство)="БХВ-Петербург")) вместо БХВ-Петербург введите:
Феникс.
6) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
7) Переключитесь в режиме конструктора (элемент Режим / Конструктор) и
убедитесь в изменении условия отбора для поля Издательство в бланке запроса.
8) Сохраните измененный запрос под новым именем Книги издательства Феникс:
кнопка «Office» / нажмите Сохраните как… / в открывшемся окне Сохранение в
поле Сохранение объекта … в введите: Книги издательства Феникс / в поле Как
оставьте Запрос / ОК.
9) Закройте запрос Книги издательства Феникс.
Создание запросов с условием отбора
3.7. Создайте в режиме конструктора запрос для отбора записей о читателях,
первая буква фамилии которых находится в диапазоне от «а» до «л». Сохраните
запрос в базе данных Библиотека под именем Читатели с фамилиями от а до л.
1) Создайте новый запрос в режиме конструктора.
2) Добавьте в запрос таблицу Читатели.
3) Перенесите в бланк запроса поля Фамилия, Имя, Отчество, Место работы и
Должность.
4) Определите сортировку записей динамической таблицы в алфавитном порядке
по полю Фамилия.
5) Задайте условие отбора для поля Фамилия: Like "[а-л]*".
6) Сохраните запрос под именем Читатели с фамилиями от а до л.
7) Выполните запрос и просмотрите его результаты в режиме таблицы.
8) Закройте запрос.
5
3.8. Создайте в режиме конструктора запрос для отбора записей о читателях,
для которых в таблице Читатели указан телефон. Сохраните запрос в базе данных
Библиотека под именем Телефоны читателей.
1) Создайте новый запрос в режиме конструктора.
2) Добавьте в запрос таблицу Читатели.
3) Перенесите в бланк запроса поля Фамилия, Имя, Отчество, Место работы,
Должность и Телефон.
4) Определите сортировку записей динамической таблицы в алфавитном порядке
по полю Фамилия.
5) Задайте условие отбора для поля Телефон: Is Not Null.
6) Сохраните запрос под именем Телефоны читателей.
7) Выполните запрос и просмотрите его результаты в режиме таблицы.
8) Закройте запрос.
3.9. Создайте в режиме конструктора запрос для отбора данных о читателях,
пользовавшихся библиотекой во II квартале 2013 года. Сохраните запрос в базе
данных Библиотека под именем Читатели за II квартал 2013 года.
1) Создайте новый запрос в режиме конструктора.
2) Добавьте в запрос таблицу Читатели и Выдачи.
3) Перенесите в бланк запроса поля Фамилия, Имя, Отчество, Место работы,
Должность и Телефон из таблицы Читатели, Дата выдачи из таблицы Выдачи.
4) Определите сортировку записей динамической таблицы по убыванию по полю
Дата выдачи.
5) Задайте условие отбора для поля Дата выдачи таблицы Выдачи: Between
#01.04.2013# And #30.06.2013#.
6) Сохраните запрос под именем Читатели за II квартал 2013 года.
7) Выполните запрос и просмотрите его результаты в режиме таблицы.
8) Закройте запрос.
3.10. Создайте в режиме конструктора запрос для отбора данных о книгах,
выданных читателям и не возвращенных пока в библиотеку. Сохраните запрос в
базе данных Библиотека под именем Выдано.
1) Создайте новый запрос в режиме конструктора.
2) Добавьте в запрос таблицу Книги, Читатели и Выдачи.
3) Перенесите в бланк запроса поля Код книги, Автор и Название из таблицы
Книги; Код читателя, Фамилия, Имя, Отчество и Телефон из таблицы Читатели,
Отметка о возврате и Дата выдачи из таблицы Выдачи.
4) Определите сортировку записей динамической таблицы по возрастанию по
полю Код книги.
5) Задайте условие отбора для поля Отметка о возврате таблицы Выдачи: Нет.
6) Сохраните запрос под именем Выдано.
7) Выполните запрос и просмотрите его результаты в режиме таблицы.
8) Закройте запрос.
6
Создание запросов с использованием мастера
3.11. Создайте с помощью мастера запрос для отбора записей о книгах, на
текущий момент имеющихся в наличии в библиотеке (возвращенных читателями в
библиотеку либо не востребованных). Сохраните запрос в базе данных Библиотека
под именем Книги в наличии.
1) Создайте с помощью мастера новый запрос для выбора записей из таблицы
Книги, для которых не существует связанных записей в запросе Выдано (т.е. книг,
возвращенных читателями в библиотеку либо не востребованных):
кнопка Создание на ленте окна базы данных / Мастер запросов / в диалоговом
окне Новый запрос выберите Записи без подчиненных / ОК;
определите таблицу, содержащую необходимые данные: в списке таблиц базы
данных выберите таблицу Книги / кнопка Далее;
определите объект, содержащий подчиненные записи: в разделе Показать
установите переключатель Запросы / в списке запросов базы данных выберите запрос
Выдано / кнопка Далее;
выберите поля, которые будут использоваться для объединения информации из
таблицы Книги и запроса Выдано: в списке Поля в 'Книги' выделите поле Код книги / в
списке Поля в 'Выдано' выделите поле Код книги / (в разделе Соответствие
появится надпись: Код книги <=> Код книги) / кнопка Далее;
выберите поля для отображения в результате выполнения запроса: для переноса
в список Выбранные поля всех доступных полей / кнопка Далее;
в качестве имени запроса в поле Задайте имя запроса введите: Книги в
наличии / в разделе Дальнейшие действия после создания запроса установите
переключатель Просмотреть результаты запроса / кнопка Готово.
2) Изучите структуру запроса в режиме конструктора:
переключитесь в режим конструктора: элемент Режим / Конструктор;
просмотрите параметры связи между таблицей Книги и запросом Выдано:
двойной щелчок мышью по линии связи (параметр Объединение ВСЕХ записей из
"Книги" и не только тех записей из "Выдано", в которых связанные поля совпадают,
установленный в диалоговом окне Параметры объединения, позволяет выбрать из
таблицы Книги не только книги, возвращенные читателями в библиотеку, но и книги,
которые никогда не выдавались) / закройте диалоговое окно Параметры объединения
щелчком по кнопке ОК;
просмотрите параметры, определенные мастером для поля Код книги запроса
Выдано (условие отбора Is Null позволяет отобрать только те записи из таблицы Книги,
для которых не существует связанных записей в запросе Выдано, само же поле Код
книги запроса Выдано не отображается на экране).
3) Закройте запрос Книги в наличии.
Создание запросов с несколькими условиями отбора
3.12. Создайте в режиме конструктора запрос для отбора записей о книгах,
изданных в Санкт-Петербурге или Москве. Сохраните запрос в базе данных
Библиотека под именем Книги, изданные в Санкт-Петербурге и Москве.
1) Создайте новый запрос в режиме конструктора: элемент Создание на ленте окна
базы данных / Конструктор запросов.
7
2) Определите таблицы, необходимые для создания запроса: в диалоговом окне
Добавление таблицы выделите таблицу Книги / кнопка Добавить / кнопка Закрыть.
3) Определите поля, необходимые для создания запроса: перенесите в бланк
запроса поля Автор, Название, Город, Издательство, Год издания, Количество
страниц и Стоимость.
4) Задайте сортировку записей динамической таблицы по убыванию по полю
Стоимость: в строке Сортировка бланка запроса для поля Стоимость выберите из
списка по убыванию.
5) Укажите, что на экран должны выводиться все поля запроса: проверьте наличие
флажков в строке Вывод на экран бланка запроса для всех добавленных полей.
6) Определите условие выбора данных: в строку Условие отбора бланка запроса
для поля Город введите: "Санкт-Петербург" / в строку или бланка запроса для этого же
поля введите: "Москва" (или в строку Условие отбора бланка запроса для поля Город
введите: "Санкт-Петербург" Or "Москва").
7) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
8) Сохраните запрос под именем Книги, изданные в Санкт-Петербурге и
Москве.
9) Закройте запрос.
3.13. На основе запроса Книги, изданные в Санкт-Петербурге и Москве,
создайте запрос для отбора записей о книгах, изданных в Москве в 2012 году.
Сохраните измененный запрос под новым именем Книги, изданные в Москве в 2012
году.
1) Откройте запрос Книги, изданные в Санкт-Петербурге и Москве в режиме
конструктора: двойной щелчок мышью по запросу Книги, изданные в Санкт-
Петербурге и Москве / элемент Режим / Конструктор на ленте окна базы данных.
2) Измените условие выбора данных: в строке Условие отбора бланка запроса для
поля Город оставьте только "Москва", строка или бланка запроса для этого же поля
должна быть пусто / в строку Условие отбора бланка запроса для поля Год издания
введите: 2012 (или =2012).
3) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
4) Сохраните измененный запрос под новым именем Книги, изданные в Москве в
2012 году: кнопка «Office» / нажмите Сохраните как… / в открывшемся окне
Сохранение в поле Сохранение объекта … в введите: Книги, изданные в Москве в
2012 году / в поле Как оставьте Запрос / ОК.
5) Закройте запрос.
Создание вычисляемых полей. Работа с построителем выражений
3.14. Измените запрос Книги, изданные в Москве в 2012 году, с учетом того,
что стоимость этих книг выросла на 10%. Сохраните измененный запрос под новым
именем Новые цены книг, изданных в Москве в 2012 году.
8
1) Откройте запрос Книги, изданные в Москве в 2012 году в режиме конструктора:
двойной щелчок мышью по запросу Книги, изданные в Москве в 2012 году / элемент
Режим / Конструктор на ленте окна базы данных.
2) Добавьте в запрос вычисляемое поле для расчета новой стоимости книг: в
пустую ячейку строки Поле бланка запроса (после поля Стоимость) введите выражение:
[Стоимость]*1,1 / Enter (после нажатия на Enter вычисляемому полю автоматически
присваивается имя типа Выражение 1, 2 и т.д.).
3) Укажите, что вычисляемое поле должно выводиться на экран: проверьте
наличие флажков в строке Вывод на экран бланка запроса для вычисляемого поля.
4) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
5) Вернитесь в режим конструктора: элемент Режим / Конструктор на ленте окна
базы данных.
6) Присвойте вычисляемому полю имя Новая цена: щелчком мыши установите
текстовый курсор в строку Поле для вычисляемого поля запроса / используя Backspace
или Delete, удалите старое имя вычисляемого поля (Выражение1) / введите новое имя:
Новая цена (в результате получится: Новая цена: [Стоимость]*1,1).
7) Определите для вычисляемого поля денежный формат:
щелчком мыши в области маркировки столбца выделите вычисляемое поле /
элемент Конструктор на ленте окна базы данных / Страница свойств;
вкладка Общие диалогового окна Окно свойств / в строке Формат поля
выберите из списка Денежный (не закрывайте диалоговое окно Окно свойств).
8) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
9) Вернитесь в режим конструктора.
10) Измените число десятичных знаков для вычисляемого поля:
в диалоговом окне Окно свойств в строке Число десятичных знаков выберите
из списка 0;
закройте диалоговое окно Окно свойств (кнопка строки заголовка окна).
11) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
12) Сохраните измененный запрос под новым именем Новые цены книг, изданные
в Москве в 2012 году: кнопка «Office» / нажмите Сохраните как… / в открывшемся
окне Сохранение в поле Сохранение объекта … в введите: Новые цены книг,
изданные в Москве в 2012 году / в поле Как оставьте Запрос / ОК.
13) Закройте запрос.
3.15. На основе таблицы Читатели создайте запрос, в котором будет
представлено текстовое поле, содержащее значение поля Фамилия, пробел,
значение поля Имя, пробел и значение поля Отчество. Отберите данные о
читателях, пользовавшихся книгами из библиотеки в 2013 году.
1) Создайте новый запрос в режиме конструктора: элемент Создание на ленте окна
базы данных / Конструктор запросов.
9
2) Определите таблицы, необходимые для создания запроса: в диалоговом окне
Добавление таблицы выделите таблицу Выдачи / нажмите Ctrl и, не отпуская,
щелчком мыши выделите таблицу Читатели / кнопка Добавить / кнопка Закрыть.
3) С использованием построителя выражений создайте вычисляемое поле для
объединения значений полей Фамилия, Имя и Отчество:
установите текстовый курсор в пустую ячейку строки Поле бланка запроса /
нажмите на кнопку на ленте окна базы данных;
в левом списке нижней части окна построителя выражений двойным щелчком
откройте папку Таблицы / щелчок по таблице Читатели (при этом в среднем списке
отобразятся поля выбранной таблицы) / выделите поле Фамилия / кнопка Вставить или
двойной щелчок мышью по полю Фамилия (в верхнем поле окна построителя
выражений появится ссылка на поле Фамилия таблицы Читатели:
[Читатели]![Фамилия]);
/ введите: " " / / в среднем поле выделите поле Имя / кнопка Вставить
или двойной щелчок мышью по полю Имя / / введите: " " / / в среднем поле
выделите поле Отчество / кнопка Вставить или двойной щелчок мышью по полю
Отчество (в результате в верхнем поле построителя получится: [Читатели]![Фамилия]
& " " & [Читатели]![Имя] & " " & [Читатели]![Отчество]) / ОК (созданное
выражение будет вставлено в ячейку строки Поле, из которой и был вызван построитель
выражений) / Enter.
4) Присвойте вычисляемому полю имя Читатель: щелчком мыши установите
текстовый курсор в строку Поле для вычисляемого поля запроса / откорректируйте
выражение так, чтобы в результате получилось: Читатель: [Читатели]![Фамилия] & "
" & [Читатели]![Имя] & " " & [Читатели]![Отчество].
5) Просмотрите введенное выражение, не прибегая к его прокрутке, в отдельном
окне: установите курсор в строке Поле для вычисляемого поля Читатель / Shift+F2.
6) Закройте окно Область ввода / ОК.
7) Задайте сортировку записей динамической таблицы в алфавитном порядке по
полю Читатель: в строке Сортировка бланка запроса для поля Читатель выберите из
списка по возрастанию.
8) Укажите, что вычисляемое поле должно выводиться на экран: проверьте
наличие флажка в строке Вывод на экран бланка запроса для вычисляемого поля.
9) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
10) Вернитесь в режим конструктора.
11) С использованием построителя выражений добавьте в запрос вычисляемое поле
для определения года выдачи книг читателям:
установите текстовый курсор в следующую пустую ячейку строки Поле бланка
запроса / нажмите на кнопку на ленте окна базы данных;
в левом списке нижней части окна построителя выражений двойным щелчком
откройте папку Функции / щелчок по папке Встроенные функции (при этом в среднем
поле отобразится список категорий встроенных функций) / щелчком мыши выберите
категорию Дата/время (при этом в правом поле отобразится список функций из
выбранной категории) / выделите функцию Year / кнопка Вставить или двойной щелчок
10
мышью по функции Year (в верхнем поле окна построителя выражений появится
выбранная функция в виде: Year («number»). Обратите внимание, что в качестве
аргументов функций Microsoft Access вставляет прототипы, заключенные в двойные
угловые кавычки, вместо которых необходимо подставить нужные элементы);
удалите вставленный Microsoft Access прототип и вставьте вместо него поле
Дата выдачи из таблицы Выдачи: удалите прототип «number» / в левом списке нижней
части окна построителя выражений двойным щелчком откройте папку Таблицы /
щелчок по таблице Выдачи (при этом в среднем списке отобразятся поля выбранной
таблицы) / двойной щелчок мышью по полю Дата выдачи (в результате в верхнем поле
построителя получится: Year([Выдачи]![Дата выдачи])) / ОК / после вставки
выражения в ячейку строки Поле нажмите клавишу Enter.
12) Присвойте вычисляемому поля имя Год (результат: Год: Year([Выдачи]![Дата
выдачи])).
13) Укажите, что вычисляемое поле должно выводиться на экран: проверьте
наличие флажка в строке Вывод на экран бланка запроса для вычисляемого поля.
14) Для проверки работы функции Year добавьте в бланк запроса поле Дата
выдачи из таблицы Выдачи и задайте для него дополнительную сортировку записей
динамической таблицы по возрастанию.
15) Выполните запрос, просмотрите его результаты в режиме таблицы: нажмите
кнопку , проверьте работу вычисляемого поля Год.
16) Вернитесь в режим конструктора / удалите поле Дата выдачи из запроса.
17) Добавьте в запрос условие отбора для выбора читателей, пользовавшихся
книгами из библиотеки в 2013 году: в строку Условие отбора бланка запроса для
вычисляемого поля Год введите: 2013 (или =2013).
18) Укажите, что записи динамической таблицы должны содержать только
уникальные значения: вернитесь в режим конструктора / щелчок мыши в любом месте
окна запроса вне бланка запроса и списков полей / Страница свойств / в диалоговом
окне Свойства запроса в строке Уникальные значения выберите из списка Да /
закройте диалоговое окно Свойства запроса.
19) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите
кнопку .
20) Сохраните запрос под именем Читатели 2013.
21) Закройте запрос Читатели 2013.
Создание итоговых запросов
3.16. Создайте итоговый запрос, содержащий список издательств и общую
стоимость книг, изданных каждым издательством и имеющихся в библиотеке.
1) Создайте новый запрос в режиме конструктора.
2) Добавьте в запрос таблицу Книги.
3) Определите поля, необходимые для создания итогового запроса: перенесите в
бланк запроса поля Издательство и Стоимость.
4) Включите отображение строки Групповая операция в бланке запроса: нажмите
элемент Конструктор / (Итоги) (по умолчанию для всех полей, добавленных в бланк
запроса, в строке Групповая операция устанавливается значение Группировка).
11
5) Укажите, что для каждого издательства должна быть вычислена общая
стоимость книг, имеющихся в библиотеке: в строке Групповая операция бланка запроса
для поля Стоимость выберите из списка функцию Sum.
6) Задайте сортировку записей динамической таблицы по убыванию по итоговому
полю: в строке Сортировка бланка запроса для поля Стоимость, используемого для
вычисления итогов, выберите из списка по убыванию.
7) Выполните запрос и просмотрите его результаты в режиме таблицы.
Замечание. Обратите внимание, что если вычисляемое поле определяется с
помощью групповой функции, то в качестве имени, под которым поле выводится в
режиме таблицы, используется подпись, создаваемая путем объединения имени функции
и имени поля, содержащего данные, - Sum-Стоимость.
8) Вернитесь в режим конструктора.
9) Присвойте вычисляемому поля имя Общая стоимость книг: щелчком мыши
установите текстовый курсор перед именем поля Стоимость / введите: Общая
стоимость книг:.
10) Еще раз выполните запрос и просмотрите его результаты в режиме таблицы.
11) Сохраните запрос под именем Стоимость книг по издательствам.
12) Закройте запрос Стоимость книг по издательствам.
3.17. На основе запроса Читатели 2013 года создайте итоговый запрос, в
котором для каждого читателя должно быть вычислено общее количество книг,
заказанных в 2013 году. Задайте отображение на экран информации о тройке самых
активных читателей 2013 года.
1) Откройте запрос Читатели 2013 года в режиме конструктора.
2) Добавьте в бланк запроса поле Код книги из таблицы Выдачи.
3) Включите отображение строки Групповая операция в бланке запроса: нажмите
элемент Конструктор на ленте окна базы данных / .
4) Укажите, что для каждого читателя должно быть вычислено общее количество
книг, заказанных в 2013 году:
для поля Код книги в строке Групповая операция бланка запроса выберите из
списка функцию Count;
для вычисляемого поля Год в строке Групповая операция бланка запроса
выберите из списка Условие (для этого поля автоматически будет снят флажок Вывод
на экран).
5) Отмените сортировку записей динамической таблицы по вычисляемому полю
Читатель: в строке Сортировка бланка запроса для поля Читатель выберите из списка
(отсутствует).
6) Задайте сортировку записей динамической таблицы по убыванию по итоговому
полю: в строке Сортировка бланка запроса для поля Код книги, используемого для
вычисления итогов, выберите из списка по убыванию.
7) С использованием окна Область ввода присвойте итоговому полю имя
Количество заказанных книг: щелчком мыши установите текстовый курсор внутри
имени поля Код книги / откройте окно Область ввода (Shift+F2) / перед именем поля
Код книги введите: Количество заказанных книг: / ОК.
8) Выполните запрос и просмотрите его результаты в режиме таблицы, обратив
внимание на порядок сортировки записей.
9) Вернитесь в режим конструктора.
12
10) Укажите, что динамическая таблица должна содержать только один набор
значений (в данном случае – запись с информацией о трех самых активных читателях):
щелчок мыши в любом месте окна запроса вне бланка запроса и списков полей / в
диалоговом окне Окно свойств в строке Набор значений вместо указанного значения
введите: 3 / закройте диалоговое окно Окно свойств.
11) Выполните запрос.
12) Сохраните измененный запрос под новым именем Новые цены книг, изданные
в Москве в 2012 году: кнопка «Office» / нажмите Сохраните как… / в открывшемся
окне Сохранение в поле Сохранение объекта … в введите: Тройка самых активных
читателей 2013 года / в поле Как оставьте Запрос / ОК.
13) Закройте запрос.
Создание параметрических запросов
3.18. Создайте параметрический запрос для отбора записей о книгах, изданных
начиная с указанного года.
1) Создайте новый запрос в режиме конструктора на основе таблицы Книги с
полями Автор, Название, Город, Издательство, Год издания и Количество страниц.
2) Задайте сортировку записей динамической таблицы по возрастанию по полю
Год издания.
3) Укажите, что на экран должны выводиться все поля запроса.
4) Определите условие выбора данных: в строку Условие отбора бланка запроса
для поля Год издания введите выражение: >=[начальный год] / Enter.
5) Определите тип данных для параметра начальный год:
нажмите элемент Конструктор на ленте окна базы данных / нажмите ;
в первую строку столбца Параметр введите имя параметра: начальный год / в
столбце Тип данных для этого параметра выберите из списка Целое / ОК.
Замечание. Текст, введенный в качестве имени параметра в бланке запроса,
должен в точности соответствовать тексту, введенному в диалоговое окно Параметры
запроса при определении типа данных параметра. В противном случае Microsoft Access
воспринимает их как два разных параметра. Следует иметь в виду, что при удалении
параметра из бланка запроса необходимо удалить его и из диалогового окна Параметры
запроса.
6) Выполните запрос и просмотрите его результаты в режиме таблицы / в качестве
значения параметра начальный год введите: 2013 / ОК.
7) Сохраните запрос под именем Выбор книг по году издания и закройте его.
8) Откройте запрос Выбор книг по году издания в режиме таблицы / введите
новое значение начального года издания.
9) Закройте запрос Выбор книг по году издания.
3.19. Создайте параметрический запрос для поиска Читателей по нескольким
первым буквам фамилии.
1) Создайте новый запрос в режиме конструктора на основе таблицы Читатели с
полями Фамилия, Имя, Отчество, Место работы и Должность.
2) Проверьте, что на экран будут выводиться все поля запроса.
3) Определите условие выбора данных: в строку Условие отбора бланка запроса
для поля Фамилия введите выражение: Like[первые буквы фамилии] & "*" / Enter.
13
4) Определите тип данных для параметра: нажмите элемент Конструктор на ленте
окна базы данных / / в первую строку столбца Параметр введите имя
параметра: первые буквы фамилии / в столбце Тип данных для этого параметра
выберите из списка Текстовый / ОК.
5) Выполните запрос и просмотрите его результаты в режиме таблицы / в качестве
значения параметра введите: кур / ОК.
6) Сохраните запрос под именем Поиск читателей по первым буквам фамилии и
закройте его.
Создание перекрестных запросов
3.20. Создайте в режиме конструктора перекрестный запрос, содержащий
список всех издательств и количество книг, изданных конкретным издательством
по годам, а также общее количество книг, изданных каждым издательством за весь
период (рис. 1).
Издательство Итого 2008 2009 2012 2013
АСТ 1 1
БХВ-Петербург 2 1 1
Эксмо 1 1
Опма Медиа Групп 1 1
Триумф 1 1
Феникс 1 1
Рис.1. Перекрестный запрос Активность издательств
1) Создайте новый запрос в режиме конструктора на основе таблицы Книги с
полями Издательство, Год издания и Код книги.
2) Определите тип создаваемого запроса: нажмите элемент Конструктор на ленте
окна базы данных / Перекрестный (в бланке запроса дополнительно отобразятся строки
Групповая операция и Перекрестная таблица. По умолчанию для всех полей,
добавленных в бланк запроса, в строке Групповая операция устанавливается значение
Группировка).
3) Укажите, что значения поля Издательство будут использоваться в качестве
заголовков строк: в строке Перекрестная таблица бланка запроса для поля
Издательство выберите из списка Заголовки строк.
4) Укажите, что значения поля Год издания будут использоваться в качестве
заголовков столбцов: в строке Перекрестная таблица бланка запроса для поля Год
издания выберите из списка Заголовки столбцов.
5) Укажите, что поле Код книги содержит значения, на основе которых будет
вычисляться количество книг:
в строке Перекрестная таблица бланка запроса для поля Код книги выберите
из списка Значение;
в строке Групповая операция бланка запроса для поля Код книги выберите из
списка функцию Count.
6) Выполните запрос и просмотрите его результаты в режиме таблицы.
7) Вернитесь в режим конструктора.
8) Добавьте в перекрестный запрос столбец, содержащий общее количество книг,
изданных каждым издательством за весь период:
14
еще раз перенесите в бланк запроса поле Код книги;
в строке Перекрестная таблица бланка запроса для этого поля выберите из
списка Заголовки строк;
в строке Групповая операция бланка запроса для этого поля выберите из
списка функцию Count;
присвойте вычисляемому полю имя Итого: щелчком мыши установите
текстовый курсор перед именем поля Код книги / введите: Итого:.
9) Выполните запрос и просмотрите его результаты в режиме таблицы.
10) Сохраните запрос под именем Активность издательств и закройте его.
3.21. Добавьте в перекрестный запрос Активность издательств условие для
выбора книг, стоимость которых не более 70000 руб. Для сводной таблицы
определите постоянные заголовки столбцов.
1) Откройте запрос Активность издательств в режиме конструктора.
2) Добавьте в перекрестный запрос условие для выбора книг, стоимость которых не
более 70000 руб.:
перенесите в бланк запроса поле Стоимость;
в строке Перекрестная таблица бланка запроса для поля Стоимость выберите
из списка (не отображается);
в строке Групповая операция бланка запроса для поля Стоимость выберите из
списка Условие;
определите условие отбора: в строку Условие отбора бланка запроса для поля
Стоимость введите выражение: <=70000 / Enter.
3) Выполните запрос и просмотрите его результаты в режиме таблицы (как и в
случае итоговых запросов, записи, не удовлетворяющие заданному условию отбора,
исключаются перед выполнением вычислений).
4) Вернитесь в режим конструктора.
5) Определите постоянные заголовки столбцов для сводной таблицы (не зависящие
от наличия соответствующих значений в поле Год издания, используемом в качестве
заголовков столбцов): щелчок мыши в любом месте окна запроса вне бланка запроса и
списков полей / в диалоговом окне Окно свойств в строку Заголовки столбцов введите:
2007; 2008; 2009; 2010; 2011; 2012; 2013 / закройте диалоговое окно Окно свойств.
6) Выполните запрос и просмотрите его результаты в режиме таблицы.
7) Закройте запрос Активность издательств, сохранив изменения его структуры.
Создание запросов на изменение
3.22. С помощью запроса на обновление измените данные таблицы Книги с
учетом того, что стоимость книг, изданных в Санкт-Петербурге, выросла на 10%.
1) На основе таблицы Книги создайте запрос на выборку для отбора книг,
изданных в Санкт-Петербурге. Добавьте в бланк запроса поля Название, Стоимость и
Город. Определите соответствующее условие выбора данных для поля Город.
2) Выполните запрос и убедитесь в правильности отобранных данных.
3) Вернитесь в режим конструктора.
4) Преобразуйте запрос на выборку в запрос на обновление: элемент Конструктор
на ленте окна базы данных / Обновление (в бланке запроса исчезнут строки
Сортировка, Вывод на экран и дополнительно отобразится строка Обновление).
15
5) Укажите, каким образом должны быть изменены данные таблицы: в строку
Обновление бланка запроса для поля Стоимость введите выражение: [Стоимость]*1,1 /
Enter.
6) Сохраните запрос под именем Обновление стоимости книг, изданных в
Санкт-Петербурге и закройте его.
7) Настройте вывод на экран сообщений с приглашением подтвердить выполнение
запросов на изменение: кнопка «Office» / параметры Access /вкладка Дополнительно
/ в разделе Подтверждение установите флажок запросов на изменение / ОК.
8) Выполните запрос на обновление данных: двойной щелчок мышью по запросу
Обновление стоимости книг, изданных в Санкт-Петербурге в окне базы данных /
подтвердите обновление записей.
9) Убедитесь в выполнении запроса: откройте таблицу Книги / убедитесь в
обновлении данных / закройте таблицу Книги.
3.23. С помощью запроса на создание новой таблицы создайте архивную
таблицу, которая будет содержать информацию о выдачах книг за 2013 год.
1) Создайте запрос на выборку для отбора информации о выдачах книг за 2013 год:
создайте новый запрос в режиме конструктора на основе таблицы Выдачи с
полями Код выдачи, Код читателя, Код книги, Дата выдачи и Отметка о возврате;
добавьте в запрос вычисляемое поле, которое будет использоваться для отбора
информации о выдачах книг за 2013 год: в пустую ячейку строки Поле бланка запроса
(после поля Отметка о возврате) введите выражение: Year([Дата выдачи]) / Enter;
укажите, что вычисляемое поле не должно выводиться на экран: снимите
флажок в строке Вывод на экран бланка запроса для вычисляемого поля;
определите условие выбора данных: в строке Условие отбора бланка запроса
для вычисляемого поля введите: 2013 (=2013).
2) Выполните запрос и убедитесь в правильности отобранных данных.
3) Вернитесь в режим конструктора.
4) Преобразуйте запрос на выборку в запрос на создание новой таблицы: элемент
Конструктор на ленте окна базы данных / Создание таблицы / в диалоговом окне
Создание таблицы установите переключатель в текущей базе данных / в поле Имя
таблицы введите: Выдачи за 2013 год / ОК.
5) Сохраните запрос под именем Создание архивной таблицы выдач и закройте
его.
6) Выполните запрос на создание новой таблицы: двойной щелчок мышью по
запросу Создание архивной таблицы выдач в окне базы данных / подтвердите
создание новой таблицы.
7) Убедитесь в выполнении запроса: двойной щелчок по таблице Выдачи за 2013
год / убедитесь в наличии новой таблицы Выдачи за 2013 год (при этом в исходной
таблице Выдачи записи за 2013 год остались).
3.24. С помощью запроса на удаление удалите из таблицы Выдачи все записи за
2013 год.
1) На основе таблицы Выдачи создайте запрос на выборку для отбора информации
о выдачах книг за 2013 год.
2) Выполните запрос и убедитесь в правильности отобранных данных.
3) Вернитесь в режим конструктора.
16
4) Преобразуйте запрос на выборку в запрос на удаление: элемент Конструктор на
ленте окна базы данных / Удаление (в бланке запроса исчезнут строки Сортировка,
Вывод на экран и дополнительно отобразится строка Удаление).
5) Выполните запрос на удаление: / подтвердите удаление записей.
6) Сохраните запрос под именем Удаление выдач за 2013 год и закройте его.
7) Убедитесь в выполнении запроса: двойной щелчок по таблице Выдачи и
убедитесь в отсутствии записей за 2013 год / закройте таблицу Выдачи.
3.25. С помощью запроса на добавление восстановите исходные данные
таблицы Выдачи, добавив в таблицу записи из архивной таблицы Выдачи за 2013
год.
1) На основе таблицы Выдачи за 2013 год создайте запрос на выборку. Добавьте в
бланк запроса все поля таблицы.
2) Преобразуйте запрос на выборку в запрос на добавление: элемент Конструктор
на ленте окна базы данных / Добавление / в диалоговом окне Добавление установите
переключатель в текущей базе данных / в поле Имя таблицы выберите из списка
Выдачи / ОК (в бланке запроса исчезнет строка Вывод на экран и дополнительно
отобразится строка Добавление, в которой указываются имена полей дополняемой
таблицы, куда будут помещены данные из выборки).
3) Проверьте соответствие имен полей выборки и дополняемой таблицы (строки
Поле и Добавление) / в случае несовпадения имен полей в соответствующей ячейке
строки Добавление выберите из списка нужное имя поля дополняемой таблицы.
4) Выполните запрос на добавление: / подтвердите добавление записей.
5) Сохраните запрос под именем Добавление выдач за 2013 год и закройте его.
6) Убедитесь в восстановлении исходных данных таблицы Выдачи: откройте
таблицу Выдачи и убедитесь в наличии записей за 2013 год / закройте таблицу Выдачи.
3.26. Завершите работу с базой данных Библиотека и с Microsoft Access.
1. Завершите работу с базой данных Библиотека и с Microsoft Access: нажмите
кнопку Закрыть .

More Related Content

What's hot

0020
00200020
0020JIuc
 
реляционная база Access
реляционная база Accessреляционная база Access
реляционная база Access
Vladimir Burdaev
 
Access 2000 1
Access 2000 1Access 2000 1
Access 2000 1
Vladimir Burdaev
 
Бази даних-1 (LibreOffice Base)
Бази даних-1 (LibreOffice Base)Бази даних-1 (LibreOffice Base)
Бази даних-1 (LibreOffice Base)s-lana
 
марк это просто. библиомаркетинг
марк  это просто. библиомаркетингмарк  это просто. библиомаркетинг
марк это просто. библиомаркетингЛюбовь Чиркова
 
0019
00190019
0019JIuc
 
редактирование в эксель
редактирование в эксельредактирование в эксель
редактирование в эксель
Superkachek Superkachek
 
Access 2
Access 2Access 2
создание запросов, отчётов, Web страниц
создание запросов, отчётов, Web страницсоздание запросов, отчётов, Web страниц
создание запросов, отчётов, Web страниц
Vladimir Burdaev
 
Word
WordWord
B pwin&ramus
B pwin&ramusB pwin&ramus
B pwin&ramus
Vladimir Burdaev
 
пользовательские списки
пользовательские спискипользовательские списки
пользовательские спискиolgascor
 
импорт информации из бд
импорт информации из бдимпорт информации из бд
импорт информации из бд
Vladimir Burdaev
 
0017
00170017
0017JIuc
 
методические указания
методические указанияметодические указания
методические указанияsveta-la
 
метод рекомендации контр_раб_vba
метод рекомендации контр_раб_vbaметод рекомендации контр_раб_vba
метод рекомендации контр_раб_vba
Vladimir Burdaev
 
Excel05
Excel05Excel05
раздел 5 субд Access
раздел 5  субд Accessраздел 5  субд Access
раздел 5 субд Accesstatianabtt
 

What's hot (20)

0020
00200020
0020
 
реляционная база Access
реляционная база Accessреляционная база Access
реляционная база Access
 
Access 2000 1
Access 2000 1Access 2000 1
Access 2000 1
 
Бази даних-1 (LibreOffice Base)
Бази даних-1 (LibreOffice Base)Бази даних-1 (LibreOffice Base)
Бази даних-1 (LibreOffice Base)
 
марк это просто. библиомаркетинг
марк  это просто. библиомаркетингмарк  это просто. библиомаркетинг
марк это просто. библиомаркетинг
 
0019
00190019
0019
 
редактирование в эксель
редактирование в эксельредактирование в эксель
редактирование в эксель
 
Access 2
Access 2Access 2
Access 2
 
Forms
FormsForms
Forms
 
создание запросов, отчётов, Web страниц
создание запросов, отчётов, Web страницсоздание запросов, отчётов, Web страниц
создание запросов, отчётов, Web страниц
 
Word
WordWord
Word
 
B pwin&ramus
B pwin&ramusB pwin&ramus
B pwin&ramus
 
пользовательские списки
пользовательские спискипользовательские списки
пользовательские списки
 
импорт информации из бд
импорт информации из бдимпорт информации из бд
импорт информации из бд
 
0017
00170017
0017
 
методические указания
методические указанияметодические указания
методические указания
 
метод рекомендации контр_раб_vba
метод рекомендации контр_раб_vbaметод рекомендации контр_раб_vba
метод рекомендации контр_раб_vba
 
Excel05
Excel05Excel05
Excel05
 
раздел 5 субд Access
раздел 5  субд Accessраздел 5  субд Access
раздел 5 субд Access
 
Excel
ExcelExcel
Excel
 

Similar to Упражнение 3. Запросы

тест запросы
тест запросытест запросы
тест запросыJIuc
 
субд Access
субд Accessсубд Access
субд AccessAndrewTar
 
методические указания
методические указанияметодические указания
методические указанияsveta-la
 
тест ключи, связи, индексы поиск и фильтрация
тест ключи, связи, индексы поиск и фильтрациятест ключи, связи, индексы поиск и фильтрация
тест ключи, связи, индексы поиск и фильтрацияJIuc
 
0011
00110011
0011JIuc
 
метод указания часть 2
метод указания  часть 2метод указания  часть 2
метод указания часть 2Demanessa
 
лабораторная работа 2
лабораторная работа 2лабораторная работа 2
лабораторная работа 2student_kai
 
лабораторные работы
лабораторные работылабораторные работы
лабораторные работыstudent_kai
 
тест работа с макросами и внешними данными
тест работа с макросами и внешними даннымитест работа с макросами и внешними данными
тест работа с макросами и внешними даннымиJIuc
 
0037
00370037
0037JIuc
 
создание таблиц в Ms access
создание таблиц в Ms accessсоздание таблиц в Ms access
создание таблиц в Ms access
chiz123
 
Урок 1. Создание таблиц базы данных
Урок 1. Создание таблиц базы данныхУрок 1. Создание таблиц базы данных
Урок 1. Создание таблиц базы данныхaleksashka3
 
создание сайта
создание сайтасоздание сайта
создание сайтаJIuc
 
Практикум 8
Практикум 8Практикум 8
Практикум 8
Pavel Kallinikov
 
0023
00230023
0023JIuc
 
0021
00210021
0021JIuc
 

Similar to Упражнение 3. Запросы (18)

тест запросы
тест запросытест запросы
тест запросы
 
субд Access
субд Accessсубд Access
субд Access
 
методические указания
методические указанияметодические указания
методические указания
 
тест ключи, связи, индексы поиск и фильтрация
тест ключи, связи, индексы поиск и фильтрациятест ключи, связи, индексы поиск и фильтрация
тест ключи, связи, индексы поиск и фильтрация
 
создание таблиц в Ms Access
создание таблиц в Ms Accessсоздание таблиц в Ms Access
создание таблиц в Ms Access
 
0011
00110011
0011
 
метод указания часть 2
метод указания  часть 2метод указания  часть 2
метод указания часть 2
 
лабораторная работа 2
лабораторная работа 2лабораторная работа 2
лабораторная работа 2
 
лабораторные работы
лабораторные работылабораторные работы
лабораторные работы
 
тест работа с макросами и внешними данными
тест работа с макросами и внешними даннымитест работа с макросами и внешними данными
тест работа с макросами и внешними данными
 
0037
00370037
0037
 
11 класс
11 класс11 класс
11 класс
 
создание таблиц в Ms access
создание таблиц в Ms accessсоздание таблиц в Ms access
создание таблиц в Ms access
 
Урок 1. Создание таблиц базы данных
Урок 1. Создание таблиц базы данныхУрок 1. Создание таблиц базы данных
Урок 1. Создание таблиц базы данных
 
создание сайта
создание сайтасоздание сайта
создание сайта
 
Практикум 8
Практикум 8Практикум 8
Практикум 8
 
0023
00230023
0023
 
0021
00210021
0021
 

More from Artyukhova

кураж
куражкураж
кураж
Artyukhova
 
сушкевич
сушкевичсушкевич
сушкевич
Artyukhova
 
лапкович
лапковичлапкович
лапкович
Artyukhova
 
вщь
вщьвщь
вщь
Artyukhova
 
казакова
казаковаказакова
казакова
Artyukhova
 
янкова
янковаянкова
янкова
Artyukhova
 
Введение
ВведениеВведение
ВведениеArtyukhova
 
7. разработка приложений
7. разработка приложений7. разработка приложений
7. разработка приложенийArtyukhova
 
6. отчеты
6. отчеты6. отчеты
6. отчетыArtyukhova
 
8. управление работой приложения
8. управление работой приложения8. управление работой приложения
8. управление работой приложенияArtyukhova
 
Запросы
ЗапросыЗапросы
ЗапросыArtyukhova
 
2. СУБД MS Access
2. СУБД MS Access2. СУБД MS Access
2. СУБД MS AccessArtyukhova
 
3. Таблицы
3. Таблицы3. Таблицы
3. ТаблицыArtyukhova
 
1. Введение
1. Введение1. Введение
1. ВведениеArtyukhova
 
Итоги деятельности ресурсных центров информационных технологий
Итоги деятельности ресурсных центров информационных технологийИтоги деятельности ресурсных центров информационных технологий
Итоги деятельности ресурсных центров информационных технологийArtyukhova
 
Методическая поддержка образовательног процесса
Методическая поддержка образовательног процессаМетодическая поддержка образовательног процесса
Методическая поддержка образовательног процессаArtyukhova
 
Организация повышения квалификации
Организация повышения квалификацииОрганизация повышения квалификации
Организация повышения квалификацииArtyukhova
 

More from Artyukhova (20)

кураж
куражкураж
кураж
 
сушкевич
сушкевичсушкевич
сушкевич
 
лапкович
лапковичлапкович
лапкович
 
вщь
вщьвщь
вщь
 
казакова
казаковаказакова
казакова
 
янкова
янковаянкова
янкова
 
Введение
ВведениеВведение
Введение
 
Eyeforblog
EyeforblogEyeforblog
Eyeforblog
 
Joy_1
Joy_1Joy_1
Joy_1
 
7. разработка приложений
7. разработка приложений7. разработка приложений
7. разработка приложений
 
6. отчеты
6. отчеты6. отчеты
6. отчеты
 
8. управление работой приложения
8. управление работой приложения8. управление работой приложения
8. управление работой приложения
 
Формы
ФормыФормы
Формы
 
Запросы
ЗапросыЗапросы
Запросы
 
2. СУБД MS Access
2. СУБД MS Access2. СУБД MS Access
2. СУБД MS Access
 
3. Таблицы
3. Таблицы3. Таблицы
3. Таблицы
 
1. Введение
1. Введение1. Введение
1. Введение
 
Итоги деятельности ресурсных центров информационных технологий
Итоги деятельности ресурсных центров информационных технологийИтоги деятельности ресурсных центров информационных технологий
Итоги деятельности ресурсных центров информационных технологий
 
Методическая поддержка образовательног процесса
Методическая поддержка образовательног процессаМетодическая поддержка образовательног процесса
Методическая поддержка образовательног процесса
 
Организация повышения квалификации
Организация повышения квалификацииОрганизация повышения квалификации
Организация повышения квалификации
 

Упражнение 3. Запросы

  • 1. 1 ТЕМА 3. РАБОТА С ДАННЫМИ ПРИ ПОМОЩИ ЗАПРОСОВ Создание запросов на выборку в режиме конструктора 3.1. Откройте созданную ранее базу данных Библиотека: двойной щелчок мыши по базе данных Библиотека / во всплывающем окне Предупреждение системы безопасности нажмите Параметры / Включить это содержимое / ОК. 3.2. Создайте в режиме конструктора запрос для отбора записей о книгах издательства БХВ-Петербург. Сохраните запрос в базе данных Библиотека под именем Книги издательства БХВ-Петербург. 1) Создайте новый запрос в режиме конструктора: кнопка Создание на ленте окна базы данных / Конструктор запросов. 2) Определите таблицы, необходимые для создания запроса: в открывшемся диалоговом окне Добавление таблицы щелчком мыши выделите таблицу Книги / кнопка Добавить / кнопка Закрыть. 3) Определите поля, необходимые для создания запроса: добавьте в бланк запроса поле Автор: установите курсор мыши на поле Автор в списке полей таблицы Книги в верхней части окна запроса / нажмите левую кнопку мыши и, не отпуская, переместите поле Автор в первый столбец бланка запроса; добавьте в бланк запроса поле Название: перенесите мышью поле Название из списка полей таблицы Книги в верхней части окна запроса во второй столбец бланка запроса; добавьте в бланк запроса поле Город: двойной щелчок мышью по полю Город в списке полей таблицы Книги в верхней части окна запроса (оно будет помещено в следующий свободный столбец бланка запроса); аналогичным образом добавьте в бланк запроса поля Издательство, Количество страниц и Год издания. 4) Задайте сортировку записей динамической таблицы по возрастанию по полю Год издания: щелчок мыши в строке Сортировка бланка запроса для поля Год издания / выберите из списка по возрастанию. 5) Укажите, что все поля запроса должны выводиться на экран: проверьте наличие флажков в строке Вывод на экран бланка запроса для всех добавленных полей. 6) Определите условие выбора данных: щелчок мыши в строке Условие отбора бланка запроса для поля Издательство / введите БХВ-Петербург / Enter (после нажатия Enter Microsoft Access проанализирует введенное выражение и, возможно, исправит синтаксис. В данном случае к введенному тексту, используемому в качестве условия отбора, автоматически будут добавлены кавычки). 7) Сохраните запрос под именем Книги издательства БХВ-Петербург: нажмите / в поле Имя запроса введите: Книги издательства БХВ-Петербург. 8) Выполните запрос и просмотрите его результаты в режиме таблицы: элемент Режим / Режим таблицы. 9) Вернитесь в режим конструктора: элемент Режим / Конструктор. 10) Запустите запрос на выполнение другим способом: нажмите элемент Конструктор на ленте окна базы данных / нажмите кнопку .
  • 2. 2 11) Закройте запрос Книги издательства БХВ-Петербург: нажмите кнопку Закрыть «Книги издательства БХВ-Петербург» . 12) Запустите запрос на выполнение из окна базы данных: двойной щелчок мышью по запросу Книги издательства БХВ-Петербург. 13) Закройте запрос Книги издательства БХВ-Петербург. 3.3. Создайте в режиме конструктора запрос для отбора записей о тематике книг. Сохраните запрос в базе данных Библиотека под именем Книги по темам. 1) Создайте новый запрос в режиме конструктора: элемент Создание на ленте окна базы данных / Конструктор запросов. 2) Определите таблицы, необходимые для создания запроса: в открывшемся диалоговом окне Добавление таблицы щелчком мыши выделите таблицу Книги / кнопка Добавить / щелчком мыши выделите таблицу Тематика книг / кнопка Добавить / Закрыть. 3) Определите поля, необходимые для создания запроса: добавьте в бланк запроса поле Тема: установите курсор мыши на поле Тема в списке полей таблицы Тематика книг в верхней части окна запроса / нажмите левую кнопку мыши и, не отпуская, переместите поле Тема в первый столбец бланка запроса; добавьте в бланк запроса все поля из таблицы Книги: перенесите мышью символ * из списка полей таблицы Книги в верхней части окна запроса во второй столбец бланка запроса (в строке Поле бланка запроса появится надпись Книги.*, что означает выбор всех полей исходной таблицы). 4) Задайте сортировку записей динамической таблицы по возрастанию по полю Тема: щелчок мыши в строке Сортировка бланка запроса для поля Тема / выберите из списка по возрастанию. 5) Укажите, что все поля запроса должны выводиться на экран: проверьте наличие флажков в строке Вывод на экран бланка запроса для всех добавленных полей. 6) Сохраните запрос под именем Книги по темам: нажмите / в поле Имя запроса введите: Книги по темам. 7) Выполните запрос и просмотрите его результаты в режиме таблицы: элемент Режим / Режим таблицы. 8) Закройте запрос Книги по темам. Редактирование запросов на выборку 3.4. Измените структуру запроса Книги издательства БХВ-Петербург в режиме конструктора. 1) Откройте запрос Книги издательства БХВ-Петербург в режиме конструктора: двойной щелчок мышью по запросу Книги издательства БХВ-Петербург / элемент Режим / элемент Конструктор на ленте окна базы данных. 2) Поменяйте местами поля Количество страниц и Год издания: выделите поле Год издания: щелчок мыши в области маркировки столбца Год издания сверху от имени поля (курсор должен принять вид черной стрелки, направленной вниз); установите курсор мыши в области маркировки столбца / нажмите левую кнопку и, не отпуская, перемещайте мышку влево до тех пор, пока перед полем Количество страниц не появится вертикальная разделительная линия.
  • 3. 3 3) Добавьте в запрос поле Стоимость, вставив его перед полем Количество страниц: перенесите мышью поле Стоимость из списка полей таблицы Книги в верхней части окна запроса в столбец Количество страниц бланка запроса (поле Количество страниц будет перемещено на один столбец вправо). 4) Удалите поле Город из запроса: щелчком мыши в области маркировки столбца выделите поле Город / Delete (или элемент Конструктор на ленте / Удалить столбцы). 5) Переименуйте поле Количество страниц в Объем в результирующей динамической таблице: щелчком мыши установите текстовый курсор перед именем поля Количество страниц / введите: Объем: (в результате получится следующее: Объем: Количество страниц). 6) Выполните запрос / просмотрите его результаты в режиме таблицы и убедитесь в наличии внесенных изменений. 7) Сохраните изменения структуры запроса. 8) Закройте запрос Книги издательства БХВ-Петербург. 3.5. Измените условие выбора данных для запроса Книги издательства БХВ- Петербург. Сохраните измененный запрос под новым именем Тематика книг издательства Эксмо. 1) Откройте запрос Книги издательства БХВ-Петербург в режиме конструктора: двойной щелчок мышью по запросу Книги издательства БХВ-Петербург / элемент Режим / элемент Конструктор на ленте окна базы данных. 2) Измените условие выбора данных: щелчок мыши в строке Условие отбора бланка запроса для поля Издательство / используя Backspace или Delete, удалите старое условие отбора / введите новое условие выбора данных: Эксмо / Enter. 3) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 4) Вернитесь в режим конструктора: элемент Режим / Конструктор. 5) Отмените вывод на экран поля Издательство: щелчком мыши снимите флажок в строке Вывод на экран бланка запроса для поля Издательство (поле Издательство будет использоваться для отбора данных, но в результирующей динамической таблице присутствовать не будет). 6) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 7) Вернитесь в режим конструктора: элемент Режим / Конструктор. 8) Добавьте в запрос таблицу Тематика книг: нажмите элемент Конструктор на ленте окна базы данных / Отобразить таблицу; в диалоговом окне Добавление таблицы выделите таблицу Тематика книг / кнопка Добавить / кнопка Закрыть. 9) Добавьте в запрос поле Тема, вставив его правее имеющихся полей: двойной щелчок мышью по полю Тема в списке полей таблицы Тематика книг в верхней части окна запроса. 10) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку .
  • 4. 4 11) Сохраните измененный запрос под новым именем Тематика книг издательства Эксмо: кнопка «Office» / нажмите Сохраните как… / в открывшемся окне Сохранение в поле Сохранение объекта … в введите: Книги издательства Эксмо / в поле Как оставьте Запрос / ОК. Просмотр инструкции SQL для осуществления запроса 3.6. Просмотрите запрос Книги издательства БХВ-Петербург в режиме SQL. Измените условие выбора данных. Сохраните измененный запрос под новым именем Книги издательства Феникс. 1) Откройте запрос Книги издательства БХВ-Петербург в режиме конструктора: двойной щелчок мышью по запросу Книги издательства БХВ-Петербург / элемент Режим / Конструктор на ленте окна базы данных. 2) Просмотрите запрос в режиме SQL: элемент Режим / Режим SQL. 3) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 4) Вернитесь в режим SQL: элемент Режим / Режим SQL. 5) Измените условие выбора данных: в строке WHERE (((Книги.Издательство)="БХВ-Петербург")) вместо БХВ-Петербург введите: Феникс. 6) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 7) Переключитесь в режиме конструктора (элемент Режим / Конструктор) и убедитесь в изменении условия отбора для поля Издательство в бланке запроса. 8) Сохраните измененный запрос под новым именем Книги издательства Феникс: кнопка «Office» / нажмите Сохраните как… / в открывшемся окне Сохранение в поле Сохранение объекта … в введите: Книги издательства Феникс / в поле Как оставьте Запрос / ОК. 9) Закройте запрос Книги издательства Феникс. Создание запросов с условием отбора 3.7. Создайте в режиме конструктора запрос для отбора записей о читателях, первая буква фамилии которых находится в диапазоне от «а» до «л». Сохраните запрос в базе данных Библиотека под именем Читатели с фамилиями от а до л. 1) Создайте новый запрос в режиме конструктора. 2) Добавьте в запрос таблицу Читатели. 3) Перенесите в бланк запроса поля Фамилия, Имя, Отчество, Место работы и Должность. 4) Определите сортировку записей динамической таблицы в алфавитном порядке по полю Фамилия. 5) Задайте условие отбора для поля Фамилия: Like "[а-л]*". 6) Сохраните запрос под именем Читатели с фамилиями от а до л. 7) Выполните запрос и просмотрите его результаты в режиме таблицы. 8) Закройте запрос.
  • 5. 5 3.8. Создайте в режиме конструктора запрос для отбора записей о читателях, для которых в таблице Читатели указан телефон. Сохраните запрос в базе данных Библиотека под именем Телефоны читателей. 1) Создайте новый запрос в режиме конструктора. 2) Добавьте в запрос таблицу Читатели. 3) Перенесите в бланк запроса поля Фамилия, Имя, Отчество, Место работы, Должность и Телефон. 4) Определите сортировку записей динамической таблицы в алфавитном порядке по полю Фамилия. 5) Задайте условие отбора для поля Телефон: Is Not Null. 6) Сохраните запрос под именем Телефоны читателей. 7) Выполните запрос и просмотрите его результаты в режиме таблицы. 8) Закройте запрос. 3.9. Создайте в режиме конструктора запрос для отбора данных о читателях, пользовавшихся библиотекой во II квартале 2013 года. Сохраните запрос в базе данных Библиотека под именем Читатели за II квартал 2013 года. 1) Создайте новый запрос в режиме конструктора. 2) Добавьте в запрос таблицу Читатели и Выдачи. 3) Перенесите в бланк запроса поля Фамилия, Имя, Отчество, Место работы, Должность и Телефон из таблицы Читатели, Дата выдачи из таблицы Выдачи. 4) Определите сортировку записей динамической таблицы по убыванию по полю Дата выдачи. 5) Задайте условие отбора для поля Дата выдачи таблицы Выдачи: Between #01.04.2013# And #30.06.2013#. 6) Сохраните запрос под именем Читатели за II квартал 2013 года. 7) Выполните запрос и просмотрите его результаты в режиме таблицы. 8) Закройте запрос. 3.10. Создайте в режиме конструктора запрос для отбора данных о книгах, выданных читателям и не возвращенных пока в библиотеку. Сохраните запрос в базе данных Библиотека под именем Выдано. 1) Создайте новый запрос в режиме конструктора. 2) Добавьте в запрос таблицу Книги, Читатели и Выдачи. 3) Перенесите в бланк запроса поля Код книги, Автор и Название из таблицы Книги; Код читателя, Фамилия, Имя, Отчество и Телефон из таблицы Читатели, Отметка о возврате и Дата выдачи из таблицы Выдачи. 4) Определите сортировку записей динамической таблицы по возрастанию по полю Код книги. 5) Задайте условие отбора для поля Отметка о возврате таблицы Выдачи: Нет. 6) Сохраните запрос под именем Выдано. 7) Выполните запрос и просмотрите его результаты в режиме таблицы. 8) Закройте запрос.
  • 6. 6 Создание запросов с использованием мастера 3.11. Создайте с помощью мастера запрос для отбора записей о книгах, на текущий момент имеющихся в наличии в библиотеке (возвращенных читателями в библиотеку либо не востребованных). Сохраните запрос в базе данных Библиотека под именем Книги в наличии. 1) Создайте с помощью мастера новый запрос для выбора записей из таблицы Книги, для которых не существует связанных записей в запросе Выдано (т.е. книг, возвращенных читателями в библиотеку либо не востребованных): кнопка Создание на ленте окна базы данных / Мастер запросов / в диалоговом окне Новый запрос выберите Записи без подчиненных / ОК; определите таблицу, содержащую необходимые данные: в списке таблиц базы данных выберите таблицу Книги / кнопка Далее; определите объект, содержащий подчиненные записи: в разделе Показать установите переключатель Запросы / в списке запросов базы данных выберите запрос Выдано / кнопка Далее; выберите поля, которые будут использоваться для объединения информации из таблицы Книги и запроса Выдано: в списке Поля в 'Книги' выделите поле Код книги / в списке Поля в 'Выдано' выделите поле Код книги / (в разделе Соответствие появится надпись: Код книги <=> Код книги) / кнопка Далее; выберите поля для отображения в результате выполнения запроса: для переноса в список Выбранные поля всех доступных полей / кнопка Далее; в качестве имени запроса в поле Задайте имя запроса введите: Книги в наличии / в разделе Дальнейшие действия после создания запроса установите переключатель Просмотреть результаты запроса / кнопка Готово. 2) Изучите структуру запроса в режиме конструктора: переключитесь в режим конструктора: элемент Режим / Конструктор; просмотрите параметры связи между таблицей Книги и запросом Выдано: двойной щелчок мышью по линии связи (параметр Объединение ВСЕХ записей из "Книги" и не только тех записей из "Выдано", в которых связанные поля совпадают, установленный в диалоговом окне Параметры объединения, позволяет выбрать из таблицы Книги не только книги, возвращенные читателями в библиотеку, но и книги, которые никогда не выдавались) / закройте диалоговое окно Параметры объединения щелчком по кнопке ОК; просмотрите параметры, определенные мастером для поля Код книги запроса Выдано (условие отбора Is Null позволяет отобрать только те записи из таблицы Книги, для которых не существует связанных записей в запросе Выдано, само же поле Код книги запроса Выдано не отображается на экране). 3) Закройте запрос Книги в наличии. Создание запросов с несколькими условиями отбора 3.12. Создайте в режиме конструктора запрос для отбора записей о книгах, изданных в Санкт-Петербурге или Москве. Сохраните запрос в базе данных Библиотека под именем Книги, изданные в Санкт-Петербурге и Москве. 1) Создайте новый запрос в режиме конструктора: элемент Создание на ленте окна базы данных / Конструктор запросов.
  • 7. 7 2) Определите таблицы, необходимые для создания запроса: в диалоговом окне Добавление таблицы выделите таблицу Книги / кнопка Добавить / кнопка Закрыть. 3) Определите поля, необходимые для создания запроса: перенесите в бланк запроса поля Автор, Название, Город, Издательство, Год издания, Количество страниц и Стоимость. 4) Задайте сортировку записей динамической таблицы по убыванию по полю Стоимость: в строке Сортировка бланка запроса для поля Стоимость выберите из списка по убыванию. 5) Укажите, что на экран должны выводиться все поля запроса: проверьте наличие флажков в строке Вывод на экран бланка запроса для всех добавленных полей. 6) Определите условие выбора данных: в строку Условие отбора бланка запроса для поля Город введите: "Санкт-Петербург" / в строку или бланка запроса для этого же поля введите: "Москва" (или в строку Условие отбора бланка запроса для поля Город введите: "Санкт-Петербург" Or "Москва"). 7) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 8) Сохраните запрос под именем Книги, изданные в Санкт-Петербурге и Москве. 9) Закройте запрос. 3.13. На основе запроса Книги, изданные в Санкт-Петербурге и Москве, создайте запрос для отбора записей о книгах, изданных в Москве в 2012 году. Сохраните измененный запрос под новым именем Книги, изданные в Москве в 2012 году. 1) Откройте запрос Книги, изданные в Санкт-Петербурге и Москве в режиме конструктора: двойной щелчок мышью по запросу Книги, изданные в Санкт- Петербурге и Москве / элемент Режим / Конструктор на ленте окна базы данных. 2) Измените условие выбора данных: в строке Условие отбора бланка запроса для поля Город оставьте только "Москва", строка или бланка запроса для этого же поля должна быть пусто / в строку Условие отбора бланка запроса для поля Год издания введите: 2012 (или =2012). 3) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 4) Сохраните измененный запрос под новым именем Книги, изданные в Москве в 2012 году: кнопка «Office» / нажмите Сохраните как… / в открывшемся окне Сохранение в поле Сохранение объекта … в введите: Книги, изданные в Москве в 2012 году / в поле Как оставьте Запрос / ОК. 5) Закройте запрос. Создание вычисляемых полей. Работа с построителем выражений 3.14. Измените запрос Книги, изданные в Москве в 2012 году, с учетом того, что стоимость этих книг выросла на 10%. Сохраните измененный запрос под новым именем Новые цены книг, изданных в Москве в 2012 году.
  • 8. 8 1) Откройте запрос Книги, изданные в Москве в 2012 году в режиме конструктора: двойной щелчок мышью по запросу Книги, изданные в Москве в 2012 году / элемент Режим / Конструктор на ленте окна базы данных. 2) Добавьте в запрос вычисляемое поле для расчета новой стоимости книг: в пустую ячейку строки Поле бланка запроса (после поля Стоимость) введите выражение: [Стоимость]*1,1 / Enter (после нажатия на Enter вычисляемому полю автоматически присваивается имя типа Выражение 1, 2 и т.д.). 3) Укажите, что вычисляемое поле должно выводиться на экран: проверьте наличие флажков в строке Вывод на экран бланка запроса для вычисляемого поля. 4) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 5) Вернитесь в режим конструктора: элемент Режим / Конструктор на ленте окна базы данных. 6) Присвойте вычисляемому полю имя Новая цена: щелчком мыши установите текстовый курсор в строку Поле для вычисляемого поля запроса / используя Backspace или Delete, удалите старое имя вычисляемого поля (Выражение1) / введите новое имя: Новая цена (в результате получится: Новая цена: [Стоимость]*1,1). 7) Определите для вычисляемого поля денежный формат: щелчком мыши в области маркировки столбца выделите вычисляемое поле / элемент Конструктор на ленте окна базы данных / Страница свойств; вкладка Общие диалогового окна Окно свойств / в строке Формат поля выберите из списка Денежный (не закрывайте диалоговое окно Окно свойств). 8) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 9) Вернитесь в режим конструктора. 10) Измените число десятичных знаков для вычисляемого поля: в диалоговом окне Окно свойств в строке Число десятичных знаков выберите из списка 0; закройте диалоговое окно Окно свойств (кнопка строки заголовка окна). 11) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 12) Сохраните измененный запрос под новым именем Новые цены книг, изданные в Москве в 2012 году: кнопка «Office» / нажмите Сохраните как… / в открывшемся окне Сохранение в поле Сохранение объекта … в введите: Новые цены книг, изданные в Москве в 2012 году / в поле Как оставьте Запрос / ОК. 13) Закройте запрос. 3.15. На основе таблицы Читатели создайте запрос, в котором будет представлено текстовое поле, содержащее значение поля Фамилия, пробел, значение поля Имя, пробел и значение поля Отчество. Отберите данные о читателях, пользовавшихся книгами из библиотеки в 2013 году. 1) Создайте новый запрос в режиме конструктора: элемент Создание на ленте окна базы данных / Конструктор запросов.
  • 9. 9 2) Определите таблицы, необходимые для создания запроса: в диалоговом окне Добавление таблицы выделите таблицу Выдачи / нажмите Ctrl и, не отпуская, щелчком мыши выделите таблицу Читатели / кнопка Добавить / кнопка Закрыть. 3) С использованием построителя выражений создайте вычисляемое поле для объединения значений полей Фамилия, Имя и Отчество: установите текстовый курсор в пустую ячейку строки Поле бланка запроса / нажмите на кнопку на ленте окна базы данных; в левом списке нижней части окна построителя выражений двойным щелчком откройте папку Таблицы / щелчок по таблице Читатели (при этом в среднем списке отобразятся поля выбранной таблицы) / выделите поле Фамилия / кнопка Вставить или двойной щелчок мышью по полю Фамилия (в верхнем поле окна построителя выражений появится ссылка на поле Фамилия таблицы Читатели: [Читатели]![Фамилия]); / введите: " " / / в среднем поле выделите поле Имя / кнопка Вставить или двойной щелчок мышью по полю Имя / / введите: " " / / в среднем поле выделите поле Отчество / кнопка Вставить или двойной щелчок мышью по полю Отчество (в результате в верхнем поле построителя получится: [Читатели]![Фамилия] & " " & [Читатели]![Имя] & " " & [Читатели]![Отчество]) / ОК (созданное выражение будет вставлено в ячейку строки Поле, из которой и был вызван построитель выражений) / Enter. 4) Присвойте вычисляемому полю имя Читатель: щелчком мыши установите текстовый курсор в строку Поле для вычисляемого поля запроса / откорректируйте выражение так, чтобы в результате получилось: Читатель: [Читатели]![Фамилия] & " " & [Читатели]![Имя] & " " & [Читатели]![Отчество]. 5) Просмотрите введенное выражение, не прибегая к его прокрутке, в отдельном окне: установите курсор в строке Поле для вычисляемого поля Читатель / Shift+F2. 6) Закройте окно Область ввода / ОК. 7) Задайте сортировку записей динамической таблицы в алфавитном порядке по полю Читатель: в строке Сортировка бланка запроса для поля Читатель выберите из списка по возрастанию. 8) Укажите, что вычисляемое поле должно выводиться на экран: проверьте наличие флажка в строке Вывод на экран бланка запроса для вычисляемого поля. 9) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 10) Вернитесь в режим конструктора. 11) С использованием построителя выражений добавьте в запрос вычисляемое поле для определения года выдачи книг читателям: установите текстовый курсор в следующую пустую ячейку строки Поле бланка запроса / нажмите на кнопку на ленте окна базы данных; в левом списке нижней части окна построителя выражений двойным щелчком откройте папку Функции / щелчок по папке Встроенные функции (при этом в среднем поле отобразится список категорий встроенных функций) / щелчком мыши выберите категорию Дата/время (при этом в правом поле отобразится список функций из выбранной категории) / выделите функцию Year / кнопка Вставить или двойной щелчок
  • 10. 10 мышью по функции Year (в верхнем поле окна построителя выражений появится выбранная функция в виде: Year («number»). Обратите внимание, что в качестве аргументов функций Microsoft Access вставляет прототипы, заключенные в двойные угловые кавычки, вместо которых необходимо подставить нужные элементы); удалите вставленный Microsoft Access прототип и вставьте вместо него поле Дата выдачи из таблицы Выдачи: удалите прототип «number» / в левом списке нижней части окна построителя выражений двойным щелчком откройте папку Таблицы / щелчок по таблице Выдачи (при этом в среднем списке отобразятся поля выбранной таблицы) / двойной щелчок мышью по полю Дата выдачи (в результате в верхнем поле построителя получится: Year([Выдачи]![Дата выдачи])) / ОК / после вставки выражения в ячейку строки Поле нажмите клавишу Enter. 12) Присвойте вычисляемому поля имя Год (результат: Год: Year([Выдачи]![Дата выдачи])). 13) Укажите, что вычисляемое поле должно выводиться на экран: проверьте наличие флажка в строке Вывод на экран бланка запроса для вычисляемого поля. 14) Для проверки работы функции Year добавьте в бланк запроса поле Дата выдачи из таблицы Выдачи и задайте для него дополнительную сортировку записей динамической таблицы по возрастанию. 15) Выполните запрос, просмотрите его результаты в режиме таблицы: нажмите кнопку , проверьте работу вычисляемого поля Год. 16) Вернитесь в режим конструктора / удалите поле Дата выдачи из запроса. 17) Добавьте в запрос условие отбора для выбора читателей, пользовавшихся книгами из библиотеки в 2013 году: в строку Условие отбора бланка запроса для вычисляемого поля Год введите: 2013 (или =2013). 18) Укажите, что записи динамической таблицы должны содержать только уникальные значения: вернитесь в режим конструктора / щелчок мыши в любом месте окна запроса вне бланка запроса и списков полей / Страница свойств / в диалоговом окне Свойства запроса в строке Уникальные значения выберите из списка Да / закройте диалоговое окно Свойства запроса. 19) Выполните запрос и просмотрите его результаты в режиме таблицы: нажмите кнопку . 20) Сохраните запрос под именем Читатели 2013. 21) Закройте запрос Читатели 2013. Создание итоговых запросов 3.16. Создайте итоговый запрос, содержащий список издательств и общую стоимость книг, изданных каждым издательством и имеющихся в библиотеке. 1) Создайте новый запрос в режиме конструктора. 2) Добавьте в запрос таблицу Книги. 3) Определите поля, необходимые для создания итогового запроса: перенесите в бланк запроса поля Издательство и Стоимость. 4) Включите отображение строки Групповая операция в бланке запроса: нажмите элемент Конструктор / (Итоги) (по умолчанию для всех полей, добавленных в бланк запроса, в строке Групповая операция устанавливается значение Группировка).
  • 11. 11 5) Укажите, что для каждого издательства должна быть вычислена общая стоимость книг, имеющихся в библиотеке: в строке Групповая операция бланка запроса для поля Стоимость выберите из списка функцию Sum. 6) Задайте сортировку записей динамической таблицы по убыванию по итоговому полю: в строке Сортировка бланка запроса для поля Стоимость, используемого для вычисления итогов, выберите из списка по убыванию. 7) Выполните запрос и просмотрите его результаты в режиме таблицы. Замечание. Обратите внимание, что если вычисляемое поле определяется с помощью групповой функции, то в качестве имени, под которым поле выводится в режиме таблицы, используется подпись, создаваемая путем объединения имени функции и имени поля, содержащего данные, - Sum-Стоимость. 8) Вернитесь в режим конструктора. 9) Присвойте вычисляемому поля имя Общая стоимость книг: щелчком мыши установите текстовый курсор перед именем поля Стоимость / введите: Общая стоимость книг:. 10) Еще раз выполните запрос и просмотрите его результаты в режиме таблицы. 11) Сохраните запрос под именем Стоимость книг по издательствам. 12) Закройте запрос Стоимость книг по издательствам. 3.17. На основе запроса Читатели 2013 года создайте итоговый запрос, в котором для каждого читателя должно быть вычислено общее количество книг, заказанных в 2013 году. Задайте отображение на экран информации о тройке самых активных читателей 2013 года. 1) Откройте запрос Читатели 2013 года в режиме конструктора. 2) Добавьте в бланк запроса поле Код книги из таблицы Выдачи. 3) Включите отображение строки Групповая операция в бланке запроса: нажмите элемент Конструктор на ленте окна базы данных / . 4) Укажите, что для каждого читателя должно быть вычислено общее количество книг, заказанных в 2013 году: для поля Код книги в строке Групповая операция бланка запроса выберите из списка функцию Count; для вычисляемого поля Год в строке Групповая операция бланка запроса выберите из списка Условие (для этого поля автоматически будет снят флажок Вывод на экран). 5) Отмените сортировку записей динамической таблицы по вычисляемому полю Читатель: в строке Сортировка бланка запроса для поля Читатель выберите из списка (отсутствует). 6) Задайте сортировку записей динамической таблицы по убыванию по итоговому полю: в строке Сортировка бланка запроса для поля Код книги, используемого для вычисления итогов, выберите из списка по убыванию. 7) С использованием окна Область ввода присвойте итоговому полю имя Количество заказанных книг: щелчком мыши установите текстовый курсор внутри имени поля Код книги / откройте окно Область ввода (Shift+F2) / перед именем поля Код книги введите: Количество заказанных книг: / ОК. 8) Выполните запрос и просмотрите его результаты в режиме таблицы, обратив внимание на порядок сортировки записей. 9) Вернитесь в режим конструктора.
  • 12. 12 10) Укажите, что динамическая таблица должна содержать только один набор значений (в данном случае – запись с информацией о трех самых активных читателях): щелчок мыши в любом месте окна запроса вне бланка запроса и списков полей / в диалоговом окне Окно свойств в строке Набор значений вместо указанного значения введите: 3 / закройте диалоговое окно Окно свойств. 11) Выполните запрос. 12) Сохраните измененный запрос под новым именем Новые цены книг, изданные в Москве в 2012 году: кнопка «Office» / нажмите Сохраните как… / в открывшемся окне Сохранение в поле Сохранение объекта … в введите: Тройка самых активных читателей 2013 года / в поле Как оставьте Запрос / ОК. 13) Закройте запрос. Создание параметрических запросов 3.18. Создайте параметрический запрос для отбора записей о книгах, изданных начиная с указанного года. 1) Создайте новый запрос в режиме конструктора на основе таблицы Книги с полями Автор, Название, Город, Издательство, Год издания и Количество страниц. 2) Задайте сортировку записей динамической таблицы по возрастанию по полю Год издания. 3) Укажите, что на экран должны выводиться все поля запроса. 4) Определите условие выбора данных: в строку Условие отбора бланка запроса для поля Год издания введите выражение: >=[начальный год] / Enter. 5) Определите тип данных для параметра начальный год: нажмите элемент Конструктор на ленте окна базы данных / нажмите ; в первую строку столбца Параметр введите имя параметра: начальный год / в столбце Тип данных для этого параметра выберите из списка Целое / ОК. Замечание. Текст, введенный в качестве имени параметра в бланке запроса, должен в точности соответствовать тексту, введенному в диалоговое окно Параметры запроса при определении типа данных параметра. В противном случае Microsoft Access воспринимает их как два разных параметра. Следует иметь в виду, что при удалении параметра из бланка запроса необходимо удалить его и из диалогового окна Параметры запроса. 6) Выполните запрос и просмотрите его результаты в режиме таблицы / в качестве значения параметра начальный год введите: 2013 / ОК. 7) Сохраните запрос под именем Выбор книг по году издания и закройте его. 8) Откройте запрос Выбор книг по году издания в режиме таблицы / введите новое значение начального года издания. 9) Закройте запрос Выбор книг по году издания. 3.19. Создайте параметрический запрос для поиска Читателей по нескольким первым буквам фамилии. 1) Создайте новый запрос в режиме конструктора на основе таблицы Читатели с полями Фамилия, Имя, Отчество, Место работы и Должность. 2) Проверьте, что на экран будут выводиться все поля запроса. 3) Определите условие выбора данных: в строку Условие отбора бланка запроса для поля Фамилия введите выражение: Like[первые буквы фамилии] & "*" / Enter.
  • 13. 13 4) Определите тип данных для параметра: нажмите элемент Конструктор на ленте окна базы данных / / в первую строку столбца Параметр введите имя параметра: первые буквы фамилии / в столбце Тип данных для этого параметра выберите из списка Текстовый / ОК. 5) Выполните запрос и просмотрите его результаты в режиме таблицы / в качестве значения параметра введите: кур / ОК. 6) Сохраните запрос под именем Поиск читателей по первым буквам фамилии и закройте его. Создание перекрестных запросов 3.20. Создайте в режиме конструктора перекрестный запрос, содержащий список всех издательств и количество книг, изданных конкретным издательством по годам, а также общее количество книг, изданных каждым издательством за весь период (рис. 1). Издательство Итого 2008 2009 2012 2013 АСТ 1 1 БХВ-Петербург 2 1 1 Эксмо 1 1 Опма Медиа Групп 1 1 Триумф 1 1 Феникс 1 1 Рис.1. Перекрестный запрос Активность издательств 1) Создайте новый запрос в режиме конструктора на основе таблицы Книги с полями Издательство, Год издания и Код книги. 2) Определите тип создаваемого запроса: нажмите элемент Конструктор на ленте окна базы данных / Перекрестный (в бланке запроса дополнительно отобразятся строки Групповая операция и Перекрестная таблица. По умолчанию для всех полей, добавленных в бланк запроса, в строке Групповая операция устанавливается значение Группировка). 3) Укажите, что значения поля Издательство будут использоваться в качестве заголовков строк: в строке Перекрестная таблица бланка запроса для поля Издательство выберите из списка Заголовки строк. 4) Укажите, что значения поля Год издания будут использоваться в качестве заголовков столбцов: в строке Перекрестная таблица бланка запроса для поля Год издания выберите из списка Заголовки столбцов. 5) Укажите, что поле Код книги содержит значения, на основе которых будет вычисляться количество книг: в строке Перекрестная таблица бланка запроса для поля Код книги выберите из списка Значение; в строке Групповая операция бланка запроса для поля Код книги выберите из списка функцию Count. 6) Выполните запрос и просмотрите его результаты в режиме таблицы. 7) Вернитесь в режим конструктора. 8) Добавьте в перекрестный запрос столбец, содержащий общее количество книг, изданных каждым издательством за весь период:
  • 14. 14 еще раз перенесите в бланк запроса поле Код книги; в строке Перекрестная таблица бланка запроса для этого поля выберите из списка Заголовки строк; в строке Групповая операция бланка запроса для этого поля выберите из списка функцию Count; присвойте вычисляемому полю имя Итого: щелчком мыши установите текстовый курсор перед именем поля Код книги / введите: Итого:. 9) Выполните запрос и просмотрите его результаты в режиме таблицы. 10) Сохраните запрос под именем Активность издательств и закройте его. 3.21. Добавьте в перекрестный запрос Активность издательств условие для выбора книг, стоимость которых не более 70000 руб. Для сводной таблицы определите постоянные заголовки столбцов. 1) Откройте запрос Активность издательств в режиме конструктора. 2) Добавьте в перекрестный запрос условие для выбора книг, стоимость которых не более 70000 руб.: перенесите в бланк запроса поле Стоимость; в строке Перекрестная таблица бланка запроса для поля Стоимость выберите из списка (не отображается); в строке Групповая операция бланка запроса для поля Стоимость выберите из списка Условие; определите условие отбора: в строку Условие отбора бланка запроса для поля Стоимость введите выражение: <=70000 / Enter. 3) Выполните запрос и просмотрите его результаты в режиме таблицы (как и в случае итоговых запросов, записи, не удовлетворяющие заданному условию отбора, исключаются перед выполнением вычислений). 4) Вернитесь в режим конструктора. 5) Определите постоянные заголовки столбцов для сводной таблицы (не зависящие от наличия соответствующих значений в поле Год издания, используемом в качестве заголовков столбцов): щелчок мыши в любом месте окна запроса вне бланка запроса и списков полей / в диалоговом окне Окно свойств в строку Заголовки столбцов введите: 2007; 2008; 2009; 2010; 2011; 2012; 2013 / закройте диалоговое окно Окно свойств. 6) Выполните запрос и просмотрите его результаты в режиме таблицы. 7) Закройте запрос Активность издательств, сохранив изменения его структуры. Создание запросов на изменение 3.22. С помощью запроса на обновление измените данные таблицы Книги с учетом того, что стоимость книг, изданных в Санкт-Петербурге, выросла на 10%. 1) На основе таблицы Книги создайте запрос на выборку для отбора книг, изданных в Санкт-Петербурге. Добавьте в бланк запроса поля Название, Стоимость и Город. Определите соответствующее условие выбора данных для поля Город. 2) Выполните запрос и убедитесь в правильности отобранных данных. 3) Вернитесь в режим конструктора. 4) Преобразуйте запрос на выборку в запрос на обновление: элемент Конструктор на ленте окна базы данных / Обновление (в бланке запроса исчезнут строки Сортировка, Вывод на экран и дополнительно отобразится строка Обновление).
  • 15. 15 5) Укажите, каким образом должны быть изменены данные таблицы: в строку Обновление бланка запроса для поля Стоимость введите выражение: [Стоимость]*1,1 / Enter. 6) Сохраните запрос под именем Обновление стоимости книг, изданных в Санкт-Петербурге и закройте его. 7) Настройте вывод на экран сообщений с приглашением подтвердить выполнение запросов на изменение: кнопка «Office» / параметры Access /вкладка Дополнительно / в разделе Подтверждение установите флажок запросов на изменение / ОК. 8) Выполните запрос на обновление данных: двойной щелчок мышью по запросу Обновление стоимости книг, изданных в Санкт-Петербурге в окне базы данных / подтвердите обновление записей. 9) Убедитесь в выполнении запроса: откройте таблицу Книги / убедитесь в обновлении данных / закройте таблицу Книги. 3.23. С помощью запроса на создание новой таблицы создайте архивную таблицу, которая будет содержать информацию о выдачах книг за 2013 год. 1) Создайте запрос на выборку для отбора информации о выдачах книг за 2013 год: создайте новый запрос в режиме конструктора на основе таблицы Выдачи с полями Код выдачи, Код читателя, Код книги, Дата выдачи и Отметка о возврате; добавьте в запрос вычисляемое поле, которое будет использоваться для отбора информации о выдачах книг за 2013 год: в пустую ячейку строки Поле бланка запроса (после поля Отметка о возврате) введите выражение: Year([Дата выдачи]) / Enter; укажите, что вычисляемое поле не должно выводиться на экран: снимите флажок в строке Вывод на экран бланка запроса для вычисляемого поля; определите условие выбора данных: в строке Условие отбора бланка запроса для вычисляемого поля введите: 2013 (=2013). 2) Выполните запрос и убедитесь в правильности отобранных данных. 3) Вернитесь в режим конструктора. 4) Преобразуйте запрос на выборку в запрос на создание новой таблицы: элемент Конструктор на ленте окна базы данных / Создание таблицы / в диалоговом окне Создание таблицы установите переключатель в текущей базе данных / в поле Имя таблицы введите: Выдачи за 2013 год / ОК. 5) Сохраните запрос под именем Создание архивной таблицы выдач и закройте его. 6) Выполните запрос на создание новой таблицы: двойной щелчок мышью по запросу Создание архивной таблицы выдач в окне базы данных / подтвердите создание новой таблицы. 7) Убедитесь в выполнении запроса: двойной щелчок по таблице Выдачи за 2013 год / убедитесь в наличии новой таблицы Выдачи за 2013 год (при этом в исходной таблице Выдачи записи за 2013 год остались). 3.24. С помощью запроса на удаление удалите из таблицы Выдачи все записи за 2013 год. 1) На основе таблицы Выдачи создайте запрос на выборку для отбора информации о выдачах книг за 2013 год. 2) Выполните запрос и убедитесь в правильности отобранных данных. 3) Вернитесь в режим конструктора.
  • 16. 16 4) Преобразуйте запрос на выборку в запрос на удаление: элемент Конструктор на ленте окна базы данных / Удаление (в бланке запроса исчезнут строки Сортировка, Вывод на экран и дополнительно отобразится строка Удаление). 5) Выполните запрос на удаление: / подтвердите удаление записей. 6) Сохраните запрос под именем Удаление выдач за 2013 год и закройте его. 7) Убедитесь в выполнении запроса: двойной щелчок по таблице Выдачи и убедитесь в отсутствии записей за 2013 год / закройте таблицу Выдачи. 3.25. С помощью запроса на добавление восстановите исходные данные таблицы Выдачи, добавив в таблицу записи из архивной таблицы Выдачи за 2013 год. 1) На основе таблицы Выдачи за 2013 год создайте запрос на выборку. Добавьте в бланк запроса все поля таблицы. 2) Преобразуйте запрос на выборку в запрос на добавление: элемент Конструктор на ленте окна базы данных / Добавление / в диалоговом окне Добавление установите переключатель в текущей базе данных / в поле Имя таблицы выберите из списка Выдачи / ОК (в бланке запроса исчезнет строка Вывод на экран и дополнительно отобразится строка Добавление, в которой указываются имена полей дополняемой таблицы, куда будут помещены данные из выборки). 3) Проверьте соответствие имен полей выборки и дополняемой таблицы (строки Поле и Добавление) / в случае несовпадения имен полей в соответствующей ячейке строки Добавление выберите из списка нужное имя поля дополняемой таблицы. 4) Выполните запрос на добавление: / подтвердите добавление записей. 5) Сохраните запрос под именем Добавление выдач за 2013 год и закройте его. 6) Убедитесь в восстановлении исходных данных таблицы Выдачи: откройте таблицу Выдачи и убедитесь в наличии записей за 2013 год / закройте таблицу Выдачи. 3.26. Завершите работу с базой данных Библиотека и с Microsoft Access. 1. Завершите работу с базой данных Библиотека и с Microsoft Access: нажмите кнопку Закрыть .