Laboratornye_raboty_MS_Access

advertisement
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ТЮМЕНСКОЙ ОБЛАСТИ
ТЮМЕНСКАЯ ГОСУДАРСТВЕННАЯ АКАДЕМИЯ МИРОВОЙ ЭКОНОМИКИ,
УПРАВЛЕНИЯ И ПРАВА
Кафедра математики и информатики
Е.Н. ФОКИНА
ЛАБОРАТОРНЫЕ РАБОТЫ
MS OFFICE ACCESS 2007
для студентов специальностей
«Налоги и налогообложение»,
«Мировая экономика», «Маркетинг»
Тюмень
2009
1
Инструкции к выполнению лабораторных работ по созданию, редактированию и
использованию баз данных в программе MS Access предназначены для студентов
второго курса специальностей «Налоги и налогообложение», «Маркетинг
организации», «Мировая экономика».
По данным статистики Microsoft Access 2007 – самая популярная настольная
система управления базами данных. Она входит в состав Microsoft Office Professional
2007, что обеспечивает ее связь с другими офисными приложениями (тестовый
редактор Word, программа для работы с таблицами Excel, более того, в новой версии
реализована поддержка PDF форматов).
Данное пособие позволит на практических примерах рассмотреть приемы
проектирования баз данных, разработки таблиц и связей между ними, создания
запросов любой сложности для обработки данных.
В процессе выполнения лабораторных работ, студенты смогут достаточно
подробно познакомиться с организацией данных в реляционных базах данных.
Научатся проектировать базы данных Access, создавать таблицы и устанавливать
связи между ними, выполнять импорт и устанавливать связь с внешними источниками
данных, создавать сложные запросы, формы, и отчёты, структурировать
информацию, хранящуюся в базе, для подробного анализа.
Пособие также будет полезно тем, кто обладает знаниями в объёме программы и
хочет их систематизировать, а также повысить свою эффективность за счёт новых
приёмов и методов работы.
2
СОДЕРЖАНИЕ
Общие сведения .............................................................................................. 3
Лабораторная работа №1
Создание и редактирование таблиц.............................................................................................5
Лабораторная работа №2
Создание и редактирование схемы данных ....................................................... 11
Лабораторная работа №3
Создание простых запросов. Построитель выражений.
Фильтры. Сортировка записей в таблице. ......................................................... 13
Лабораторная работа №4
Создание различных форм .............................................................................. 16
Лабораторная работа №5
Создание многотабличной базы данных ........................................................... 19
Лабораторная работа №6
Создание сложных форм .................................................................................. 25
Лабораторная работа №7
Использование выражений в запросах ............................................................. 28
Лабораторная работа №8
Итоговые запросы ............................................................................................ 30
Лабораторная работа №9
Создание запросов-действий (модифицирующие запросы) ............................... 35
Лабораторная работа №10
Создание и применение сводных таблиц .......................................................... 37
Лабораторная работа №11
Отчёты ............................................................................................................ 40
Лабораторная работа №12
Оформление стандартных документов путем слияния двух файлов .................. 45
Лабораторная работа №13
Создание макросов .......................................................................................... 47
Лабораторная работа №14
Использование мастера главной кнопочной формы .......................................... 49
Лабораторная работа №15
Макрос Auto Exec ............................................................................................. 53
3
Общие сведения
Основные понятия баз данных.
Базы данных и системы управления базами данных.
База данных — это организованная структура, предназначенная для хранения
информации.
С понятием базы данных тесно связано понятие системы управления базами
данных (СУБД) - это комплекс программных средств и языковых средств,
предназначенный для создания структур, обработки
баз данных, наполнения,
редактирования и постоянного обновления их содержимого.
В те годы, когда формировалось понятие баз данных, в них хранились только
данные. Однако сегодня большинство систем управления базами данных позволяют
размещать в своих структурах не только данные, но и методы (то есть программный
код), с помощью которых происходит взаимодействие с потребителем или с другими
программно-аппаратными комплексами. Таким образом, можно говорить о том, что в
современных базах данных хранятся не только данные, но и информация.
Большинство современных СУБД основаны на реляционной модели построения
данных. Название "реляционная" связано с тем, что каждая запись в такой базе
данных содержит информацию, относящуюся (related) только к одному объекту.
Кроме того, с данными о двух объектах можно работать как с единым целым,
основанным на значениях связанных между собой данных. Все данные в реляционной
БД представлены в виде таблиц.
Каждая строка таблицы содержит информацию только об одном объекте и
называется записью. Столбец таблицы содержит однотипную для всех записей
информацию и называется полем.
Для успешного функционирования базы данных важна правильная организация
данных в ней. При определении структуры данных в базе выделяют следующие
основные понятия.
Класс объектов - совокупность объектов, обладающих одинаковым набором
свойств. Для каждого отдельного объекта из данных классов объектов в таблице
создается отдельная запись.
Свойство (атрибут) - определенная часть информации о некотором объекте.
Хранится в виде столбца (поля) таблицы.
Связь (отношение) - способ, которым связана информация о разных объектах.
Основные (основные части) объекты базы данных: таблица, форма, запрос,
отчет, макросы, модули.
1.
Таблицы. Основной частью каждой базы данных являются таблицы.
Строками таблицы являются записи, а столбцами – поля. Работать с хранимой
информацией можно непосредственно в таблице.
2.
Формы. Для удобного представления и ввода информации на экране
используются формы. Форма похожа на обычный бланк с полями, который
необходимо заполнить. ACCESS связывает форму с таблицей и хранит в таблице
введённую в форму информацию.
3.
Отчёты предназначены для вывода данных на печать. Они позволяют
группировать данные и вычислять промежуточные итоги в соответствии с заданными
описаниями
4.
Запросы. Для выборки, поиска и сортировки данных в ACCESS используются
запросы. Запрос – это команда к базе данных, которая требует предоставить
4
указанную информацию. Результатом выполнения запроса является производная
таблица. С помощью запроса можно указать:
 какие поля необходимы для просмотра и из каких таблиц;
 в каком порядке должны быть расположены поля;
 критерии (условия) для фильтрации (отсеивания) для каждого поля.
5. Макросы и модули предназначены для автоматизации повторяющихся
операций при работе с СУБД и для создания новых функций путём
программирования. Используя модули, разработчик может заложить в проектируемую
базу нестандартные функциональные возможности, удовлетворить специфические
требования заказчика, повысить быстродействие системы управления, а также
уровень безопасности.
Для удобства выполнения сложных действий при создании объектов базы данных
в ACCESS предусмотрены программы Мастеров с удобными средствами визуального
проектирования объектов. Работа этих программ основана на пошаговом диалоге с
пользователем, в ходе которого постепенно автоматически выполняется построение
нужного объекта.
Связь между объектами в реляционных базах данных осуществляется через
ключевые поля. Ключи могут быть:
- первичными (простыми и составными);
- внешними.
Первичный ключ уникальным образом идентифицирует каждую запись в таблице.
Табельный номер сотрудника, номерной знак автомобиля, адрес электронной почты и
пр.) – может стать первичным ключом. В идеале первичный ключ состоит только из
одного поля. Но, иногда для формирования первичного ключа требуется несколько
полей, например, для указания местоположения объекта требуется одновременно
широта и долгота. Такой ключ называется составным, но обращение к нему
осуществляется как к отдельному элементу. Первичные ключи необходимо выбирать
осторожно. Каждый первичный ключ должен удовлетворять следующим
требованиям:
 уникальность: значение первичного ключа уникальным образом
идентифицирует каждую запись в таблице;
 минимальный размер;
 ненулевое значение: значение ключевого поля не может оставаться
пустым;
 необновляемость: уникальный идентификатор должен быть постоянным.
Например, номер машины существует, пока существует машина, или номер
пенсионного страхового свидетельства.
Внешние ключи. Первичный ключ основной (родительской) таблицы должен быть
воспроизведён во всех дочерних таблицах, связанных с ней. Внешние ключи
связывают родственные записи в основной и дочерней таблицах.
ЛАБОРАТОРНАЯ РАБОТА № 1
Создание и редактирование таблиц
Цель работы:
Изучить принципы построения реляционной базы данных, освоить правила
создания и основные приёмы редактирования таблиц.
Задачи работы:
5
1. Познакомиться со справочной системой MS Access.
2. Создать и отредактировать таблицу.
Общие сведения
Создание новой базы данных
Когда ACCESS запускается в первый раз, то можно быстро создать новую базу данных
с помощью диалогового окна «Microsoft Access»:

запустить программу: Пуск/ Microsoft Office/ Microsoft Office Access ;

выбрать значок «Новая база данных»;

присвоить имя файлу, например, Тренировочная;

нажать кнопку «Создать» (ACCESS создаст новую, пустую базу данных)
Внимание! Под окошком, в котором задаётся имя файла, указывается адрес, по
которому файл будет сохранён.
Создание структуры таблицы. Основные типы данных
1. Создание файла базы данных. При создании новой базы данных, откроется
таблица в режиме заполнения с двумя полями (по умолчанию): Код и Добавить поле.
Имена полей можно задать в Режиме таблицы, но типы полей можно задать только в
режиме Конструктора. Для того, чтобы перейти в режим Конструктора, на вкладке
Главная, нажав на кнопке Режим, выберите Конструктор. Сохраните таблицу под
именем «Сотрудники» Наберите с клавиатуры имена полей: КодСотрудника, Имя,
Фамилия, Должность.
2. Определение типа данных. Выберите для всех полей типы данных.
Основные типы данных
 Текстовый: алфавитно-цифровые данные (до 255 символов)
 Мемо: текст большого размера (до 64000 символов)
 Числовой: числовые данные (имеет форматы: байт, целое, длинное целое,
одинарное с плавающей точкой, двойное с плавающей точкой, код репликации,
действительное)
 Дата/время: дата и время (8 байт)
 Денежный: число, имеющее денежный формат (8 байт)
 Счетчик: автоматическая нумерация записей, выполняемая в ACCESS, начиная с 1
(4 байта). Внимание! Редактировать поле, имеющее тип Счётчик, нельзя!
 Логический: логические данные, принимающие значение истина или ложь
 Поле объекта OLE: графические, видео, звуковые файлы
 Гиперссылка: гиперссылки, представляющие путь к файлу на жёстком диске, либо
адрес в сетях Интернет
 Вложение (только для MS Office Access 2007): позволяет хранить вложенные
файлы, изображения размером до двух гигабайт
Примечание: Кроме вышеперечисленных типов данных в списке указан элемент
Мастер подстановок, позволяющий выбирать значение поля из фиксированного списка
или таблицы.
3. Свойства поля. Каждое поле имеет индивидуальные свойства, определяющие как
должны храниться, отображаться и обрабатываться данные. Набор свойств зависит от
выбранного типа данных и определяется в бланке Свойств поля в нижней части окна
конструктора таблиц.
Размер поля – определяется в символах только для полей, имеющих типы Текстовый
и Мемо. По умолчанию длина поля составляет 255 символов.
6
Формат поля – определяется для полей числового, денежного типа, полей типа
Счетчик и Дата\Время. Выбирается один из форматов представления данных.
Число десятичных знаков - определяет количество разрядов в дробной части
числа.
Маска ввода - определяет шаблон для ввода данных. Например, можно
установить разделители при вводе телефонного номера.
Подпись поля - содержит надпись, которая может быть выведена рядом с полем
в форме или отчете (данная надпись может и не совпадать с именем поля, а также
может содержать поясняющие сведения).
Значение по умолчанию - содержит значение, устанавливаемое по умолчанию
в данном поле таблицы. Например, если в поле «Город» ввести значение по
умолчанию Тюмень, то при вводе записей о проживающих в Тюмени, это поле можно
пропускать, а соответствующее значение (Тюмень) будет вводиться автоматически.
Это облегчает ввод значений, повторяющихся чаще других.
Условие на значение - определяет множество значений, которые пользователь
может вводить в это поле при заполнении таблицы. Это свойство позволяет избежать
ввода недопустимых в данном поле значений. Например, если скидка не может
превышать 10%., то для этого поля можно задать условие на значение: <=10.
Сообщение об ошибке - определяет сообщение, которое появляется на экране
в случае ввода недопустимого значения.
Обязательное поле - установка, указывающая на то, что данное поле требует
обязательного заполнения для каждой записи. Например, поле «Домашний телефон»
может быть пустым для некоторых записей (значение Нет в данном свойстве). А поле
«Фамилия» не может быть пустым ни для одной записи (значение Да).
Пустые строки - установка, которая определяет, допускается ли ввод в данное
поле пустых строк (Да).
Индексированное поле - определяет простые индексы для ускорения поиска
записей (Нет – поле не индексировано, Да (Допускаются совпадения), Да
(Совпадения не допускаются)).
Поле Описание в верхней части окна не обязательно для заполнения. Обычно,
для удобства пользования базой, в него вносится описание данных, которые будут
вноситься в данное поле.
4. Создание ключевого поля.
Определение ключевого поля позволяет
правильно установить связи между таблицами в многотабличной базе данных.
Рис.1. Создание ключевого поля.
По умолчанию ключ задаётся автоматически для первого поля таблицы (рис.1). В
7
данном случае это будет поле «КодСотрудника», которое будет однозначно
характеризовать каждую запись в таблице.
В большинстве случаев ключевое поле определяется разработчиком БД. Для того,
чтобы определить нужное поле таблицы ключевым, установите курсор мыши в одной
строке с именем поля и щелкните на кнопке, обозначенной ключом
и
расположенной на вкладке Конструктор.
5. Изменение макета и структуры таблицы.
5.1. Измените размер полей «Фамилия» и «Имя». Для этого установите курсор на
поле «Фамилия», затем для задания размера этого поля используйте нижнюю часть
окна Общие. Установите курсор на строке «Размер поля», удалите текущее значение
255 и введите новое число 15 (т.е. вместо 255 - 15 символов). Аналогично измените
размер поля «Имя» с 255 на 10. Размер поля можно изменять непосредственно в
Режиме таблицы, перетащив мышью границы поля. Сохраните созданную таблицу и
перейдите в Режим таблицы.
5.2. Отформатируйте столбцы по содержимому. По-другому можно изменять
размеры столбцов при помощи меню: поместите курсор мыши в голубую область
маркировки столбца "КодСотрудника" (заголовка поля) в верхней части столбца.
Когда курсор примет форму стрелки черного цвета, направленной вниз, щелкните
левой кнопкой мыши, и столбец будет подсвечен (замаркирован). После этого
щелкните правой кнопкой мыши и в меню выберите Ширина столбца/По ширине
данных.
Изменение высоты строки аналогично изменению ширины столбца.
Внимание! При изменении высоты одной строки автоматически изменяются
все остальные строки.
5. 3. Заполните таблицу следующими записями:
КодСотрудника
имя
фамилия
должность
1
Андрей
Шишкин
2
Павел
Максимов
кладовщик
3
Валерий
Фомин
экспедитор
4
5
Игорь
Михаил
Казанцев
Багров
старший менеджер
менеджер по персоналу
6
7
продавец
Татьяна
Лыкова
секретарь
Ирина
Моисеева
продавец
6. Копирование, удаление, перемещение записей. Выделите первую запись,
щелкнув левой кнопкой мыши на область маркировки первой записи.
Скопируйте запись, щёлкнув правой кнопкой мыши по выделенной записи и
выбрав в меню Копировать. Или выберите значок Копировать на вкладке
Главная/раздел Буфер обмена. Вставьте скопированную запись в пустую строку,
предварительно выделив эту строку. Поле «КодСотрудника» ключевое, и в нем не
должно быть повторяющих значений. Тип данных этого поля Счётчик, поэтому
изменение значения этого поля производится автоматически.
Аналогично можно запись вырезать и вставить в пустую строку. При проведении
операций копирования, удаления, вставки можно использовать стандартное
8
сочетание клавиш.
Внимание! Копирование и вставка всегда производятся в пустую строку.
7. Перемещение полей. Выделите столбец «Фамилия». Подведите курсор в
область маркировки столбца «Фамилия» (курсор должен принять вид стрелки белого
цвета, направленной вверх). Нажав левую кнопку мыши, перетащите столбец на
место перед столбцом «Имя».
8. Закрепление столбцов. Выделите столбец «КодСотрудника». Щёлкните
правой кнопкой мыши и в меню выберите Закрепить столбцы. Обычно эту команду
используют в том случае, если вся таблица не помешается на экране, и есть
необходимость сравнить фиксированный столбец со всеми полями таблицы. Закройте
таблицу.
Внимание! Фиксацию столбца можно снять командой Освободить все столбцы.
9. Скрытие столбцов. Щёлкните правой кнопкой мыши и в меню выберите
Скрыть столбцы. Команда Отобразить столбы выведет на экран диалоговое окно, в
котором предлагается выбрать столбцы для выведения на экран.
10. Добавление полей.
10.1. Щёлкните 2 раза по полю Добавить поле и введите новое имя поля «Номер
телефона» после поля «Должность».
10.2. Для определения типа данных перейдите в режим Конструктора: тип данных
Текстовый, Описание - рабочий телефон.
10.3. Введите новое поле «Отчество» после поля «Имя». Для этого необходимо
вставить пустую строку: установите курсор на поле «Фамилия» и, щёлкнув правой
кнопкой мыши, выберите команду Вставить строки. Введите в появившуюся пустую
строку имя нового поля «Отчество», тип данных Текстовый.
10.4. Сохраните изменения и перейдите в Режим таблицы. Заполните новые
поля «Отчество» и «Номер телефона» произвольно.
11. Создание таблицы путём ввода данных.
11.1. Откройте базу данных. Сделайте активной вкладку Создание и в разделе
Таблицы щёлкните по кнопке Таблица. Появится пустая таблица, поля которой не
определены и не имеют названия. При вводе информации в поле его тип
устанавливается автоматически.
11.2. Переименуйте поля. Для этого установите курсор в ячейку со словом «Код»,
правой кнопкой мыши вызовите меню и выберите команду Переименовать столбец.
Или дважды щелкните мышкой по заголовку столбца. Ячейка имени столбца окажется
выделенной. Введите название поля «Отдел» и нажмите клавишу Enter. Аналогично
переименуйте второе поле, дав ему имя «Руководитель». Сохраните таблицу под
именем «Отделы».
11.3. Откройте таблицу «Отделы» в режим Конструктор и посмотрите, как заданы
типы полей. Измените тип данных поля «Отдел» на числовой. По умолчанию поле
«Отдел» определяется ключевым. Сохраните изменения.
11.4. Перейдите в Режим таблицы, заполните её следующими данными и
закройте:
отдел
руководитель
101
Бурматова Е.К.
102
Ташин В.Н.
103
Санина И.В.
9
12. Создание таблицы на основе шаблона.
12.1. Откройте созданную базу данных и перейдите на вкладку Создание. Нажав
на кнопку Шаблоны таблиц, выберите Контакты.
12.2. Перейдите в режим Конструктора, сохранив таблицу под именем
«Дополнительные сведения».
12.3. Поле «Код» переименуйте в «КодСотрудника».
12.4. Оставьте поля «Адрес», «Город». Измените названия имеющихся полей на
«ДатаРождения», «ДатаНайма».
12.5. Ключевым сделайте поле «КодСотрудника».
12.6. Измените формат даты.
Установите курсор на поле «ДатаРождения». В окне Свойство поля (Общие) в
нижней части окна конструктора щелкните в строке Формат поля, а затем на стрелке
вниз в правом конце строки, выберите Длинный формат даты (рис.2).
Рис.2. Изменение формата даты.
13. Мастер подстановок. Создание поля Подстановки.
13.1. Откройте таблицу «Сотрудники» в режиме Конструктор и добавьте поле
«Отдел».
13.2. Выберите для поля «Отдел» тип данных Числовой, а затем выберите тип
данных Мастер подстановок.
13.3. Убедитесь, что активна кнопка «Объект «столбец подстановки» будет
использовать значения из таблицы или запроса» и нажмите Далее.
13.4. Выберите таблицу «Отделы» и в следующем окне выберите поле «Отдел».
Порядок сортировки можно оставить по умолчанию.
13.5. В следующем окне вы должны увидеть содержимое поля «Отдел» таблицы
«Отделы».
13.6. В следующем окне можно изменить заголовок столбца таблицы
«Сотрудники», в котором будет использоваться подстановка. Нажмите кнопку Готово.
13.7. Перейдите в Режим таблицы и заполните поле Отдел, выбирая нужное
значение из раскрывающегося списка.
14. Мастер подстановок. Создание поля Подстановки с фиксированным
набором значений.
14.1. Откройте таблицу «Сотрудники» в режиме Конструктора и перед полем
10
«Отдел» добавьте поле «Категория», выбрав тип данных Текстовый, а затем Мастер
подстановок.
14.2. В диалоговом окне Создание подстановки сделайте активной кнопку «Будет
введён фиксированный набор значений», щёлкните Далее.
14.3. В следующем окне в столбце введите значения А, В, и С, каждое в
отдельной строке.
14.4. В следующем окне задайте имя столбца подстановки «Категория» и
нажмите кнопку Готово.
14.5. Закройте окно Конструктора, сохранив изменения.
Внимание! В первом случае для подстановки используются данные из таблицы,
в которую можно добавлять значения. Во втором случае используется
фиксированный список значений.
14.6. Заполните поле «Категория».
15. САМОСТОЯТЕЛЬНАЯ РАБОТА.
Создайте таблицу «Выплаты». В таблице использовать поля: КодСотрудника
(тип данных Счётчик), Основные (тип данных Числовой), Дополнительные (тип
данных Числовой). При заполнении таблицы в поля Основные и Дополнительные
введите произвольно числа (например. 3000, 4534. 650, 2067 и т.д.) для каждого
сотрудника, но не более 5000 тысяч в графе Основные и не более 1000 в графе
Дополнительные.
ЛАБОРАТОРНАЯ РАБОТА №2
Создание и редактирование схемы БД. Поиск данных
Цель работы:
Освоить приёмы создания и редактирования структуры БД, поиска и автозамены
данных.
Задачи работы:
1. Создать проект БД из двух таблиц.
2. Произвести поиск и автозамену данных в одной из таблиц.
Общие сведения.
Основным структурным компонентом базы данных, как правило, является
таблица. При определении состава таблиц следует руководствоваться правилом: в
каждой таблице должны храниться данные только об одном классе объектов.
Если в базе данных должна содержаться информация о разных классах объектов,
то она должна быть разбита на отдельные таблицы. Связь между таблицами
осуществляется с помощью общих полей.
Связи между любыми двумя таблицами относятся к одному из трех типов: один-кодному (1:1), один-ко-многим (1:М) и многие-ко-многим (М:М).
Связь типа "один-к-одному" (1:1)
При этом типе связи каждой записи в одной таблице соответствует не более
одной записи в другой таблице. Этот вид связи встречается довольно редко. В
основном в тех случаях, когда часть информации об объекте либо редко
используется, либо является конфиденциальной (такая информация хранится в
отдельной таблице, которая защищена от несанкционированного доступа).
Связь типа "один-ко-многим" (1:М)
При таком типе связи каждой записи в одной таблице соответствует несколько
записей в связанной таблице. Этот тип связей наиболее распространенный. Для его
11
реализации используются две таблицы. Одна из них представляет сторону "один",
другая - сторону "много".
В таблице со стороны "один" связывающее поле называется ключевым. Основное
требование к значениям в ключевых полях - это их уникальность для каждой записи
(т.е. они не должны повторяться).
Связь типа "многие-ко-многим" (М:М)
При таком типе связи множеству записей в одной таблице соответствует
множество записей в связанной таблице. Большинство современных СУБД
непосредственно не поддерживают такой тип связи. Для его реализации такая связь
разбивается на две связи типа один-ко-многим.
1. Установление связи между таблицами. Сделайте активной вкладку Работа
с базами данных. Связь можно установить между одноимёнными полями таблиц.
1.1. Нажмите кнопку Схема данных на вкладке Работа с базами данных.
1.2. В появившемся окне Добавление таблицы со списком всех таблиц открытой
базы данных, выделите таблицы «Выплаты», «Сотрудники» и нажмите кнопку
Добавить. Закройте окно Добавление таблицы.
1.3. Выделите поле «КодСотрудника» в таблице «Сотрудники» и, удерживая
нажатой левую клавишу мыши, переместите указатель (он примет вид маленького
прямоугольника) на поле «КодСотрудника» в таблице «Выплаты». Появится
диалоговое окно Изменение связей.
1.4. Чтобы обеспечить целостность данных при установлении связи между двумя
таблицами, необходимо установить флажок «Обеспечение целостности данных» (рис.
3).
Рис. 3. Окна схемы данных и изменения связей.
1.5. Нажмите кнопку Создать, после чего на экране вновь появится окно Схемы
данных с графическим изображением установленной связи. Пометки у концов линии
связи показывают тип отношения: один-к-одному.
2. Редактирование и удаление связей.
Удаление связей: щёлкнуть по линии связи и нажать клавишу Del.
Редактирование связей: дважды щелкнуть мышью по линии связи, появится
диалоговое окно Изменение связей.
2.1. Откройте Схему данных и в появившемся меню выберите Добавить таблицу.
В окне Добавление таблицы выделите таблицу «Отделы» и щелкните по кнопке
Добавить. Закройте окно Добавление таблицы.
2.2. Если подстановочное поле было оформлено правильно, таблицы
«Сотрудники» и «Отделы» окажутся связанными между собой тонкой линией без
12
определения связи. Щёлкните правой кнопкой мыши по линии и выберите «Изменить
связь..».
2.3. В диалоговом окне Изменение связей (рис.4) установите флажки
Обеспечение целостности данных, Каскадное обновление связанных полей (при
изменении номера отдела в таблице «Отделы» автоматически изменится
соответствующий номер в таблице «Сотрудники»).
Рис. 4. Изменение связей в схеме данных.
Каскадное удаление связанных полей активировать не надо (при удалении записи
с номером отдела из таблицы «Отделы» будут удалены все записи из таблицы
«Сотрудники», в которых находились соответствующие номера отделов). Щёлкните
на кнопке «Создать». Появится связь «один-ко-многим». Закройте Схему данных,
сохранив изменения.
3. Проверка каскадного обновления связанных полей.
3.1. Откройте таблицу «Отделы» и исправьте номера отделов на 201, 202, 203.
Закройте таблицу, сохранив изменения.
3.2. Откройте таблицу «Сотрудники». Убедитесь, что значения поля «Отдел»
изменились.
3.3. Добавьте новую запись в таблицу «Отделы» И проверьте появление этой
записи в списке подстановочного поля.
4. Поиск данных. Осуществите поиск сотрудника с фамилией Багров: вкладка
Главная/Найти. В строке Образец поиска набрать фамилию Багров. В поле
«Совпадение с» выберите С любой частью поля, в поле «Просмотреть» – Все и
нажмите на кнопку Найти.
5. Автоматическая замена значения. Заменить должность «продавец» на
«менеджер»: вкладка Главная/Найти/Замена. В строке «Образец» указать, какую
должность искать (продавец) а в следующей строке «Заменить на» указать, на какую
должность заменить (менеджер). В окошке Совпадение с выберите С любой частью
поля, в окошке Просмотр выберите Все. Нажмите кнопку Найти далее, а затем
Заменить все.
6. Самостоятельная работа. Внесите в схему данных таблицу «Дополнительные
сведения», связав её с таблицей «Сотрудники».
Лабораторная работа №3
Создание простых запросов.
Сортировка записей в таблице
Построитель
13
выражений.
Фильтры.
Цели работы:
Освоить основные принципы создания запросов на выборку, применения
фильтров и сортировки данных.
Задачи работы:
1. Создать запросы на выбору с использованием различных критериев.
2. Применить фильтры для поиска и сортировки данных в одной из таблиц.
Общие сведения.
С помощью запроса из базы данных можно выбрать любую информацию. Запрос –
это обращение к БД для поиска или изменения информации, соответствующей
заданным критериям.
Средствами Access можно создать следующие типы запросов:
- запрос на выборку;
- перекрёстный запрос;
- запрос-действие (модифицирующий);
- запрос с параметром.
Наиболее применяемыми являются запросы на выборку, с помощью которых
можно отобрать данные, отвечающие заданным критериям из одной или нескольких
таблиц. При этом изменений в самой базе данных не происходит.
В процессе создания запроса Access создаёт выражение на языке SQL, которое
будет использоваться для выполнения запроса.
1.
Создание запроса на выборку.
Сделайте активной вкладку Создание. Щелкните на кнопке Конструктор запросов.
Окно Конструктора запросов состоит из двух частей. В верхнюю часть добавляются
окна таблиц со списками полей. Имя каждой таблицы отражается в заголовке такого
окна.
Нижняя часть является бланком запроса: область QBE (Query by Example – запрос
по образцу). В сетке QBE указываются данные и критерии, по которым их надо
отобрать.
Чтобы указать Access, что необходимы данные из двух таблиц «Выплаты» и
«Сотрудники», в окне Добавление таблицы выделите обе таблицы, а затем нажмите
кнопку Добавить. Закройте окно Добавление таблицы.
1.1. Выберите в строку Поле окна Запросы из таблицы «Сотрудники» поле
«Фамилия», а из таблицы «Выплаты» - «Основные» и «Дополнительные». Поля
можно выбирать одним из следующих способов:
- зацепив нужное поле мышкой перетащить его в нужную ячейку;
- дважды щёлкнуть левой кнопкой мыши по нужному полю;
- нажав кнопку в строке Имя таблицы, выбрать из раскрывающегося списка
нужную таблицу, а затем нажав кнопку в строке Поле - нужное поле.
1.2. Задайте условия запроса: в нижней части экрана на пересечении строки
Условие отбора и столбца «Основные» наберите с клавиатуры «>3000» (возможны
другие варианты в зависимости от данных вашей таблицы).
1.3. Чтобы посмотреть выполнение запроса, перейдите в Режим таблицы. Для
того, чтобы выполнить запрос нажмите на ленте кнопку (пиктограмму) с
изображением восклицательного знака. Сохраните запрос, присвоив ему имя «С
одним условием».
2. Создание запроса, содержащего несколько условий.
2.1. Создайте новый запрос на основе таблиц «Выплаты», «Дополнительные
14
сведения» и «Сотрудники» аналогично предыдущему, используя те же поля. Из
таблицы «Дополнительные сведения» добавьте поле «ДатаНайма»
2.2. Задайте три различных условия запроса.
Введите первое условие в строке Условие отбора столбца «Основные» с
клавиатуры >3000, второе условие, <800, введите в строке Условие отбора столбца
«Дополнительные» и третье условие введите в столбце «ДатаНайма»: >31.12.2000
(сотрудники, принятые на работу после 31.12.2000).
Внимание! Числа в запросе должны соответствовать данным, введённым в ваши
таблицы.
2.3. Выполните запрос. Сохраните запрос, присвоив ему имя «Несколько
условий».
3. Создание запроса с параметрами. Создайте новый запрос, состоящий из
полей «Основные» и «Дополнительные» таблицы «Выплаты» и поля «Фамилия»
таблицы «Сотрудники» (аналогично предыдущему).
3.1. Определите параметр так, чтобы можно было просматривать выплаты для
каждого сотрудника. Для этого на пересечении строки Условие отбора и столбца
«Фамилия» необходимо ввести условие: [Фамилия]. Нажмите кнопку Параметры
вкладки Конструктор, в разделе Показать или скрыть. В диалоговом окне Параметры
запроса введите параметр Фамилия (без квадратных скобок), а тип данных Текстовый. Закройте диалоговое окно нажатием кнопки ОК.
3.2. Выполните запрос, щелкнув на кнопке с восклицательным знаком на ленте
инструментов. Появится табличка с окошком, в которое надо ввести фамилию
сотрудника: наберите любую фамилию из списка сотрудников.
Внимание! В полученном запросе должны быть выведены все выплаты
сотруднику (основные и дополнительные). Сохраните запрос.
4. Создание запроса с вычисляемыми полями.
4.1. Создайте новый запрос, содержащий поля «Фамилия» и «КодСотрудника» из
таблицы: «Сотрудники».
4.2. Для выведения суммы выплат для всех сотрудников разместите курсор в
верхней строке пустого столбца сетки QBE таблицы. Вызовите Построитель
выражений, нажав на значке
, расположенном на вкладке Конструктор в разделе
Настройка запроса.
4.3. В левом нижнем окне Построителя выражений (рис.5) выберите объект
Таблицы и щёлкните по папке с крестиком. Из раскрывшегося списка выберите
таблицу «Выплаты». Из списка полей таблицы, появившемся в среднем окне,
двойным щелчком выберите поля «Основные» и «Дополнительные», поставив между
ними знак «+». Закройте окно Построителя выражений.
Рис. 5. Окно построителя выражений.
15
Внимание! Имя заголовка вычисляемого поля Access автоматически присваивает
"Выражение 1".
4.4. Измените заголовок вычисляемого поля. Поставьте курсор в ячейку с
выражением: Выражение 1: [Основные]+[Дополнительные] и нажмите Shift+F2. В
появившемся окне Области ввода (рис.6) измените текст: Сумма: [Основные]+
[Дополнительные]. Кнопкой ОК закройте область ввода.
Рис. 6. Окно области ввода.
4.5. Выполните запрос и сохраните его, присвоив имя «Сумма».
5. Использование фильтра.
5.1. Откройте таблицу «Дополнительные сведения». Поставьте курсор в поле
«ГодРождения». На вкладке Главная в разделе Сортировка и фильтры выберите
кнопку Фильтр. В открывшееся меню выберите Фильтры дат/Между…. Появится окно
выбора Диапазон дат.
5.2. Определите период поиска сотрудников по году рождения. И нажмите ОК.
Должна появиться таблица, в которой будут только выбранные записи.
5.3. Добавьте в фильтр ещё одно условие: дату найма. Нажмите кнопку
Выделение и выберите из раскрывающегося списка любое условие. Примените
фильтр.
5.4. Чтобы удалить фильтр, нажмите на значок рядом с названием поля и
выберите Снять фильтр с….
5.5. Чтобы получить записи сотрудников, у которых фамилии начинаются на
букву М, откройте таблицу «Сотрудники» и поставьте курсор в первую строчку поля
«Фамилия». Вызовите фильтр и в открывшемся меню выберите
Текстовые
фильтры/Начинается с…. В открывшемся окне в окошке «фамилия начинается с»
введите букву М.
6. Самостоятельная работа.
Сортировка записей таблицы.
6.1. Создайте новый запрос по таблице «Сотрудники». Выведите все фамилии в
алфавитном порядке по возрастанию. Сохранить запрос с именем: «Сортировка».
6.2. Создайте фильтр на выборку всех записей о сотрудниках кроме тех, у
которых фамилия начинается на М. Сохраните фильтр как запрос.
ЛАБОРАТОРНАЯ РАБОТА № 4
Создание различных форм
Цели работы:
Изучение приёмов создания и редактирования форм и диаграмм.
16
Задачи работы:
1. Создание форм различных типов
2. Редактирование форм с использованием режимов Мастера и Конструктора
форм.
3. Создание и редактирование диаграмм.
Общие сведения.
Формы являются наиболее удобным средством отображения данных в ACCESS
и основным средством организации интерфейса пользователя в приложениях ACCESS.
Преимущество форм для ввода и редактирования данных состоит в простоте и
наглядности, так как записи таблицы или запроса представляются в виде, удобном
для пользователя. ACCESS связывает форму с таблицей и хранит в таблице
введённую в форму информацию (не обязательно в табличном виде). Чаще всего
формы создаются в следующих целях:
- ввод и редактирование данных;
- управление ходом выполнения приложения – формы используются для запуска
макросов;
- вывод сообщений – с помощью формы можно вывести на экран информацию,
предупреждение или сообщение об ошибке;
- печать информации.
1. Создание форм. Существует несколько способа создания форм:
1.1. Автоформа. В окне базы данных сделать активной вкладку Создание.
Выделить (не открывая) любую таблицу и щёлкнуть кнопку Форма в разделе Формы.
Сохраните ее с именем «Автоформа»
1.2. Диаграмма. Создайте форму в виде диаграммы. Не открывая, выделите
запрос «Сумма». На вкладке Создание в разделе Формы нажмите кнопку Сводная
диаграмма. Щёлкните левой кнопкой мыши по пустому полю справа – появится
список полей выделенной таблицы. Поле «Фамилия» перетащите мышкой в поле
категорий, а поле «Сумма» в поле данных. Измените тип диаграммы: выделите
область построения диаграммы и на вкладке Конструктор нажмите кнопку Изменить
тип диаграммы.
1.3. Создание формы при помощи Мастера форм.
1.3.1. На вкладке Создание в разделе Формы нажмите на кнопку Другие формы и
выберите пункт Мастер форм.
1.3.2. Из раскрывающегося списка Таблицы и запросы выделите таблицу
«Сотрудники», из которой нужно выбрать все поля.
1.3.3. Каждое поле, включаемое в форму, перенести из списка Доступные поля» в
список Выбранные поля при помощи кнопки « > ». Кнопка «>>» переносит сразу все
поля. Внешний вид формы выберите «ленточный». В следующем окне выберите стиль
формы. Присвойте форме имя «ленточная» и нажмите кнопку Готово.
2. Введение данных в разные таблицы через форму.
2.1. Перейдите на вкладку Создание в раздел Формы, выберите кнопку Другие
формы/Мастер форм .
2.2. Выберите в окошке Таблицы и запросы таблицу «Сотрудники» и выберите все
поля.
2.3. Из таблиц «Дополнительные данные» и «Выплаты» также выберите все поля,
кроме поля КодСотрудника (это поле было выбрано из предыдущей таблицы).
Нажмите кнопку Далее.
17
2.4. В следующем окне выберите внешний вид формы в столбец и щелкните по
кнопке Далее.
2.5. Выберите оформление формы, присвойте имя «Данные о сотрудниках»,
поставьте флажок Открыть форму для просмотра и ввода данных. Добавьте в форму
данные ещё о двух сотрудниках. Между окнами ввода удобно перемещаться с
помощью клавиши Tab. Проверьте заполнение таблиц «Сотрудники» и
«Дополнительные сведения».
3. Редактирование форм.
3.1. Редактирование формы в режиме Конструктора. Откройте форму,
созданную по таблицам «Сотрудники» и «Дополнительные сведения» в режиме
Конструктора. Любое поле в конструкторе формы делится на две части: название
поля и отображение данных данного поля в режиме просмотра.
Внимание! Убрать или добавить разделы формы можно используя правую кнопку
мыши и выбрав нужный раздел: Заголовок формы/ Примечание формы.
3.1. Выделите поле «Фамилия» (название поля). Измените тип и размер шрифта,
цвет текста, фона, используя кнопки на ленте инструментов. Размер поля можно
изменить, перетаскивая границы поля мышью.
3.2. Выровняйте границы окон в соответствии с содержащимся в них текстом.
Закройте форму, сохранив изменения.
4. Внедренный объект OLE. Тип поля OLE позволяет вставлять в форму
графические объекты, например фотографию или рисунок.
4.1. Откройте таблицу «Дополнительные сведения» в режиме Конструктор.
4.2. Добавьте новое поле «Фото», выбрав тип данных Поле объекта OLE.
Перейдите в Режим таблицы.
4.3. Заполните новое поле в таблице «Дополнительные сведения». Курсор
установите в поле «Фото». Щёлкните правой кнопкой мыши и в открывшемся меню
выберите Вставить объект. В появившемся окне укажите на объект Рисунок
Paintbrush. Откроется окно Paint.
4.4. В обозначенную рамку вставьте рисунок: Правка/Вставить из файла и
вставьте рисунок (можно использовать один из стандартных рисунков Microsoft).
Закройте окно Paint.
4.5. Аналогично заполните поле «Фото» для следующего сотрудника, но вставьте
не фотографию, а собственный рисунок.
Внимание! В поле появится только надпись Точечный рисунок. Рисунки
просматриваются только в Форме.
Аналогично заполните поле «Фото» для других сотрудников.
5. Просмотр фотографий.
5.1. Создайте с помощью Мастера форму в столбец по таблицам
«Дополнительные сведения» и «Сотрудники».
Выберите поля Фамилия, Имя,
Отчество, ГодРождения, Фото.
5.2. Просмотрите форму, сохранив её под именем «С фото» (рис.6).
18
Рис. 6. Форма с полем типа OLE.
Лабораторная работа №5
Создание многотабличной базы данных
Цели работы: На примере построения многотабличной базы освоить приёмы
нормализации данных в БД.
Задачи работы: научиться проектировать и создавать многотабличную базу данных.
Общие сведения.
Базы данных должны проектироваться предельно аккуратно, чтобы гарантировать
надёжное и правильное хранение данных. Поскольку реляционная модель БД
основывается на первичных ключах для идентификации объектов и внешних ключах
для создания связей, необходимо следить за целостностью (достоверностью) ключей.
Одной из целей создания базы данных является создание нормализованных
(правильно разработаны) таблиц. Нормализация подразумевает разделение таблицы
на несколько таблиц с целью исключения дублирования данных.
База данных считается нормализованной, когда каждое поле содержит
только одно значение, а каждая таблица состоит из верного набора полей.
Нормализация таблиц базы данных - первый шаг на пути проектирования
структуры реляционной базы данных. Строго говоря, конечно, не самый первый сначала надо решить, что же мы вообще будем хранить в базе, то есть определиться
со структурой полей, их типами и размерностью, смыслом хранимой в них
информации.
Теория нормализации реляционных баз данных была разработана в конце 70-х
годов 20 века. Согласно ей, выделяются шесть нормальных форм, пять из которых
так и называются: первая, вторая, третья, четвертая, пятая нормальная форма, а
также нормальная форма Бойса-Кодда, лежащая между третьей и четвертой.
Существует шесть нормальных форм. Каждая нормальная форма разрабатывается на
основе предшествующих. На практике в основном применяются три нормальные
формы (остальные применяются редко).
База данных считается нормализованной, если ее таблицы (по крайней мере,
большинство таблиц) представлены как минимум в третьей нормальной форме. Часто
многие таблицы нормализуются до четвертой нормальной формы, иногда, наоборот,
производится денормализация.
19
Главная цель нормализации базы данных - устранение избыточности и
дублирования информации. В идеале при нормализации надо добиться, чтобы любое
значение хранилось в базе в одном экземпляре, причем значение это не должно быть
получено расчетным путем из других данных, хранящихся в базе.
Первая нормальная форма
Первая нормальная форма:
 запрещает повторяющиеся столбцы (содержащие одинаковую по смыслу
информацию)
 запрещает множественные столбцы (содержащие значения типа списка и т.п.)
 требует определить первичный ключ для таблицы, то есть тот столбец или
комбинацию столбцов, которые однозначно определяют каждую строку
Вторая нормальная форма
Вторая нормальная форма требует, чтобы неключевые столбцы таблиц зависели
от первичного ключа в целом, но не от его части. В принципе, если таблица
находится в первой нормальной форме и первичный ключ у нее состоит из одного
столбца, то она автоматически находится и во второй нормальной форме.
Третья нормальная форма
Чтобы таблица находилась в третьей нормальной форме, необходимо, чтобы
неключевые столбцы в ней не зависели от других неключевых столбцов, а зависели
только от первичного ключа. Самая распространенная ошибка - это расчетные
столбцы, значения которых можно получить путем каких-либо манипуляций с
другими столбцами таблицы. Для приведения таблицы в третью нормальную форму
такие столбцы из таблиц надо удалить.
Нормальная форма Бойса-Кодда
Нормальная форма Бойса-Кодда требует, чтобы в таблице был только один
потенциальный первичный ключ. Чаще всего у таблиц, находящихся в третьей
нормальной форме, так и бывает, но не всегда. Если обнаружился второй столбец
(комбинация столбцов), позволяющий однозначно идентифицировать строку, то для
приведения к нормальной форме Бойса-Кодда такие данные надо вынести в
отдельную таблицу.
Четвертая нормальная форма
Для приведения таблицы, находящейся в нормальной форме Бойса-Кодда, к
четвертой нормальной форме необходимо устранить имеющиеся в ней многозначные
зависимости. То есть обеспечить, чтобы вставка / удаление любой строки таблицы не
требовала бы вставки / удаления / модификации других строк этой же таблицы.
Пятая нормальная форма
Таблицу, находящуюся в четвертой нормальной форме и, казалось бы, уже
нормализованную до предела, в некоторых случаях еще можно бывает разбить на три
или более (но не на две!) таблиц, соединив которые, мы получим исходную таблицу.
Получившиеся в результате такой, как правило, весьма искусственной, декомпозиции
таблицы и называют находящимися в пятой нормальная форме. Формальное
определение пятой нормальной формы таково: это форма, в которой устранены
зависимости соединения. В большинстве случаев практической пользы от
нормализации таблиц до пятой нормальной формы не наблюдается.
Разработаны специальные формальные математические методы нормализации
таблиц реляционных баз данных. На практике же толковый проектировщик баз
данных, детально познакомившись с предметной областью, как правило, достаточно
20
быстро набросает структуру, в которой большинство таблиц находятся в четвертой
нормальной форме).
Главное, чего мы добьемся, проведя нормализацию базы данных - это устранение
(или, по крайней мере, серьезное сокращение) избыточности, дублирования данных.
Как следствие, значительно сокращается вероятность появления противоречивых
данных, облегчается администрирование базы и обновление информации в ней,
сокращается объем дискового пространства.
Например, данные о сотрудниках мы разделили на две таблицы «Сотрудники» и
«Дополнительные сведения». В таблицу «Сотрудники» занесены данные, которые
потребуются при работе сотрудника с клиентом, а в таблице «Дополнительные
сведения» хранятся данные, необходимые при приёме сотрудника на работу и не
нужные при работе сотрудника с заказами.
При дальнейшем создании базы обратите особое внимание на распределение
данных в таблицах, зависимость неключевых полей от первичного ключа и их
независимость от других неключевых полей.
1. Любым способом создайте таблицы «Товары», «Типы», «Клиенты»,
«Поставщики», «Заказано», «Заказы», «Доставка».
1.1. Таблица Типы должна содержать следующие поля: КодТипа (счётчик,
ключевое), Категория (текстовый).
1.2. Таблицу «Клиенты» составьте из полей: КодКлиента (ключевое, текстовый:
уникальный пятисимвольный код, образуемый из названия организации), Название
(текстовый), ОбращатьсяК (текстовый), Должность (текстовый), Адрес (текстовый),
Город (текстовый), телефонФакс (текстовый).
1.3. В таблице «Поставщики» создайте поля: КодПоставщика (счётчик, ключевое),
Название (текстовый), ОбращатьсяК (текстовый), Должность (текстовый), Адрес
(текстовый), город (текстовый), Страна (текстовый), ТелефонФакс (текстовый).
1.4. В таблице «Доставка» создайте поля: КодДоставки (счётчик, ключевое),
Название (текстовый), Телефон (текстовый).
1.5. Таблица «Товары» должна содержать следующие поля: КодТовара
(ключевое, счётчик), Марка (текстовый), КодТипа (числовой), КодПоставщика
(числовой), ЕдиницаИзмерения (текстовый), Цена (денежный), НаСкладе (текстовый),
Ожидается (числовой), МинЗапас (числовой), ПоставкиПрекращ (логический).
Поля «КодТипа» и «КодПоставщика» заполняются по подстановке из таблицы
«Типы» и «Поставщики» соответственно. В таблице «Типы» выбирается поле
«Категория», в таблице «Поставщики» - поле «Название». Названия полей в таблице
«Товары» меняются на «Категория» и «Поставщик» соответственно.
Использование Мастера подстановок: лабораторная работа №3.
Внимание! Тип данных поля, в котором используется Мастер подстановок,
должен соответствовать типу данных ключевого поля подстановочной таблицы.
1.6. В таблице «Заказы» должны быть поля: КодЗаказа (счётчик, ключевое),
КодКлиента (текстовый), КодСотрудника (числовой), ДатаРазмещения (дата/время),
ДатаНазначения (дата/время), ДатаИсполнения (дата/время), Доставка (числовой),
СтоимостьДоставки (денежный).
Поля «КодКлиента», «КодСотрудника» и «Доставка» заполняются по подстановке.
Для поля «КодКлиента» подстановочная таблица «Клиенты» (поле «Название»), для
поля «КодСотрудника» – «Сотрудники» (поле «Фамилия»), для поля «Доставка» –
«Доставка» («Название»).
21
1.7. В таблице «Заказано» ключевыми являются два поля, т.е. имеется составной
ключ. Создайте следующие поля: КодЗаказа (числовой, ключевое), КодТовара
(числовой, ключевое), Количество (числовой), Скидки (числовой). Чтобы создать
составной ключ, выделите оба поля, удерживая левую клавишу мыши и нажмите на
пиктограмме ключа.
Поле «КодТовара» заполняется по подстановки из таблицы «Товары» (поле
«Марка») Измените название поля «КодТовара» на «НаименованиеТовара».
Поле «Скидки» должно иметь процентное значение: в режиме Конструктор в
Свойствах поля укажите Размер поля - одинарное с плавающей точкой, Формат поля
- процентный, Десятичных знаков - 0, Значение по умолчанию - 0, Условие на
значение - Between 0 And 1, Сообщение об ошибке - необходимо ввести знак
процента.
3. Изменение схемы данных
2.1. Откройте окно Схема данных (вкладка Работа с базами данных/раздел
Показать или скрыть/Схема данных, Схема данных).
2.2. Вызовите меню, щёлкнув правой кнопкой мыши по пустому месту, выберите
Добавить таблицу. В окне Добавление таблицы добавьте в схему данных все
созданные таблицы.
На схеме данных должны быть показаны таблицы, объединённые в две группы
тонкими линиями без обозначения типов связей (рис. 8).
Рис. 8. Схема данных после Использования Мастера подстановок.
2.3. Двойным щелчком левой кнопки по линии связи вызовите окно Изменение
связей и отметьте флажками Обеспечение целостности данных,
обновление полей. Связь должна определиться как один-ко-многим.
Каскадное
2.4. Установите связь таблиц «Заказы» и «Заказано», перетащив поле
«КодЗаказа» из таблицы «Заказы» на поле «КодЗаказа» в таблицу «Заказано». В
открывшемся окне Изменение связей отметьте Обеспечение целостности данных.
Поскольку в таблице «Заказано» два ключевых поля, то связь будет установлена
один-ко-многим (рис. 9).
22
Рис. 9. Схема данных базы данных «Продуктовая база»
4. Заполните таблицы данными
4.1. Таблица «Типы»
КодТипа
Категория
Описание
1
2
3
4
5
напитки
хлебобулочные
кондитерские
мясо/птица
фрукты
Алкогольные и безалкогольные напитки, чай, кофе и др.
Хлеб, крекеры, хлопья и пр.
Десерты, конфеты, джемы, муссы и пр.
Мясные полуфабрикаты, готовые изделия
Сушёные и свежие фрукты
4.2. Таблица «Доставка»
КодДоставки
1
2
3
4
название
Ространс
РЖД
Авиа
самодоставка
телефон
(3452)238745
(3452)256734
(3452)359856
4.3. Таблица «Поставщики» (не менее 10 поставщиков из разных стран и городов)
Код
Поставщ
ика
1
Название
Обраща
ться к
Должност
ь
Адрес
Город
Стран
а
Телефон
факс
China Traders
9-8
Sekimai
Гагарин
а, 27
Китай
Производственн
ая
компания
«Дарья»
Производственн
ое предприятие
«Толстяк»
Nord-Ost-Fisch
mbH
совладеле
ц
Главный
менеджер
Пекин
2
Yoshi
Nagase
Наталья
Седова
Москва
Россия
(09)3436
277
(095)978
6432
Игорь
Матвеев
Менеджер
по
продажам
Внешний
координат
ор
Представи
тель
Садовая,
16
Москва
Россия
(095)907
5449
Frahmre
dder
112a
Ленина,
86
Куксха
вен
Герма
ния
(04721)
8714
Омск
Россия
(413)568
790
3
4
5
Фирма
«Морозко»
Sven
Petersen
Никита
Игнатье
в
23
….
10
Сельскохозяйст
венная фирма
«Сад»
Олеся
Криванк
о
Главный
менеджер
Товарна
я, 59
Красно
дар
Россия
(267)874
390
4.4. Таблица «Клиенты» (не менее 10 клиентов по Тюмени и Тюменской области)
Код
клиент
а
ОООПМ
Названи
е
Обращатьс
як
должность
адрес
город
Телефон
факс
Триера
Ольга
Старший
менеджер
совладелец
ОООСТ
Триумф
Пермякова,
35
Республики
, 15
Парковая,
27
Тюмень
ЧПМСТ
Вероника
Коль
Инна
Кудрявцева
Пётр
Моргунов
(3452)35785
6
(3452)23874
5
(34522)3875
4
Представител
ь
Тюмень
Ялуторовс
к
Не
менее
10
4.5. Таблица «Товары» (не менее 30 наименований товаров)
Катего
рия
1
Фудж
и
China Traders
фрукты
2
Дарь
я
Производствен
ная компания
«Дарья»
мясо/п
тица
3
Моро
зко
Фирма
«Морозко»
мясо/п
тица
4
Толст
як
напитк
и
5
Алдр
ед
Производствен
ное
предприятие
«Толстяк»
Сельскохозяйс
твенная фирма
«Сад»
фрукты
Едини
ца
измере
ния
30 кг в
1
ящике
10
пакето
в по 1
кг
20
пакето
в по 1
кг
24
бутылк
и
по
0,5 л
25 кг в
ящике
На
скла
де
Ожида
ется
Минима
льный
запас
183
0р.
12
120
10
Поста
вка
прекр
ащена

140
0р.
100
0
5

220
0р.
56
0
5

720
р.
156
0
15

142
5р.
10
0
10

Цена
Поставщик
Марка
Код
това
ра
….
30
В таблицах «Заказы» и «Заказано» должно быть одинаковое количество записей
(не менее 15) с одними и теми же номерами, т.к. таблица «Заказано» является
логическим
продолжением
таблицы
«Заказы».
При
заполнении
полей
«ДатаРазмещения»,
«ДатаНазначения»
и
«ДатаИсполнения»
учитывайте
распределение заказов по разным месяцам за 2 года.
4.6. Таблица «Заказы»
24
Код
зак
аза
1
Клиент
Ответс
Сотрудник
Дата
Размещения
Дата
Назначения
Дата
Исполнения
Доставка
Стоим
Доставки
Триера
2.03.08
6.03.08
4.03.08
Ространс
120,78р.
2
Ольга
23.09.07
13.10.07
4.10.07
Ространс
135,00р.
3
Триумф
Шишкин
Андрей
Максимов
Павел
Фомин
Валерий
14.01.08
19.01.08
17.01.08
РЖД
576,45р.
…
15
4.7. Таблица «Заказано»
Код заказа
1
2
3
…
15
НаимТовар
Фуджи
Толстяк
Морозко
Количество
5
30
7
скидки
15%
3%
0
Лабораторная работа №6
Создание сложных форм
Цели работы:
Освоить приёмы работы с данными, хранящимися в БД, с использованием
многотабличных форм.
Задачи работы:
Научиться создавать и редактировать иерархические и связанные формы.
Общие сведения.
На практике часто требуются формы, позволяющие производить одновременный
ввод или просмотр данных, хранимых в двух или более связанных таблицах.
Например, при выводе информации и заказах, можно сразу вывести информацию о
сотрудниках, работавших с данными заказами. Эти данные хранятся в разных
таблицах: «Заказы» и «Заказано», связанных отношением «один-ко-многим».
Для удобства работы можно создать форму, которая позволит просматривать,
вводить и редактировать
все данные одновременно. В таких случаях для
отображения записей в основной и подчинённой таблицах можно использовать
многотабличные иерархические или связанные формы.
Иерархической называется форма, содержащая поля из главной и одной или
нескольких подчинённых таблиц.
Связанной называется форма, в которой имеется кнопка, открывающая
подчинённую форму при необходимости просмотра данных.
1. Иерархические формы.
Иерархической является форма, содержащая одну или несколько подчинённых
форм. Первичная форма называется главной, а форма внутри неё называется
подчинённой.
Создание формы с подчинённой формой для вывода данных из таблицы «Заказы»
и «Заказано». Данные в таблице «Заказы» находятся на стороне «один» в отношении
«один ко многим» и будут являться главной формой, а данные в таблице «Заказано»
25
на стороне «многие» - подчинённой формой. Главная форма базируется на таблице с
ключом, а подчинённая форма на таблице, содержащей поле с тем же именем, что и
ключевое, и с тем же или совместимым типом данных.
1.1. Перейдите на вкладку Создание, нажмите кнопку Другие формы и выберите
Мастер форм;
1.2. В качестве источника данных выберите таблицу «Заказы»;
1.3. В окне Доступные поля выберите все поля из таблицы «Заказы», а из
таблицы «Заказано» все поля, кроме поля «КодЗаказа», нажмите кнопку Далее;
1.4. В окне Создание форм поставьте флажок Подчинённые формы и в качестве
главной формы определите таблицу «Заказы» (рис. 10);
Рис. 10. Создание подчинённой формы.
1.5. В следующем окне выберите внешний вид подчинённой формы
Табличный, нажмите кнопку Далее и выберите стиль оформления формы;
1.6. В следующем диалоговом окне задайте имя формы «Подчинённые формы» и
нажмите кнопку Готово.
Должна получиться форма, совмещающая данные двух таблиц (рис. 11). При
просмотре данных в главной форме, в подчинённой появляются данные, связанные с
просматриваемой записью.
главная форма
подчинённая форма
Рис. 11. Внешний вид подчинённой формы.
2. Связанные формы.
В некоторых случаях возникает необходимость одновременного просмотра
связанных записей в двух формах. Например, при просмотре записей о клиентах
можно вывести сведения о заказах. При переходе по записям в первой форме в
26
таких случаях необходимо, чтобы во второй форме автоматически выводились
связанные с ними записи.
Синхронизация записей, выводящихся в двух формах, осуществляется с
помощью кнопки, открывающей вторую форму и синхронизирующей её с первой.
2.1. В режиме Мастер форм создайте (аналогично предыдущему заданию)
форму, выбрав поля из двух таблиц «Товары» и «Заказано». Из таблицы «Заказано»
выберите поля, непосредственно отражающее наименование и количество товара;
2.2. В следующем диалоговом окне отметьте флажком Связанные формы
(рис.12), выберите стиль оформления, задайте имя для каждой формы и нажмите
кнопку Готово.
Рис. 12. Создание связанных форм.
Должна появиться форма, построенная по таблице «Товары», имеющая кнопку с
названием формы, построенной по таблице «Заказано» (рис.13). При нажатии на
кнопку откроется другая форма, синхронизирующая записи в двух формах.
Рис. 13. Связанные формы.
Если кнопка не работает, необходимо понизить уровень
безопасности: нажмите кнопку Параметры и в открывшемся окне отметьте пункт
Включить это содержимое. Проверьте работу кнопки.
3. Создание кнопки для открытия/закрытия, синхронизации или печати
формы.
3.1. Откройте любую созданную форму в режиме Конструктора;
Внимание!
27
3.2. На вкладке Элементы управления нажмите кнопку Кнопка;
3.3. Выберите в форме место и нарисуйте кнопку;
3.4. В первом окне диалога Мастера выберите Работа с формой в списке
Категории, а затем выберите тип кнопки в списке действия. Например, Закрыть
форму;
3.5. В следующем
окне
определитесь,
как будет оформлена кнопка:
с
надписью
или с рисунком (выход
или стоп
);
3.6. Для упрощения дальнейшей работы с кнопкой, задайте ей имя (например,
Закрытие формы);
3.7. Нажмите кнопку Готово.
4. Самостоятельная работа. Создайте связанные формы по таблицам
Поставщики и Товары.
Лабораторная работа № 7
Использование выражений в запросах
Цели работы:
Познакомиться с возможностями встроенных функций в АCCESS. Освоить приёмы
работы с Построителем выражений.
Задачи работы:
Научиться создавать сложные запросы, используя Построитель выражений.
Общие сведения.
При работе с таблицами в любой момент можно вывести на экран любую
информацию с помощью различных запросов. Сложные выражения в запросах
создаются с помощью элементарных логических операций «или», «и», «не».
1. Логическая операция «или».
Когда необходимо выбрать данные по одному из нескольких условий используют
оператор или (or) Существует два способа использования оператора или (or) .
1.1. Можно ввести все условия в одну ячейку строки «Условие отбора», соединив
их логическим оператором или (or). В этом случае будут выбраны данные,
удовлетворяющие хотя бы одному из условий.
Например, запись «300 or 500», введённая в ячейку на пересечении строки
«Условие отбора» и столбца «Дополнительные», определит выбор сотрудников,
имеющих дополнительные выплаты 300 или 500 рублей.
1.2. Аналогичный результат можно получить, введя второе условие в отдельную
ячейку строки «или». При использовании несколько строк «Или», запись будет
выбрана, если выполняется условие хотя бы в одной из строк.
2. Логическая операция «и».
2.1.
Логическая операция и (and) используется в том случае, когда должны
быть выполнены несколько условий одновременно и только в этом случае запись
будет выбрана. Чтобы объединить несколько условий отбора оператором и (and)
следует привести их в одной строке «Условие отбора». Например, чтобы выбрать
сотрудников, имеющих основные выплаты больше 3000 и дополнительные более 800,
надо в ячейки на пересечении строки «Условие отбора» и столбца «Основные»
ввести выражение >3000, а столбца «Дополнительные» - >800.
Внимание! Условия, связанные оператором и (and) выполняются раньше
условий, объединённых оператором или (or).
28
3. Самостоятельная работа. Создайте запросы с использованием операторов
или (or) и и (and) по любой из имеющихся таблиц.
4. Используя оператор Between (между) можно определить период времени, за
который нужно просмотреть данные, интервал чисел, выбрать фамилии на
определённые буквы и пр.
4.1. Перейдите на вкладку Создание, раздел Другие, Конструктор запросов.
4.2. Для создания запроса выберите таблицы «Заказы» и «Клиенты».
4.3. Выберите для запроса поля «КодКлиента», «Название», «Город»,
«ДатаРазмещения».
4.4. Поставьте курсор на пересечении поля «ДатаРазмещения» и строки Условие
отбора и вызовите окно Построителя выражений. В левом нижнем окне выберите
Операторы, а в правом – двойным щелчком оператор Between. Вместо слов
«Выражение» введите даты, определяющие период поиска. Например: 01.08.2009
And 31.08.2009. После закрытия окна Построителя выражений программа
автоматически заключит даты в значки #.
4.5. Проверьте результат выполнения запроса. Если запрос выполняется,
сохраните его под понятным именем. Если в результате выполнения запроса
появляется пустая таблица, проверьте соответствие запрашиваемого периода и дат,
стоящих в вашей таблице.
5. Создание запроса с критерием поиска на первую букву фамилии.
5.1. Создайте новый запрос, состоящий из всех полей таблицы «Выплаты» и поля
«Фамилия» таблицы «Сотрудники» (аналогично предыдущим).
5.2. На пересечении строки Условие отбора и поля «Фамилия» введите критерий
поиска: М*. В результате запроса должны быть выведены только те фамилии,
которые начинаются на букву М. Программа автоматически добавит к букве
оператор, определяющий критерий: Like.
5.3. Выполните и сохранить запрос с именем: «Сотрудники на М».
6. Вычисления срока задержки исполнения заказа.
Создайте запрос в режиме Конструктора по таблице «Заказы». Необходимые
поля: «Клиент», «ДатаРазмещения», «ДатаИсполения». В следующем (пустом) поле,
используя Построитель выражений, наберите выражение: DateDiff("d";[Заказы]!
[ДатаРазмещения]; [Заказы]![ДатаИсполнения]). В окне Область ввода вместо
Выражение 1 наберите СрокЗадержки. Выполните запрос.
7. Выборка товаров, цена которых превышает среднюю.
7.1. Создайте запрос в режиме Конструктора по таблице «Товары». Выберите
поля «Марка», «Цена».
7.2. В строке «Условие отбора» в поле «Цена» наберите выражение >(SELECT
AVG([Товары]![Цена]) From [Товары]). SELECT
и From набираются с
клавиатуры. Выполните запрос. Если в вашем запросе кроме полей «Марка» и «Цена»
показываются другие поля, выполните следующие действия:
 Вернитесь в Конструктор запросов
 В пустом столбце нижней панели окна Конструктора щёлкните правой
кнопкой мыши и в появившемся меню выберите Свойства. Появится окно
Свойства запроса с пустыми строками.
 Щелкните по пустому месту в окне Конструктор. В окне Свойства запроса в
строке «Вывод всех полей» выберите Нет. Закройте окно Свойства
запроса.
29
7.3. Выполните запрос и сохраните его под именем «Цена выше среднего»
8. Проверка отсутствующей даты выполнения заказа и срока
выполнения.
Бывают ситуации, когда при заполнении таблицы некоторые ячейки остаются
незаполненными. Чтобы проверить полное заполнение таблицы, создайте запрос в
режиме Конструктора по таблице «Заказы». Выберите поля КодЗаказа,
ДатаРазмещения, ДатаНазначения, ДатаИсполнения. В следующем (пустом) поле
наберите
выражение:
IIf(IsNull([ДатаНазначения]-[ДатаИсполнения]);
"Проверьте
отсутствующую
дату";[ДатаНазначения]-[ДатаИсполнения]).
Вызовите окно Область ввода и вместо Выражение 1 наберите СрокИсполнения:.
Закройте окно Область ввода. В результате выполнения запроса в поле будет указан
срок исполнения заказа. Если не указана одна из дат, то в данной строке появится
надпись: Проверьте отсутствующую дату.
Выполните запрос, сохранив его под именем «СрокИсполнения»
9. Самостоятельная работа.
9.1. Из таблицы «Сотрудники», используя оператор Between, выберите фамилии
сотрудников, первая буква которых попадает в диапазон от Л до Ф.
9.2. Выберите 10 самых дешёвых товаров.
Лабораторная работа №8
Итоговые запросы
Цели работы:
Приобрести навыки по работе с данными путём группировки их по нескольким
признакам.
Задачи работы:
Научиться создавать перекрёстные запросы и запросы с группировкой.
Общие сведения.
Перекрестные запросы — это запросы, в которых происходит статистическая
обработка данных, результаты которой выводятся в виде таблицы, очень похожей на
сводную таблицу Excel. Перекрестные запросы обладают следующими достоинствами:

возможность обработки значительного объема данных и вывода их в
формате, который очень хорошо подходит для автоматического создания графиков и
диаграмм;

простота и скорость разработки сложных запросов с несколькими уровнями
детализации.
С помощью перекрёстного запроса можно более наглядно представить данные
итоговых запросов, предусматривающих группировку по нескольким признакам. При
группировке по двум признакам значения полей по первому признаку могут стать
заголовками строк, а по второму – заголовками полей.
Однако перекрёстные запросы имеют и недостатки — например, нельзя
сортировать таблицу результатов по значениям, содержащимся в столбцах, т. к. в
подавляющем большинстве случаев одновременное упорядочивание данных в
столбцах по всем строкам невозможно. При этом вы можете задать сортировку по
возрастанию или по убыванию для заголовков строк.
1. Создание перекрёстных запросов.
Сформируем перекрестный запрос к базе данных для вывода ежемесячных
30
продаж товара (по его коду) и ежеквартальных продаж товара (по его типу).
Подобные таблицы, содержащие итоги, которые подводятся через определенные
промежутки времени, например через каждый месяц или квартал, обычно
используются в качестве данных для графиков. Создайте перекрестный запрос, в
котором в строках выводятся товары, а в столбцах — соответствующие им
ежемесячные объемы продаж. Для этого:
1.1. Создайте новый запрос в режиме Конструктора на основе данных из таблиц
"Товары", "Заказы" и "Заказано".
1.2. Поместите поля «КодТовара» и «Марка» таблицы «Товары», а затем поле
«ДатаРазмещения» таблицы «Заказы» в первые три столбца бланка запроса.
1.3. Выберите на вкладке Конструктор в разделе Тип запроса кнопку
Перекрестный запрос. В бланк запроса будут добавлены строки Перекрестная
таблица и Групповая операция, в которую во всех столбцах автоматически вводится
операция Группировка (рис. 14).
Рис. 14. Групповые операции
1.4. Выберите в списке строки Перекрестная таблица и столбца «КодТовара»
значение Заголовки строк. Выполните то же самое для столбца «Марка». Эти столбцы
являются требуемыми заголовками строк перекрестной таблицы.
1.5. Выберите в списке строки Групповая операция и столбца «ДатаРазмещения»
значение Условие. В строке Условие отбора этого столбца введите выражение
<=#31.12.08# And >=#01.01.08# для вывода в перекрестной таблице данных,
например, за 2008 год.
1.6. Установите курсор в первую ячейку пустого столбца и, вызвав Построитель
выражений,
введите
выражение:
Sum([Заказано]![Количество]*
[Товары]![Цена]). Название функции Sum выберите в списке Функции/встроенные
функции, а названия полей выберите в списке Таблицы. Закройте окно Построителя
выражений. Перед введённым выражением автоматически появится Выражение 1:.
Нажмите клавиши Shift+F2 и в открывшемся окне Область ввода, вместо Выражение
1 введите Объем продаж:.
Это будет поле, значение которого вычисляется с помощью описанного
выражения, а название поля — «Объем продаж». В выражении используются поля из
таблиц, которые включены в запрос, хотя поля в текст запроса не включены. Это
означает, что при создании вычисляемого поля в выражение можно включать ссылки
не только на поля самого запроса, но и на поля, которые не включаются в текст
запроса. Важно, чтобы они были в исходных таблицах, а таблицы обязательно
присутствовали в бланке запроса.
1.7. Выберите в строке Групповая операция столбца «Объём продаж» значение
31
Выражение, а затем в строке Перекрестная таблица — значение Значение. В столбце
«Объём продаж» вычисляется общий объем заказов на каждый товар, который будет
подставляться в ячейки результирующей таблицы запроса (рис. 14).
1.8. Установите курсор в первую ячейку следующего пустого столбца и введите
выражение Format([Заказы]![ДатаРазмещения];"mmm"). Функция Format в
данном случае будет возвращать три первые буквы месяца от значения даты в
столбце «ДатаРазмещения». С помощью этой функции создаётся еще одно
вычисляемое поле в запросе. Выберите из списка в строке Перекрестная таблица
этого столбца значение Заголовки столбцов.
Это означает, что данный столбец запроса будет преобразован в процессе
выполнения запроса в строку, содержащую заголовки столбцов результирующей
таблицы.
1.9.
Нажмите
кнопку
Выполнить (восклицательный знак). Появится
результирующее множество записей по тем месяцам, которые есть в вашей таблице
«Заказы». Сохраните запрос под именем «Продажи по месяцам».
2. Использование фиксированных заголовков столбцов в перекрестных
запросах.
Для того чтобы в построенном запросе вывести все столбцы в порядке
календарной очередности месяцев, нужно задать фиксированные заголовки
столбцов.
2.1. Переключитесь в режим Конструктора и выведите на экран свойства запроса.
Для этого щелкните левой кнопкой мыши на свободном поле панели и в меню
выберите Свойства. В диалоговом окне свойств запроса выводится свойство
Заголовки столбцов, которое имеется только у перекрестных запросов.
Внимание! Если окно открылось не полностью, щёлкните мышкой ещё раз.
2.2. Введите краткие названия каждого месяца года в поле свойства Заголовки
столбцов. Необходимо воспроизвести названия так, как они возвращаются функцией
Format () и выглядят при стандартном отображении заголовков столбцов (первые
три буквы названия месяца), в противном случае, данные для неправильно заданных
месяцев не отображаются. Названия требуется заключить в кавычки и разделить
символом точки с запятой. Пробелы не нужны. По завершении ввода названий всех
12 месяцев закройте окно свойств (рис. 15).
Рис. 15. Перекрёстный запрос.
2.3. Перейдите в режим просмотра SQL: Режим/Режим SQL. Инструкция SQL
содержит операцию TRANSFORM, в которой определяются данные, содержащиеся в
таблице. В операции PIVOT задаются заголовки столбцов. После ключевого слова IN
указываются, если они есть, фиксированные названия столбцов (рис. 16).
32
Рис. 16. Окно режима SQL
2.4. Вернитесь в режим Конструктора и нажмите кнопку Выполнить для вывода
результатов запроса. Теперь заголовки столбцов перекрестной таблицы
соответствуют календарной последовательности.
2.5. Нажмите главную кнопку окна (левый верхний угол), выберите Сохранить как
и сохраните запрос под именем "Ежемесячная выручка".
3. Изменение уровня детализации в запросе
Для создания удобного для анализа представления или наглядного графика
можно сократить число строк и столбцов в результатах построенного запроса. С этой
целью создадим перекрестный запрос, который выводит ежеквартальную выручку от
продаж по типам товаров.
3.1. В режиме Конструктора добавьте в уже созданный перекрёстный запрос
«Ежемесячная выручка» таблицу "Типы".
3.2. Замените столбцы «КодТовара» и «Марка» в запросе столбцами «КодТипа» и
«Категория» таблицы «Типы». Для этого сначала замените имя таблицы, а затем имя
поля. В строке Перекрестная таблица обоих столбцов выберите значение Заголовки
строк.
3.3. Измените выражение в столбце «Выражение»: Format([Заказы]!
[ДатаРазмещения];"""Квартал ""q") , которое определяет заголовки столбцов
"Квартал 1", "Квартал 2", "Квартал 3", "Квартал 4". Несколько кавычек требуется для
указания того, что слово Квартал и пробел рассматриваются как строка, a q — как
формат.
3.4. Откройте бланк свойств и очистите содержимое свойства Заголовки
столбцов, а затем закройте бланк. Если не удалить фиксированные заголовки
(названия месяцев), то в перекрестной таблице данные не будут отражаться.
3.5. Сохраните запрос Сохранить как под именем «По кварталам». Нажмите
кнопку Выполнить для вывода результатов запроса.
4. Группировка в запросах. Определение пяти самых дорогих товаров.
Access имеет множество встроенных функций. Некоторые из них называются
функциями обобщения, поскольку работают с группами строк, а не с отдельными
строками. Нужную функцию можно задать, набрав на клавиатуре её имя в строке
«Групповая операция», или выбрав её из раскрывающегося списка.
Основные функции обобщения (групповые операции):
 SUM - вычисляет сумму всех значений заданного поля (для числовых
полей), отобранных запросом;
 AVG - вычисляет среднее значение среди записей, отобранных запросом
(для числовых и денежных типов данных);
33

MIN, MAX - выбирает, соответственно, минимальное и максимальное
значение в записях поля, отобранных запросом;
COUNT - вычисляет количество записей, имеющих ненулевое значение и
отобранных запросом;
 FIRST, LAST - определяет, соответственно, первое и последнее значение
в указанном поле записей.
4.1. Создайте запрос в режиме Конструктора по таблице «Товары». В нижнюю
панель окна выберите поля «Марка» и «Цена».

4.2. На вкладке Конструктор в разделе Показать или скрыть выберите кнопку
Итоги. В появившейся строке Групповые операции в поле «Цена» выберите Мах, а в
строке Сортировка - По убыванию.
4.3. Щелкните правой кнопкой мыши по пустому месту в окне Конструктор и в
контекстном меню выберите Свойства. В окне Свойства запроса в строке Вывод всех
полей выберите Нет (рис.17). В строке Набор значений из раскрывающегося списка
выберите 5.
Рис. 17. Окно свойств запроса.
4.4. Закройте окно свойств запроса. Выполните запрос и сохраните его под
именем «Самые дорогие товары».
5. Многотабличный запрос. Построение запроса на основе уже
имеющегося запроса.
Для того, чтобы ответить на вопрос: "Сколько заказов и на какую сумму разместил
каждый клиент?" необходимо построить многотабличный запрос.
5.1. Создайте запрос "Сведения о заказах", добавив в окно Конструктора таблицы
«Заказано» и «Товары». Из таблицы «Заказано» выберите поле «КодЗаказа», поля
«Марка» и «Цена» из таблицы «Товары», поля «Количество» и «Скидки» - из
таблицы «Заказано».
5.2. В следующее поле (пустое) введите выражение CCur([Товары]![Цена]*
[Заказано]![Количество]*(1-[Заказано]![Скидка])/100)*100. Нажав клавиши
Shift+F2 в окне Область ввода вместо Выражение 1: введите ОтпускнаяЦена.
5.3. Щелкните правой кнопкой по пустому полю следующего столбца и в
открывшемся меню выберите Свойства. В строке «Вывод всех полей» выберите
значение Нет. Запустите запрос и сохраните его под именем «Сведения о заказах».
34
5.4. Создайте новый запрос и добавьте в него таблицы «Клиенты», «Заказы» и
запрос «Сведения о заказах».
5.5. Перетащите в бланк заказа поле «Название» из таблицы «Клиенты», поле
«КодЗаказа» из таблицы «Заказы», а затем дважды выберите поле «Отпускная цена»
из запроса «Сведения о заказах».
5.6. Нажмите кнопку Итоги на ленте инструментов. В бланк запроса добавляется
строка «Групповая операция», содержащая по умолчанию в каждой ячейке операцию
Группировка.
5.7. В строке «Групповая операция»
задайте необходимые статистические
функции. Для поля «Название» оставьте значение Группировка, для поля
«КодЗаказа» выберите из списка функцию Сount (подсчёт количества записей в
поле), а для поля «Отпускная цена» первый раз выберите Sum (суммирует все
значения в поле). А для подсчёта среднего значения второй раз используйте
функцию Avg.
5.8. Запустите запрос на выполнение, чтобы посмотреть результаты запроса.
Должна получиться таблица, которая содержит список клиентов, для каждого
клиента указывается количество заказов, которое он сделал, общая сумма и средняя
стоимость этих заказов. Закройте запрос, сохранив eго под именем "Итоги по
клиентам".
6. Самостоятельная работа.
6.1. Создайте запрос на выборку самых дорогих кондитерских товаров.
6.2. Создайте запрос на выборку клиентов с самыми большими заказами
6.3. Создайте запрос, в котором будут отражены все совладельцы предприятий в
г. Тюмени среди клиентов.
Лабораторная работа №9
Создание запросов-действий (модифицирующих запросов)
Цели работы:
Приобретение навыков работы с данными с помощью запросов-действий.
Задачи работы:
Научиться создавать и выполнять запросы на создание таблицы, на добавление,
обновление и удаление данных.
Общие сведения.
Для быстрого изменения, вставки, создания или удаления наборов данных из базы
используются управляющие запросы или запросы-действия.
Создание запросов-действий аналогично созданию запросов на выборку. Главное
отличие в том, что в Конструкторе запросов необходимо указать тип действия над
выбранными записями. Существует четыре типа запросов-действий:
 Создание таблицы
 Обновление созданной таблицы
 Удаление записей из созданной таблицы
 Добавление записей в созданную таблицу
Кнопки выбора действия находятся на вкладке Конструктор в разделе Тип
запроса.
Внимание! Создание запросов на удаление, обновление и добавление
невозможно без разрушения целостности данных. Поэтому, перед созданием таких
запросов сделайте копию таблицы, созданной в результате запроса на создание
35
таблицы.
1. Создание таблицы с помощью запроса выполняется в три этапа:
♦ создание запроса на выборку;
♦ преобразование запроса на выборку в модифицирующий запрос;
♦ выполнение модифицирующего запроса, в результате которого будет
создана таблица.
1.1. Создайте новый запрос на выборку с помощью Конструктора и добавьте в
него таблицы «Заказы», «Заказано» и «Клиенты».
1.2. Выберите поля, которые будут отображаться в результирующей таблице:
«КодЗаказа», из таблицы «Заказы», «НаимТовара» таблицы «Заказано», «Название»
из таблицы «Клиенты», «ДатаИсполнения» из таблицы «Заказы».
1.3. Используя оператор Between, выберите все заказы, относящиеся к 2008 году
для помещения их в архив. Просмотрите результат выполнения запроса, перейдя в
Режим таблицы. В результате должна получиться таблица, в которой отображаются
все заказы, выполненные в 2008 году. Вернитесь в Конструктор.
1.4. На втором этапе необходимо преобразовать запрос. Для этого на вкладке
Конструктор в разделе Тип запроса выберите Тип Запроса: Создание таблицы.
1.5. Появится диалоговое окно Создание таблицы. В поле «имя таблицы» введите
Архив. Установите переключатель «в текущей базе данных». Таблица будет
создаваться в текущей базе данных (открытой в этот момент). Нажмите ОК.
1.6. Не выполняя, закройте запрос, присвоив ему имя «Для архива».
Внимание! Обратите внимание, что в окне базы данных пиктограмма запроса
содержит восклицательный знак, что указывает на модифицирующий запрос на
создание таблицы.
1.7. Для того, чтобы программа выполнила запрос надо изменить параметры
безопасности. Для этого нажмите кнопку Параметры, находящуюся в центре экрана.
Выберите «Включить это содержимое» и нажмите ОК
Внимание! Запрос на создание архивной таблицы выполняется только, один раз!
1.8. Выполните запрос, два раза щелкнув по его имени. Access предупредит об
изменении данных в таблице, хотя таблица еще не создана. Отвечайте на все
вопросы утвердительно. В результате должна появиться новая таблица с заданным
вами именем. Откройте ее и посмотрите, какие записи она содержит.
2. Создание модифицирующего запроса на добавление данных в таблицу.
В конце года или квартала в архив добавляются данные о выполненных заказах.
Для этого необходимо создать запрос на добавление.
2.1. Создайте новый запрос аналогично предыдущему, используя те же таблицы и
те же поля, которые есть в таблице «Архив».
2.2. Задайте критерий отбора записей: срок исполнения должен быть равен
первому кварталу года (например: Between #01.01.2009# And #31.03.2009#).
2.3. Не выполняя, просмотрите результат выполнения запроса в Режиме таблицы.
В результате должна получиться таблица, в которой отображаются все заказы,
выполненные в первом квартале года. Вернитесь в Конструктор.
2.4. На втором этапе необходимо преобразовать запрос. Для этого на вкладке
Конструктор в разделе Тип запроса выберите Тип запроса: Добавление.
В
появившемся диалоговом окне в поле «имя таблицы» введите Архив. Установите
переключатель в Текущей базе данных. Нажмите ОК. Закройте запрос и сохраните
его под именем «Добавление в архив»;
36
Внимание! В окне базы данных пиктограмма запроса содержит плюс и
восклицательный знак, что указывает на модифицирующий запрос на добавление.
2.5. Выполните запрос. В результате в таблицу «Архив» будут добавлены данные
о выполненных заказах.
Внимание! Если запрос на добавление выполнить несколько раз, то в таблице
«Архив» данные будут повторяться. Чтобы этого не происходило в таблице «Архив»
нужно задать ключевое поле. Ключевым полем можно выбрать поле «КодЗаказа».
3. Самостоятельная работа.
3.1. Запрос на удаление служит для удаления группы записей базы данных,
удовлетворяющих определённым условиям. Используя модифицирующий запрос на
удаление, удалите из таблицы «Товары» все товары, поставки которых прекращены.
Внимание! Перед созданием запроса на удаление сделайте копию таблицы
«Товары», чтобы не потерять данные в случае ошибки.
3.2. С помощью запроса на обновление можно добавлять, изменять или удалять
данные в одной или нескольких записях. Запросы на обновление можно
рассматривать как разновидность диалогового окна Поиск и замена с более
широкими возможностями. Следует ввести условие отбора (приблизительный аналог
образца поиска) и условие обновления (приблизительный аналог образца замены). В
отличие от диалогового окна Поиск и замена запрос на обновление может принимать
несколько условий и позволяет обновить большое число записей за один раз, а также
изменить записи сразу в нескольких таблицах.
Используя модифицирующий запрос на обновление, обновите в таблице «Товары»
данные, заменив название поставщика. Например, «ОАО Боровский» на «Боровский».
Лабораторная работа №10
Создание и применение сводных таблиц
Цели работы:
Ознакомиться с приёмами анализа данных с помощью сводных таблиц.
Задачи работы:
Научиться проектировать и создавать сводные таблицы.
Общие сведения.
Сводная таблица — это еще одно удобное средство для анализа данных. Она
позволяет превратить обычную таблицу или результирующее множество запроса,
содержащее большое число записей и непригодное для анализа, в компактную
таблицу, включающую только итоговые данные. Причем, в отличие от перекрестных
запросов, структура сводной таблицы легко трансформируется, позволяя
просматривать данные в различных разрезах и с различной степенью детализации,
что и требуется для анализа.
Кроме того, данные, представленные в табличной форме, могут быть легко
преобразованы в графическую форму с помощью сводных диаграмм, что делает их
еще более наглядными.
Внимание! Режим Сводная таблица может быть применен и к таблице, и к
запросу, и к форме. Но наиболее применим именно к запросу, который обычно
объединяет данные из нескольких таблиц и эти данные нужно иметь возможность
представить в удобном для анализа виде.
1. Создание сводной таблицы.
1.1 Создайте запрос по таблицам «Заказы», «Заказано», «Товары», «Клиенты»,
37
«Доставка». Из таблицы «Заказы» вставьте поле «Клиент», из таблицы «Клиенты»
поля «Адрес», «Город», «ОбращатьсяК».
1.2. В верхнюю ячейку следующего (пустого) поля, используя Построитель
выражений, вставьте выражение [Имя] & " " & [Фамилия] (из таблицы
«Сотрудники»), нажав Shift+F2, в Области ввода вместо Выражение 1: введите
Продавец:
Внимание! Если в выражении используются поля из какой-либо таблицы, то эта
таблица обязательно должна присутствовать в бланке запроса.
1.3. Из таблицы «Заказы» добавьте поля «КодЗаказа», «ДатаНазначения»,
«ДатаИсполнения». Из таблицы «Доставка» - «Название». Из таблицы «Товары» поля
«Марка» и «Цена». Из таблицы «Заказано» поля «Количество», «Скидка».
1.4. В следующее (пустое) поле введите выражение, вычисляющее Отпускную
цену:
CCur([Заказано]![Количество]*[Товары]![Цена]*(1-[Заказано]!
[Скидка])/100)*100. Нажав клавиши Shift+F2 в окне Область ввода вместо
Выражение 1: введите ОтпускнаяЦена.
1.5. Из таблицы «Заказы» добавьте поле «Стоимость доставки».
1.6. Запустите запрос и сохраните его под именем «Счета». Если в Режиме
таблицы в запросе появляются «лишние» поля, то в режиме Конструктора в
Свойствах поля (правой кнопкой мыши по пустому полю) в строке «Вывод всех
полей» нужно выбрать Нет.
1.7. Создание сводной таблицы. Откройте запрос «Счета» в Режиме таблицы.
Щелкнув правой кнопкой по заголовку запроса, выберите из списка элемент Сводная
таблица. На экране появится макет будущей таблицы, который состоит из четырех
областей. Каждая область имеет надпись, показывающая, какие данные должны в
ней помещаться. Если Список полей не виден на экране, нажмите кнопку Список
полей на вкладке Конструктор в разделе Показать или скрыть (рис. 18).
Рис.18. Макет Сводной таблицы и список полей.
 Найдите в списке поле «Город» и переместите его в верхнюю область
таблицы, которая называется областью фильтра. После этого вы сможете
фильтровать данные в таблице по городам клиентов. В сводной таблице появляется
еще одно измерение — глубина — благодаря которому, можно просматривать и
анализировать данные по городам. Каждый срез таблицы будет отображать данные
по выбранному городу. Добавьте в эту же область поля «Продавец», «КодЗаказа»,
«Скидки», «Дата исполнения по месяцам»;
38
 Выделите в списке полей поле "Марка" и перетащите его в крайнюю левую
область. Эта область называется областью строк и будет содержать список всех
товаров, на которые были выписаны счета.
 Чтобы определить столбцы таблицы, переместите поле «Дата назначения по
месяцам» в область столбцов, которая имеет надпись «Перетащите сюда поля
столбцов». В таблице появятся три столбца, которые будут содержать данные по
годам — это самый верхний уровень группировки, — и один итоговой столбец
«Общие итоги».
 Для того, чтобы определить, что будет отображаться в самой таблице,
переместите в самую большую область таблицы — поле «Отпускная цена». Таблица
приобретет вид, представленный на рисунке (рис. 19). По умолчанию в ней
отображаются все данные по всем товарам и городам.
Рис. 19. Сводная таблица
1.8. Определение итоговых столбцов.

Щелкните на заголовке столбца «Отпускная цена» и выберите на
вкладке Конструктор в разделе Сервис Автовычисления/Сумма. Появится
дополнительная строка для каждого товара, содержащая итоговое значение по
каждому товару за год, а в итоговом столбце будет отображена итоговая цифра
продаж каждого товара по всем годам (рис. 20).
Рис. 20. Сводная таблица с итоговыми значениями.
39

Теперь можно скрыть детальные данные, оставив только итоговые.
Нажмите кнопку Без подробностей на панели инструментов в разделе Показать или
скрыть.
1.9. Фильтрация данных сводной таблицы. Сейчас в таблице отображаются
данные о продажах по всем товарам и всем городам. С этой таблицей легко
манипулировать, отображая в ней разные данные. Например, она может быть очень
легко изменена, когда требуется посмотреть выборочно данные по отдельному
городу, заказу или скидке на товары, т. е. по тем полям, которые отображаются в
области фильтра, области строк и области столбцов. Щелкнув по кнопке справа от
названия любого из этих полей, снимите флажок Все и выберите то поле, по
которому нужен фильтр, например, Тюмень, и нажмите кнопку ОК. Теперь ваша
таблица отображает данные только по Тюмени.
2. Сводная диаграмма. Для того чтобы отображение данных было еще более
наглядным, можно использовать сводные диаграммы. Сводная диаграмма строится
автоматически на основе уже созданной сводной таблицы, но может также строиться
и самостоятельно, на основе исходной таблицы или запроса. Когда диаграмма
построена, ее можно перестраивать, перетаскивая поля, аналогично тому, как это
делается в сводных таблицах.
Создать диаграмму на основе сводной таблицы очень просто. Переключитесь в
режим Сводная диаграмма, и на экране появится сводная диаграмма. Создайте
сводную диаграмму по запросу «Счета». В область Перетащите сюда поля данных
поместите любое поле (по которому нужно просмотреть данные), например,
«ОтпускнаяЦена». Посмотрите, что изменилось в сводной таблице.
Для того чтобы изменить тип диаграммы, щелкните мышью в любом месте
области диаграммы и убедитесь, что эта область выделена. Тогда становится
доступной вкладка Конструктор на ленте инструментов, где можно выбрать кнопку
Изменить тип диаграммы.
3. Самостоятельная работа.
3.1. Добавьте в сводную таблицу поле «Клиенты».
3.2. Проанализируйте, кто из продавцов имел самый большой объём работы по
количеству заказов, а кто - по общей сумме всех заказов.
3.3. Выберите Клиента с самой большой суммой купленных товаров.
Лабораторная работа №11
Отчёты.
Цели работы:
Освоить приёмы создания и редактирования отчётов.
Задачи работы:
Создание отчётов разных типов, редактирование отчётов.
Общие сведения.
Отчёты представляют собой наилучшее средство представления информации из
базы данных в виде печатного документа. По сравнению с другими методами вывода
данных на печать, отчёты имеют два важных преимущества:
 отчёт предоставляет широкие возможности для группировки и вычисления
промежуточных и общих итогов для больших наборов данных;
 отчёты могут быть использованы для получения красиво оформленных
материалов, наклеек и других документов.
40
Перед созданием отчета необходимо определить источник данных. Если данные
извлекаются только из одной таблицы, можно создать отчёт на её основе. Однако,
если данные поступают из нескольких таблиц, в качестве источника для отчета
необходимо использовать запрос. В основном отчёты применяются для просмотра
«картины в целом», поэтому чаще базируются на многотабличных запросах.
Также можно создать отчет без использования таблицы или запроса. Например,
сопроводительное письмо или отчет, объединяющий два или более подчиненных
отчетов, не связанных между собой.
Можно создавать отчеты разных типов в зависимости от конкретных требований.
Например, для проведения встречи с поставщиком может потребоваться подробный
отчет, а для представления анализа руководству компании можно использовать
сводный отчет или отчет с группировкой.
 Подробный отчет создаётся по данным из таблицы или запроса.
 Отчет с группировкой позволяет организовывать данные по группам, например
по типу товара или по дате. Можно вычислять итоговые значения для каждой
группы, а также для целого отчета и отображать информацию в колонтитулах
группы.
 Сводный отчет содержит итоговые значения, без подробных сведений.
 Отчет для почтовых наклеек позволяет печатать имена и адреса в стиле и
формате, подходящем для использования с имеющимися наклейками.
 Отчет с несколькими столбцами используется для отображения информации в
нескольких столбцах (например, для создания списка телефонов).
1. Создание «Автоотчета». Автоотчет — это самый быстрый способ создания
отчета, но он предоставляет минимальные возможности управления структурой
отчета и его внешним видом.
В автоотчет автоматически вносятся все поля источника данных, будь то таблица
или запрос. Структура автоотчета может быть либо столбчатой, либо ленточной.
1.1. Не открывая, выделите таблицу или запрос, на основе которого следует
создать отчет.
1.2. На ленте инструментов перейдите на вкладку Создание. В разделе Отчёты
выберите кнопку Отчет.
2. Создание отчета с помощью Мастера отчетов. С помощью мастеров
можно создавать различные отчеты, включая следующие Пустой отчет, Отчет с
группировкой (с итоговыми значениями или без них), Отчет для почтовых наклеек.
Мастер отчетов выводит вопрос о том, на каких таблицах или запросах будет
основан отчет и какие поля из этих источников данных должны использоваться.
Также выводится вопрос о том, следует ли группировать данные и как выполнять
сортировку и обобщение данных.
После вопросов о данных мастер отчетов выводит вопросы о внешнем виде
отчета: макете, ориентации и выборе одного из шести визуальных представлений. В
заключение выводится вопрос о названии отчета и затем на основе полученных
ответов генерируется отчет.
2.1. На вкладке Создание выберите Мастер отчетов.
2.2. Выберите таблицу «Заказано» и в окне Доступные поля выберите все поля.
2.3. Из таблицы «Клиенты» выберите поля «Название», «Адрес» и «Город».
2.4. В следующем окне выберите Вид представления данных - Заказано (рис.21).
41
Рис. 21. Мастер отчётов. Выбор вида представления данных.
2.5. В следующем окне добавьте уровень группировки по названию клиента (рис.
22), нажмите Далее.
2.6. Задайте возрастание по полю «Скидки».
Рис. 22. Добавление уровня группировки.
2.7. В следующем окне выберите вид макета для отчёта и расположение отчёта
на странице (книжная или альбомная).
2.8. В следующем окне выберите оформление отчёта, а в последнем окне задайте
имя отчёту и нажмите кнопку Готово.
Внимание! Данные при просмотре или в распечатанном отчете являются
статичными. Однако при каждом просмотре или печати отчета выводятся самые
последние данные из таблицы, отчета или источника данных запроса.
3. Группировка в отчётах. Подведение итогов.
3.1. Создать отчёт с помощь Мастера по таблицам «Заказы», «Заказано»,
«Товары», «Клиенты». Из таблицы «Товары» нужно выбрать поля Марка и Цена, из
таблицы «Заказы» - «ДатаИсполнения», из таблицы «Клиенты» – «Название», из
таблицы «Заказано» – «Количество», «Скидки».
3.2. В следующем окне выберите Вид представления данных по таблице
«Заказано». Добавьте уровень группировки по названию клиентов.
3.3. В следующем окне нажмите кнопку Итоги. В открывшемся окне определите
итоги по полям «Количество», «Цена» и «Скидка», отметив «галочками» Sum, Avg
(средняя), Max соответственно. Нажмите кнопку Ок (рис. 13).
42
Рис. 23. Подведение итогов в отчётах.
3.4. В следующем окне выбрать вид макета «блок», Далее.
3.5. Выберите стиль оформления отчёта, задайте имя и нажмите Готово.
3.6. Отредактируйте полученный отчёт в режиме Конструктора: измените
размеры полей в зависимости от содержания, слова Sum и Avg замените на «сумма»
и «среднее» соответственно, увеличьте шрифт.
4. Построение отчёта в режиме конструктора
На ленте выберите вкладку Создание, раздел Отчеты и Конструктор отчётов.
Автоматически откроется вкладка Конструктор. В отчетах существуют разделы трёх
типов (рис. 24):
Разделы верхнего колонтитула (область Заголовка отчёта и область
Верхнего колонтитула): содержат сведения, которые отображаются либо вверху
отчета, либо вверху каждой страницы отчета
Рис. 24. Окно конструктора отчётов.
В Заголовок отчёта, который выводится только один раз в начале отчета,
включается информация самого верхнего уровня (такая, как заголовок всего отчёта,
название компании, адрес и эмблема и пр.)
В область Верхнего колонтитула включаются данные, которые будут
повторяться на каждой странице (например, заголовки полей).
Данные. Раздел данных содержит большую часть информации отчета.
Например, в разделе данных счета-фактуры перечисляются все товары и их цены.
Разделы Нижнего колонтитула
страницы включают область Нижнего
колонтитула и область Примечаний отчёта. Нижний колонтитул отображается на
каждой странице и может включать номер страницы, фамилию сотрудника, номер
отдела и пр. Примечание отчёта отображается на последней странице в конце отчета
и содержит заключение, такое как общий итог.
43
Для того чтобы добавить поле и надпись используется панель элементов
Конструктора: кнопка Аа добавляет надпись, кнопка ab добавляет поле для ввода
данных и пр.
4.1. В разделе Сервис нажмите кнопку Страница свойств и на вкладке Данные
выберите Источник записей базовую таблицу или запрос для отчета (например,
таблицу «Заказы»). Закройте Страницу свойств.
4.2. В разделе Сервис нажмите кнопку Добавить поля. Access откроет список
полей базовой таблицы или запроса. Поля «Клиент», «ОтвСотрудник» и
«ДатаИсполнения» перетащите в Область данных.
4.3. В Верхнем колонтитуле поместите заголовок «Исполнение заказов».
4.4. Перенесите окошки названия полей в верхний колонтитул (под заголовок) и
разместите окошки содержания полей под окошками названий (рис. 25).
Рис. 25. Перенос заголовков полей в режиме конструктора.
4.5. Просмотрите отчёт и сохраните его.
5. Добавление вычисляемых полей в отчёте в режиме Конструктора.
5.1. Откройте в режиме Конструктора запрос, показывающий размещение
заказов за период (использовалось выражение «Between #01.01.2009# And
#31.03.2009#»). Добавьте в запрос таблицы «Товары» и «Заказано» и из таблицы
«Товары» выберите поле «Марка». В следующее (пустое поле) введите выражение,
вычисляющее стоимость заказа. Сохраните изменения в запросе.
5.2. Создайте отчёт в режиме Конструктора. Из запроса (созданного в п. 5.1.)
перетащите все поля в Область Данных.
5.3. В область Заголовка отчёта добавьте надпись «Сумма за период», используя
кнопку Аа на ленте инструментов в разделе Элементы управления.
5.4. Если в бланке отчёта нет областей Заголовок отчёта и Примечание отчёта,
щёлкнув правой кнопкой по бланку отчёта, вызовите контекстное меню и выберите
Заголовок/примечание отчёта. В область Примечание отчёта вставьте вычисляемое
поле, используя кнопку ab. В первом поле (Поле№) измените надпись: Общая сумма.
В поле Свободный введите выражение, вычисляющее сумму всех заказов. Для этого в
разделе Сервис выберите Страницу Свойств. На вкладке Данные, в строке Данные
вызовите Построителя выражений и постройте выражение: Sum(поле, в котором есть
данные о стоимости заказа из запроса, созданного в п. 5.1). Посмотрите результат
выполнения отчёта.
5.5. Отредактируйте отчёт, изменив расположение надписей (перенесите
заголовки полей в Область верхнего колонтитула), размер и написание шрифта.
Выделите заголовок отчёта, верхний колонтитул, итог и сумму всех заказов.
44
5.6. Вставьте рисунок в область Заголовка отчёта (рис. 26). Для этого выделите
курсором место, куда будет вставлен рисунок, нажмите на ленте инструментов кнопку
Эмблема и в появившемся окне укажите адрес, по которому находится рисунок.
Сохраните отчёт под именем «Сумма за период».
Рис. 26. Добавление вычисляемого поля и рисунка в отчёт
6. Подчинённые отчёты. В область данных создаваемого отчёта можно
внедрить подчинённый отчёт для вывода нескольких детальных строк из таблицы или
запроса, находящихся на стороне «многие» (связь «один-ко-многим») по отношению
к текущей строке в области данных. Подчинённый отчёт можно создать двумя
способами: в режиме Конструктора и с помощью Мастера отчётов (аналогично
созданию сложных форм.
7. Самостоятельная работа:
7.1. Создайте отчёт с группировкой по категориям товаров, используя любой
способ создания отчётов. Выведите общие суммы по каждой категории товаров и
среднюю цену.
7.2. Создайте отчёт с группировкой по работе сотрудников с заказами.
Внимание! Прежде чем создавать отчёты – создайте запросы.
Лабораторная работа № 12
Оформление стандартных документов путем слияния двух файлов.
Цели работы:
Ознакомиться с приёмами автоматизации создания документов
Задачи работы:
Научиться заполнять шаблоны текстовых документов данными, содержащимися в
базе данных Access.
Общие сведения.
Слияние документов может быть полезно, когда требуется решить типовую задачу
— создание серийных документов. Это могут быть письма с одинаковым
содержанием, но адресованные разным лицам, или типовые бланки, которые должны
оформляться в большом количестве. Подобные документы проще создать в текстовом
редакторе. Функция слияния позволяет в документ, созданный в текстовом
редакторе, вставить данные, хранящиеся в базе данных.
Задача сводится к тому, что должен существовать шаблон такого документа и
таблица в базе данных, содержащая сведения, которые необходимы для заполнения
документа. Требуется создать необходимое количество экземпляров такого
документа, вставив в каждый экземпляр существующие данные.
45
В качестве примера рассмотрим письмо-уведомление, которое необходимо
разослать всем клиентам, оформившим заказы. Письмо содержит текст и несколько
полей, которые должны быть заполнены данными из таблицы Access. В эти поля
вставляются коды полей таблицы Access.
1. Создание основного документа.
1.1. В текстовом редакторе Word наберите текст информационного письма,
оставив место под данные. Пример письма показан ниже. Вместо линий в
дальнейшем будут данные.
Отдел по
работе с
клиентами
Уважаемый(ая) ____________________
Сообщаем Вам, что ваш заказ ____
на сумму______ будет отправлен __
Способ отправки __________________
Ответственный за выполнение заказа __________________
1.2.. Сохраните документ с именем «Письмо» и временно сверните его.
2. Создание источника данных.
2.1. В базе данных создайте запрос на выборку, который будет содержать все
необходимые для письма данные: код заказа, фамилию и имя клиента, сумму заказа,
срок исполнения заказа, способ доставки, фамилию сотрудника, ответственного за
данный заказ.
2.2. Сохраните запрос с именем «Данные».
Внимание! Если в документе нужны данные из поля, которое заполнялось по
подстановке, то в запрос выбирается поле из подстановочной таблицы.
3. Слияние основного документа и источника.
3.1. Откройте файл «Письмо» и поставьте курсор после обращения Уважаемый...
3.2. Выберите вкладку Рассылки/Начать слияние/Пошаговый мастер слияния.
3.3. Убедитесь, что отмечен пункт Письма и внизу панели нажмите Далее.
Открытие документа.
3.4. Выберите Текущий документ и нажмите кнопку Далее. Выбор получателя.
3.5. Отметьте кнопку Использование списка и нажмите кнопку Обзор. Откроется
окно, в котором надо указать адрес источника данных. Выберите созданную вами
базу данных и в ней запрос «Данные». В открывшемся окне можно уточнить данные:
сделать сортировку, установить фильтр и пр. Нажмите ОК и внизу панели - Далее.
Создание письма.
3.6. Нажмите кнопку Другие элементы. В появившемся окне Добавление поля
слияния выберите «Обращаться к» и нажмите кнопку Вставить. Закройте окно
3.7. Поставьте курсор на место, где будет находиться код заказа. Выполните
действия п. 3.6. Аналогично вставьте остальные данные (сумму, дату исполнения
заказа, ответственного сотрудника).
3.8. Можно отформатировать поля (изменить шрифт, начертание, цвет и т.д.). В
результате документ должен выглядеть примерно так, как показано на рисунке.
46
Отдел по
работе с
клиентами
Уважаемый(ая) «ОбращатьсяК»
Сообщаем Вам, что ваш заказ «заказыКодЗаказа»
на сумму «ОтпускнаяЦена»
будет отправлен «ДатаИсполнения».
Способ отправки «Название»
Ответственный за выполнение заказа «Фамилия»
3.9. Нажмите кнопку Просмотр писем. Будет произведено объединение данных и
основного документа. Сохраните получившийся документ.
3.10. Полученный документ можно вывести на печать, сформировав сразу все
письма по клиентам. Как будут выглядеть письма, можно увидеть, нажимая правую
или левую кнопку Получатель.
Лабораторная работа №13
Использование макросов в Access
Цель работы:
Изучение возможностей Access по созданию и использованию макросов.
Задачи работы:
Научиться создавать макросы и элементы управления для их запуска.
Общие сведения.
В Access поддерживается два языка программирования. Как правило,
профессиональные разработчики используют язык VBA. Однако есть и другой язык —
язык макросов, предназначенный для новичков. Создание макроса подразумевает
запись списка инструкций, которым будет следовать компьютер.
Макрос – это объект, представляющий собой структурированное описание одного
или нескольких действий, которые должна выполнить программа в ответ на
определённое событие. За счёт использования макрокоманд значительно облегчается
работа с формами и отчётами.
В Access имеется свыше 40 макрокоманд, которые можно включать в макросы:
открытие таблиц, отчётов и форм, выполнение запросов, выбор опций из меню,
изменение размеров открытых окон и пр. Макрос позволяет нажатием одной (или
нескольких одновременно) кнопки выполнить комплекс действий, которые часто
приходится выполнять в течение работы.
В Access отсутствует средство записи макросов, что отличает макросы Access от
макросов Word или Excel.
1. Создание макроса, выделяющего определенную запись в таблице.
1.1. Перейдите на вкладку Создание и нажмите кнопку Макросы. На экране
появится таблица конструктора, предназначенная для создания нового макроса.
1.2. В первой строке столбца «Макрокоманда» выберите команду
ОткрытьТаблицу.
1.3. В нижнем окне в поле Имя таблицы выберите «Товары».
47
1.4. Щелкните на второй строке в столбце Макрокоманда (под макрокомандой
ОткрытьТаблицу) и выберите команду НайтиЗапись.
1.5. В поле Образец поиска введите одно из названий товара (например, Фуджи).
1.6. В поле Совпадения выберите опцию С любой частью поля, а в поле Только в
текущем поле выберите Нет (рис. 27).
Рис. 27. Окно конструктора макросов.
1.7. Сохраните макрос, присвоив ему имя по названию товара. Закройте макрос.
Проверьте работу макроса, запустив его двойным щелчком или нажав на кнопку с
восклицательным знаком.
2. Создание фильтров с помощью макросов
2.1. Создайте новый макрос.
2.2. В разделе Показать или скрыть выберите Имена макросов для добавления
нового столбца к таблице конструктора. Столбец позволяет объединять несколько
команд в одном макросе, тем самым, упрощая структуру последнего.
2.3. В первой строке столбца «Имя макроса» в качестве названия макроса
введите «Кондитерские изделия» (или любой из типов товара из таблицы Типы).
2.4. В первой строке столбца «Макрокоманда» выберите команду
ПрименитьФильтр.
2.5. В нижней области экрана введите [КодТипа] =3 (код типа кондитрские по
таблице «Типы» равен 3) в качестве значения свойства Условие отбора. В таком
случае, фильтр выберет только записи, в которых значение Код типа равно 3 (рис.
28).
Рис. 28. Создание фильтра с помощью макроса.
2.6. Сохраните макрос, присвоив ему имя «Фильтр». Закройте макрос.
48
2.7. Щёлкнув правой кнопкой мыши по форме «Товары» откройте её в режиме
Конструктора.
2.8. Выберите элемент Кнопка на панели и на пустой области формы нарисуйте
кнопку.
2.9. В окне мастера Создание кнопок выберите категорию Разное и команду
Выполнить макрос, после чего щелкните на кнопке Далее.
2.10. Выберите для запуска макрос Фильтр.Кондитерские изделия. Щелкните на
кнопке Далее.
2.11. Выберите переключатель Текст и введите текст для кнопки Кондитерские.
Щелкните на кнопке Готово.
2.12. Перейдите в Режим формы, сохранив изменения.
2.13. Проверьте работу фильтра, нажав кнопку с названием категории товара.
3. Самостоятельная работа.
3.1. Создайте макросы, запускающие фильтры для товаров категорий мясо/птица
и хлебобулочные.
3.2. На форме «Товары» создайте кнопки для созданных макросов, запускающих
фильтры.
4. Создание макросов методом «перетащить и опустить»
Для некоторых команд макросов Access предоставляет специальные ссылки. При
их использовании вам для создания, например, макроса открытия формы или отчета
не понадобится выбирать команды или их свойства. Все будет делаться по-другому.
4.1. Запустите окно создания макросов.
4.2. Выделите, не открывая, любой отчёт и перетащите его в первую строку
макроса. Будет выполнена команда ОткрытьОтчет и выведено имя отчета.
4.3. Измените аргумент макрокоманды в строке «Режим» на Просмотр.
4.4. Сохраните макрос, присвоив ему имя «Отчёт».
4.5. Закройте окно и проверьте работу макроса.
Внимание! Переносить на таблицу макроса и таким образом создавать команды
открытия объекта, можно любые объекты, будь-то таблицы, запросы, формы или
отчеты.
5. Создание кнопок методом переноса макроса на форму
Кнопки, запускающие макросы, позволяют сделать работу с формами более
комфортной.
5.1. Откройте любую форму в режиме Конструктора.
5.2. Перетащите макрос «Отчет» в область Примечание формы. Будет создана
новая командная кнопка.
5.3. Нажмите копку Страница свойств для открытия окна Свойства. Измените
свойство Подпись, присвоив ему значение Открытие отчёта.
5.4. Сохраните изменения в форме и проверьте работу кнопки.
Таким образом, при переносе макроса на форму, открытую в режиме
конструктора, Access создает командную кнопку, выполняющую данный макрос. Это
позволяет создавать командные кнопки без использования мастера кнопок.
Лабораторная работа №14
Использование мастера главной кнопочной формы
Цели работы:
Задачи работы:
49
База данных содержит множество объектов: таблицы, запросы, формы, отчеты.
Любой из этих объектов можно найти в основном окне базы данных, выбрав
соответствующую ссылку и затем щелкнув на нужном объекте. Но, чаще всего, при
создании базы подразумевается, что ею будет пользоваться кто-то еще. Основное
окно базы данных предоставляет максимум информации, однако не всегда помогает
обнаружить важные объекты.
За годы развития Access разработчики придумали несколько способов решения
указанной проблемы. Одним из наиболее эффективных инструментов, используемых
для организации объектов баз данных Access, являются кнопочные формы.
Хотя кнопочные формы и позволяют эффективно организовывать данные, порой в
них содержится слишком много элементов. Тогда кнопочная форма превратится в
такой же склад объектов, как и окно базы данных. Решить данную проблему можно
путем создания вложенных кнопочных форм.
1. Создание кнопочной формы.
1.1. Перейдите на вкладку Работа с базами данных и нажмите кнопку Диспетчер
кнопочных форм. Поскольку диспетчер загружается впервые, появится окно с
запросом на создание новой кнопочной формы. Щелкните на кнопке Да.
1.2. При запуске диспетчера по умолчанию создается главная кнопочная форма
(рис 29). Щелкните на кнопке Создать для открытия диалогового окна Создание
новой страницы кнопочной формы и в открывшемся окне наберите имя «Отчёты».
Закройте окно.
Рис. 29. Создание Главной кнопочной формы.
1.3. Аналогично создайте страницу кнопочных форм для макросов.
В таблице перечислены различные команды, которые можно задать в диалоговом
окне Изменение страницы кнопочной формы.
Команды для элементов кнопочной формы
Команда
Описание
Перейти к кнопочной форме
Открытие другой кнопочной формы
Открыть
форму
для Открытие формы для добавления новых записей, но
добавления
без отображения существующих
Открыть форму для изменения Открытие формы с отображением существующих
записей с целью изменения последних (также
возможно добавление данных)
Открыть отчет
Открытие отчета в режиме предварительного
просмотра
Конструктор приложения
Открытие диспетчера кнопочной формы
Выйти из приложения
Закрытие базы данных
50
Выполнить макрос
Выполнить программу
Выполнение
макроса.
Описание
макросов
приводится далее в этой главе
Выполнение программного кода на языке VBA
(Visual Basic for Applications). Язык VBA в книге не
описывается; разыщите книгу из этой серии,
посвященную VBA
В конечном итоге, должно получиться три кнопочных формы: Главная кнопочная
форма (по умолчанию), Отчёты и Макросы. На страницах кнопочных форм «Макросы»
и «Отчёты» надо расположить кнопки, открывающие нужные объекты (рис. 30).
Рис. 30. Кнопочные формы объектов базы.
1.4. В окне Диспетчер кнопочных форм выделите кнопочную форму «Макросы» и
щёлкните по кнопке Изменить.
1.5. В открывшемся окне Изменение страницы кнопочной формы нажмите кнопку
Создать для открытия диалогового окна Изменение элемента кнопочной формы.
В поле со списком Команда выберите команду Выполнить макрос, затем в списке
Макрос выберите один из ранее созданных макросов, а в поле Текст введите
название выбранного макроса. Щелкните на кнопке ОК.
Повторите действия пунктов 1.4. и 1.5. для всех макросов.
1.6. Закройте диалоговое окно Изменение страницы кнопочной формы.
1.7. Выделите кнопочную форму «Отчёты» и создайте кнопки, открывающие
созданные ранее отчёты (п.п. 1.4-1.6.). В поле Команда используйте команду Открыть
отчёт.
2. Изменение кнопочной формы
Диспетчер кнопочной формы может использоваться многократно для одной и той
же кнопочной формы. Если понадобится внести какие-то изменения, например,
добавить новый элемент, изменить или удалить его, нужно открыть окно Диспетчер
кнопочных форм - все ранее настроенные параметры останутся в силе.
2.1. Убедитесь в том, что главная кнопочная форма закрыта и откройте
Диспетчер кнопочных форм.
2.2. В диалоговом окне диспетчера выберите опцию Главная кнопочная форма
(по умолчанию) и щелкните на кнопке Изменить.
2.3. В диалоговом окне Изменение страницы кнопочной формы щелкните на
кнопке Создать.
2.4. В диалоговом окне Изменение элемента кнопочной формы введите в поле
Текст название Отчёты, в поле со списком Команда выберите команду Перейти к
кнопочной форме, а в списке Кнопочная форма — элемент «Отчёты». Щелкните на
51
кнопке ОК. Аналогично добавьте кнопку для открытия вложенной кнопочной формы
«Макросы». Закройте все окна. Проверьте работу кнопочной формы (рис.31).
Рис. 31. Первая страница главной кнопочной формы.
3. Настройка вложенной формы
3.1. Закройте кнопочную форму и откройте Диспетчер кнопочных форм.
3.2. Выделите «Отчёты» и нажмите кнопку Изменить.
3.3. В диалоговом окне Изменение страницы кнопочной формы щелкните на
кнопке Создать.
3.4. В диалоговом окне Изменение элемента кнопочной формы введите в поле
Текст название На главную, в поле со списком Команда выберите команду Перейти к
кнопочной форме, а в списке Кнопочная форма — Главная кнопочная форма.
Щелкните на кнопке ОК. Аналогично добавьте кнопку перехода на главную
кнопочную форму на кнопочной форме «Макросы». Закройте все окна.
3.5. Откройте «Кнопочную форму» и проверьте работу кнопок (рис. 32).
Рис. 32. Страница отчётов Главной кнопочной формы.
Элементы кнопочной формы можно не только добавлять и изменять — их также
можно удалять. Для этого достаточно выбрать элемент в диалоговом окне Изменение
страницы кнопочной формы и щелкнуть на кнопке Удалить.
4. Оформление кнопочной формы.
4.1. Убедившись, что все кнопочные формы закрыты, откройте Диспетчер
кнопочных форм.
4.2. Выделите Главная кнопочная форма (по умолчанию) и нажмите кнопку
Изменить.
4.3. В окошке Название кнопочной формы введите Продуктовая база и закройте
все окна.
4.4. Проверьте работу всех кнопочных форм (рис. 33).
52
Рис. 33. Внешний вид Главной кнопочной формы после редактирования.
5. Самостоятельная работа.
Создайте вложенную кнопочную форму «Формы» и расположите на ней кнопки
для открытия всех форм, созданных ранее, используя команду Открыть форму для
изменения. Свяжите её с Главной кнопочной формой.
Лабораторная работа №15
Макрос Auto Exec
Специальный макрос AutoExec автоматически выполняется при загрузке базы
данных. Таким способом можно автоматизировать операции, которые должны всегда
выполняться в момент загрузки базы данных. В процессе открытия базы данных
Microsoft Access проводит поиск макроса с этим именем и, если такой макрос
существует, автоматически запускает его.
Создайте макрос AutoExec, который будет запускать главную кнопочную форму
при открытии базы данных.
1. Сделайте активной вкладку Создание и нажмите кнопку Макрос.
2. В поле «Макрокоманда» выберите ОткрытьФорму, а в строке «Имя формы»
выберите Кнопочная форма.
3. Закройте окно создания макросов, сохранив созданный макрос под именем
AutoExec;
4. Закройте окно базы данных. При следующем открытии базы данных Microsoft
Access автоматически запустит этот макрос. Проверьте работу макроса.
Примечание: если требуется загрузить базу данных, не выполняя при этом
макрос AutoExec, следует открывать базу данных, удерживая клавишу SHIFT.
Вопросы и задания к зачёту
Вопросы
1. Типы данных в Access.
2. Как в Access определить связи между таблицами?
3. Что такое ключевое поле и каким требованиям оно должно соответствовать?
4. Типы связей «один-к-одному» и «один-ко-многим». Каким образом эти связи
реализуются в реляционных базах данных?
5. Форматирование таблиц в Access.
6. Сортировка по одному и нескольким полям в Access.
7. Поиск и замена данных в Access.
8. Типы запросов в Access. Как выбрать тип запроса?
9. Перечислить основные операторы, используемые в запросе.
53
10. Назначение построителя выражений и приёмы работы.
11. Модифицирующие запросы. Виды модифицирующих запросов.
12. Отчёты в Access. В чём их преимущество над другими способами вывода данных?
13. Способы создания отчётов.
14. В чём отличие Автоотчёта от других способов создания отчётов?
15. Как добавить вычисляемое поле в отчёт?
16. С какой целью создаются формы в Access? Виды форм в Access.
17. Инструменты создания форм.
18. Элементы управления в формах, их назначение.
19. Сложные формы.
20. Что такое макрос и как его создать?
21. Для чего предназначен макрос AutoExec?
22. Кнопочные формы: назначение и виды.
Практические задания
1. Создать запрос, в результате выполнения которого будет выведен список товаров,
поставки которых прекращены.
2. Создать запрос, в результате выполнения которого будет выведен список товаров
московских поставщиков, поставка которых продолжается.
3. Создать запрос, вычисляющий полную стоимость заказа (вместе с доставкой).
4. Создать запрос, в результате выполнения которого будут выведены 3 самых
больших заказа, отправленных по железной дороге.
5. Создать запрос, в результате выполнения которого будут выведены 5 самых
маленьких заказа, отправленных автотранспортом.
6. Создать запрос, вычисляющий полную стоимость заказа (вместе с доставкой) и
выводящий на экран только те заказы, стоимость доставки которых превышает
1000 руб.
7. Создать форму для введения данных в несколько таблиц одновременно.
8. Создать отчёт, показывающий наиболее продаваемую категорию товаров.
9. Создать отчёт, показывающий результативность работы сотрудников (по сумме
всех заказов).
10. Создать отчёт, показывающий наименее продаваемую категорию товаров.
11. Создать сводную таблицу для анализа товарооборота за 200_ год.
12. Создать сводную таблицу, показывающую результативность работы базы по
годам.
13. Создать архивную таблицу, в которую будут помещены все заказы за 200_ год и
запрос на добавление в архив данных за 1 квартал 2009 года.
14. Создать отчёт, показывающий сколько заказов сделал каждый клиент в 200_ г.
15. Создать архивную таблицу, в которую будут помещены все заказы за 200_ год и
запрос на удаление из архива данных за 1 квартал 200_ года.
16. Создать итоговый отчёт по продаже товаров за 200_ год.
54
Литература:
Фрост Р., Дей Д., Ван Слайк К. Проектирование и разработка баз данных.
Визуальный подход. Москва: NT Press, 2007
Могилев А.В., Пак Н.И., Хённер Е.К. Информатика. Москва: ACADEMIA, 1999
Основы современных компьютерных технологий. Под редакцией А.Д.Хомоненко.
С.-Пб: КОРОНА принт, 2002
Иванова Е.Н. Microsoft Office 2007. Москва: Эксмо, 2007
55
Download