Access-2010_Chast1x - Белорусский государственный

advertisement
0
Министерство образования Республики Беларусь
УО «Белорусский государственный экономический университет»
Оскерко В.С., Пунчик З.В.
ТЕХНОЛОГИИ РАБОТЫ С БАЗОЙ ДАННЫХ
В СУБД ACCESS 2010
Часть 1. Визуальное проектирование объектов базы данных
Учебное пособие для студентов экономических специальностей
Минск, 2013
1
СОДЕРЖАНИЕ
Тема 1. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ*
* Тема1 будет изложена в печатном варианте пособия.
3. СОЗДАНИЕ БАЗЫ ДАННЫХ В СУБД ACCESS
3.1. Создание структур таблиц базы данных
3.2. Создание схемы данных
3.3. Заполнение таблиц базы данных
2
4
14
17
Контрольные вопросы
Тема 2. ТЕХНОЛОГИИ РАБОТЫ С БАЗОЙ ДАННЫХ В СУБД ACCESS
1. КОРРЕКТИРОВКА БАЗЫ ДАННЫХ
1.1. Каскадные операции
1.2. Работа с таблицей
2.2.1. Корректировка структуры таблицы
2.2.2. Работа в режиме таблицы
Контрольные вопросы
2. КОНСТРУИРОВАНИЕ ЗАПРОСОВ
2.1.Запросы на выборку
2.2. Перекрестный запрос
2.3. Запросы на внесение изменений в базу данных
21
21
23
23
25
31
31
46
47
Контрольные вопросы
3. КОНСТРУИРОВАНИЕ ФОРМ
3.1. Конструирование простой формы
3.2. Работа с данными базы по форме
3.3. Конструирование формы с вкладками
3.4. Конструирование составной формы
3.5. Создание вычисляемого поля в форме
51
53
56
58
59
61
Контрольные вопросы
4. СОЗДАНИЕ ОТЧЕТОВ
63
4.1. Конструирование отчета с вычислениями в строках и с общими
итогами
64
4.2. Создание отчета с частными и общими итогами
70
Контрольные вопросы
5. СОЗДАНИЕ ФОРМЫ НАВИГАЦИИ
74
5.1. Конструирование формы навигации с использованием Мастера
создания кнопок
74
5.2.Создание формы навигации с использованием инструмента
навигации
77
Контрольные вопросы
2
3. СОЗДАНИЕ БАЗЫ ДАННЫХ В СУБД ACCESS
В этом разделе Вы освоите создание

файла базы данных

структур таблиц

схемы данных
и заполнение таблиц данными
Задание 3.1. В СУБД Access создать файл БД с именем БАНК в своей
папке.
Выполнение задания
Запустите СУБД Access. Появится окно Microsoft Access вида, как на
рис. 3.1:
Рис. 3.1. Окно Microsoft Access
Затем выполните следующее:
3
 в этом окне нажмите кнопку
[Поиск расположения для размещения
базы данных]. Появится окно Файл новой базы данных, в котором
выберите свою папку, в поле "Имя файла" введите БАНК и нажмите [ОК];
 в окне Microsoft Access нажмите кнопку [Создать]. Появится окно базы
данных БАНК вида, как на рис. 3.2:
Рис. 3.2. Окно базы данных БАНК
 СУБД Access позволяет создавать реляционные БД – в общем
случае множества взаимосвязанных таблиц. Таблица в СУБД Access – это
структура, предназначенная для хранения информации пользователя. В ней
можно хранить данные разных типов: числа, тексты, даты, денежные
значения, графические изображения, гиперссылки, документы Microsoft
Word и Microsoft Excel и др.
В реляционной таблице строки называются записями, а столбцы –
полями. Записи однозначно идентифицируются некоторой уникальной
4
характеристикой, включающей одно или несколько полей и называемой
ключом таблицы.
В связи двух таблиц ключ главной таблицы (которая связывается)
называется первичным ключом, а ключ подчиненной (с которой связывается
главная) – внешним ключом. Значения первичного ключа должны быть
уникальными и непустыми, а внешнего – могут повторяться.
В Access можно создавать таблицу в режиме таблицы и с помощью
инструментального средства – Конструктора таблиц. При создании таблицы
в режиме таблицы
требуется: указать типы полей и их имена, ввести
значения полей и присвоить таблице имя. В пособии рассматривается способ
создания таблиц с помощью Конструктора.
При выборе такого способа разработка реляционной БД включает три
этапа: создание структур таблиц, установка связи между таблицами,
заполнение таблиц данными.
3.1. Создание структур таблиц базы данных
 В СУБД Аccess структура таблицы создается с помощью
инструментального средства – Конструктора таблицы. Активизировав его,
пользователь может создавать структуру таблицы, а именно:

присваивать имена полям;

указывать тип данных, вводимых в поля;

задавать
свойства полям, которые позволят управлять сохранением,
обработкой и отображением данных поля.
Имена полей могут включать любую комбинацию букв, цифр, пробелов
и специальных символов (не более 64 символов), за исключением символов:
. / * ; : ! # & - ? “ ‘ $ %
В поля таблицы БД можно вводить данные следующих типов:
 текстовый – в поля такого типа помещают текст или комбинацию
текстовых и числовых значений. Объем текста не должен превышать 255
5
символов;
 поле MEMO – длинный текст (до 65535 символов);
 числовой
–
числовые
данные,
используемые
в
математических
вычислениях, за исключением денежных расчетов;
 дата/время – значения даты и времени. Даты из диапазона от 100 по 9999
год;
 денежный – денежные значения, содержащие максимум 15 знаков слева
от десятичной запятой и 4 знака справа от нее;
 счетчик
–
уникальные
последовательные
с
шагом
1
номера,
автоматически вводимые при вставке записи в таблицу;
 логический – поля, которые могут иметь только одно значение из пары
значений, таких как Да/Нет, Истина/Ложь или Вкл/Выкл;
 поле объекта OLE – объекты других приложений, которые могут быть
внедрены в таблицу Access (рисунки, звуки и др.);
 гиперссылка – в полях этого типа хранятся гиперссылки – путь к файлу на
жестком диске либо адрес в сети Internet или Интранет;
 вложение – любой файл поддерживаемого типа, например файл
изображения, документы Word или Excel и т.п.;
 вычисляемый – выражения для вычислений над другими полями таблицы.
Набор допустимых свойств поля зависит от того, какого типа данные
будут храниться в поле. Например, для числового поля можно задавать
следующие свойства полей:
 размер поля. Определяет максимальную длину поля. Для числовых полей
с целыми значениями используются размеры:
 байт – целые числа от 0 до 255;
 целое – целые числа от -32 768 до 32 767;
 длинное целое – целые числа от -2 147 483 648 до 2 147 483.
Для числовых полей с дробными значениями применяются размеры:
одинарное
с
плавающей
точкой,
двойное
с
плавающей
точкой,
6
действительное;
 формат поля – определяет способ отображения чисел на экране и на
печати;
 число десятичных знаков – дает возможность указывать для чисел
количество дробных знаков;
 маска ввода – задает маску ввода, облегчающую ввод данных в поле;
 подпись – определяет текст, который выводится в подписях полей в
таблицах и других объектах БД;
 значение по умолчанию – позволяет указать значение, автоматически
вводящееся в поле при создании новой записи;
 условие на значение – определяет множество значений, которые можно
вводить в поле таблицы БД;
 сообщение об ошибке – позволяет указать текст сообщения, выводящегося
на экран при вводе в поле недопустимого значения;
 обязательное поле – указывает, требует ли поле обязательного ввода
значений;
 индексированное поле – позволяет создать индекс для поля, ускоряющий
поиск и сортировку записей в таблице БД;
 смарт-теги – теги действий, применяемые к полю;
 выравнивание – выравнивание значений поля.
Задание 3.2. Создать структуру таблицы МЕНЕДЖЕР, представленной в
табл. 3.1, и сохранить ее в БД БАНК с именем МЕНЕДЖЕР.
Таблица 3.1
МЕНЕДЖЕР
Номер
Стаж работы
менеджера
по специальности
(НМ)
(СТАЖ)
1
2
3
4
10
22
7
3
7
С учетом типа связи этой таблицы с таблицей ФИЛИАЛ (1:1), типа,
размера и свойств ее данных, а также языка описания данных СУБД Access,
структуру таблицы МЕНЕДЖЕР можно описать, как в табл. 3.2.
Таблица 3.2
Структура таблицы МЕНЕДЖЕР
Имя поля
Тип поля
Свойства поля,
подлежащие
изменению
НМ
(первичны
й ключ)
Счетчик
Подпись
№ менеджера
СТАЖ
Числовой
Размер поля
Байт
Устанавливаемое
значение свойства
Выполнение задания
В окне базы данных БАНК перейдите на вкладку Создание и нажмите
кнопку [Конструктор таблиц]. Появится окно Конструктора таблиц, как на
рис. 3.3.
8
Рис. 3.3. Окно Конструктора таблицы
В этом окне, руководствуясь табл.3.2:
 опишите первое поле таблицы МЕНЕДЖЕР следующим образом:
 наберите в столбце "Имя поля" его имя – НМ;
 укажите его тип – щелкните в столбце "Тип данных" и выберите из
раскрывающегося списка Счетчик. Обратите внимание, что в разделе
окна "Свойства поля" отобразились свойства, присущие данному типу,
и их значения заданы по умолчанию;
 задайте значение свойству Подпись – щелкните в строке Подпись и
наберите № менеджера;
 щелкните по имени поля НМ и сделайте его первичным ключом, нажав
кнопку [Ключевое поле].
Примечание . При желании к полю в столбце "Описание поля" можно дать
комментарий, например, Менеджер банка.
9
В результате для поля НМ будут заданы значения свойств, как на рис.
3.4.
Рис. 3.4. Свойства поля НМ
 опишите второе поле таблицы МЕНЕДЖЕР следующим образом:
 наберите в столбце "Имя поля" его имя – СТАЖ;
 укажите его тип – щелкните в столбце "Тип данных" и выберите из
раскрывающегося списка Числовой;
 задайте значение его свойству "Размер поля" – щелкните в строке
"Размер поля " и выберите из раскрывающегося списка Байт;
 закройте
окно Конструктора и на вопрос о сохранении структуры
таблицы нажмите кнопку [Да], после чего введите вместо предлагаемого
имени таблицы имя МЕНЕДЖЕР. В окне Все объекты Access появится
значок таблицы МЕНЕДЖЕР, то есть, ее структура создана.
Задание 3.3. Создать структуру таблицы ФИЛИАЛ, представленной в табл.
3.3, и сохранить ее в БД БАНК с именем ФИЛИАЛ.
Таблица 3.3
Номер
Адрес
филиала
филиала
(НФ)
(АДР_Ф)
511 ул. Ванеева, 6
512 ул. Гая, 17
513 ул. Седых, 8
ФИЛИАЛ
Информация филиала
для клиентов
(ИНФО)
текстовый документ
ИНФО_511*
текстовый документ
ИНФО_512*
текстовый документ
Номер
менеджера
(НМ)
1
2
3
10
ИНФО_513*
*) – Данные документы содержат информацию филиалов для клиентов о видах вкладов. В
учебной БД
БАНК предполагается, что они размещены в файлах ИНФО_511,
ИНФО_512, ИНФО_513 на сервере локальной сети учебного заведения.
С учетом типа связи этой таблицы с таблицей МЕНЕДЖЕР (1:1) и с
таблицей СЧЕТ (1:М), типа, размера и свойств ее данных, а также языка
описания данных СУБД Access, структуру таблицы ФИЛИАЛ можно описать,
как в табл. 3.4.
Таблица 3.4
Структура таблицы ФИЛИАЛ
Имя поля
НФ
(первичный
ключ)
Тип поля
Числовой
АДР_Ф
Текстовый
ИНФО
Гиперссыл
ка
НМ
(внешний
ключ в связи
типа 1:1)
Числовой
Свойства поля,
подлежащие
изменению
Устанавливаемое
значение свойства
Размер поля
Целое
Подпись
№ филиала
Размер поля
20
Подпись
Адрес филиала
Подпись
Информация
Размер поля
Длинное целое
Подпись
№ менеджера
Индексированно
е поле
Да (Совпадения не
допускаются)
Выполнение задания
В окне Конструктора таблицы последовательно опишите поля таблицы
ФИЛИАЛ соответственно табл. 3.4. Наберите их имя в столбце "Имя поля",
выберите их тип из раскрывающегося списка "Тип поля", задайте
необходимые свойства в разделе окна "Свойства поля". Поле НФ сделайте
первичным ключом с помощью кнопки [Ключевое поле].
Затем закройте окно Конструктора таблицы. На вопрос о сохранении
структуры таблицы ответьте [Да] и введите имя таблицы ФИЛИАЛ.
11
Задание 3.4. Создать структуру таблицы КЛИЕНТ, представленной в табл.
3.5, и сохранить ее в БД БАНК с именем КЛИЕНТ.
Таблица 3.5
Номер
клиента
(НК)
28
77
111
123
Ф.И.О.
(ФИО)
Шуст И.С.
Лис Н.К.
Брель В.Г.
Гиль А.И.
КЛИЕНТ
Адрес
Телефон
(АДР_К)
(ТЕЛ)
ул. Лазо, 82
ул. Гая, 43
ул. Коржа, 1
ул. Жудро, 9
223-17-15
245-41-09
233-14-11
264-07-08
Подпись
(ПОДП)
Точечный рисунок
Точечный рисунок
Точечный рисунок
Точечный рисунок
С учетом типа связи этой таблицы с таблицей СЧЕТ (1:М), типа,
размера и свойств ее данных, а также языка описания данных СУБД Access,
структуру таблицы КЛИЕНТ можно описать, как в табл. 3.6.
Таблица 3.6
Структура таблицы КЛИЕНТ
Имя поля
Тип поля
НК
(первичный
ключ)
Числовой
ФИО
Текстовый
АДР_К
Текстовый
ТЕЛ
Текстовый
ПОДП
Поле объекта
OLE
Свойства поля,
подлежащие
изменению
Размер поля
Устанавливаемое
значение
свойства
Целое
Подпись
№ клиента
Размер поля
Подпись
Размер поля
Подпись
Размер поля
Маска ввода
Подпись
15
Ф.И.О.
20
Адрес
9
999-99-99
Телефон
Подпись
Подпись
Выполнение задания
В окне Конструктора таблицы опишите поля таблицы КЛИЕНТ в
соответствии с табл. 3.6. Для задания маски ввода значений поля ТЕЛ
выполните следующее:
12

вызовите Мастер создания масок ввода. Для этого щелкните в строке
свойства "Маска ввода", а затем по кнопке
. В появившемся окне
Создание масок ввода подтвердите сохранение таблицы нажатием [Да],
после чего в окне Сохранение введите имя таблицы КЛИЕНТ;
 в 1-м окне Мастера нажмите кнопку [Список];
 во 2-м окне Мастера заполните поля, как указано на рис. 3.5.
Рис. 3.5. Вид окна настройки маски ввода
Затем нажмите [Закрыть] и [Готово].
По завершении описания закройте окно Конструктора таблицы с
сохранением структуры, введя имя таблицы КЛИЕНТ.
Задание 3.5. Создать структуру таблицы СЧЕТ, представленной в табл. 3.7, и
сохранить ее в БД БАНК с именем СЧЕТ.
Таблица 3.7
Номер Тип
счета счета
(НС) (ТИП)
2/45
К-37
К-11
Ц34
Ц66
К-31
Т
К
К
Д
Д
К
Дата
открытия
счета
(ДАТА)
06.03.2012
09.08.2012
05.06.2013
13.03.2012
26.06.2013
05.03.2011
СЧЕТ
Капитализация
(КАП)
Нет
Нет
Нет
Да
Да
Нет
Остаток Номер
Номер
на счете, филиала клиента
руб.
(НФ)
(НК)
(ОСТ)
64000
75000
100000
1500000
990000
20000
512
513
511
511
512
513
28
28
77
111
111
123
13
Примечание. Тип счета Т – текущий, К – карт-счет, Д – депозитный.
С учетом типа связи этой таблицы с таблицей КЛИЕНТ (1:М) и с
таблицей ФИЛИАЛ (1:М), типа, размера и свойств ее данных, а также языка
описания данных СУБД Access, структуру таблицы СЧЕТ можно описать, как
в табл. 3.8.
Таблица 3.8
Структура таблицы СЧЕТ
14
Имя поля
Тип поля
НС
(первичный
ключ)
Текстовый
ТИП
Свойства поля,
подлежащие
изменению
Устанавливаемое
значение свойства
Размер поля
4
Подпись
№ счета
Текстовый
Размер поля
1
ДАТА
Дата/время
Формат поля
Подпись
Краткий формат даты
Дата открытия
КАП
Логический
Подпись
Капитализация
Денежный
Число десятичных
знаков
0
Подпись
Остаток
Размер поля
Целое
Подпись
№ филиала
Индексированное
поле
Да (Допускаются
совпадения)
Размер поля
Целое
Подпись
№ клиента
Индексированное
поле
Да (Допускаются
совпадения)
ОСТ
НФ
(внешний
ключ в
связи типа
1:М)
НК
(внешний
ключ в
связи типа
1:М)
Числовой
Числовой
Выполнение задания
В окне Конструктора таблицы опишите поля таблицы СЧЕТ в
соответствии с табл. 3.8. По завершении описания закройте окно
Конструктора таблицы и сохраните созданную структуру таблицы с именем
СЧЕТ.
3.2. Создание схемы данных
15
 Схема данных – это графическое изображение связи между
таблицами. Связь используется для объединения записей таблиц при
корректировке базы данных, при создании ее объектов – многотабличных
запросов, форм, отчетов.
Связь устанавливается посредством связи ключевых полей обеих
таблиц. При этом связываемые поля могут иметь разные имена, но должны
иметь одинаковые типы и размеры данных. Исключением является случай,
когда поле первичного ключа является полем типа Счетчик. Такое поле
связывается с полем числового типа, имеющем такой же размер, что и поле
типа Счетчик – Длинное целое.
СУБД Access позволяет создавать связи типа 1:1 и 1:М.
В случае связи 1:1 записи с некоторым значением первичного ключа
соответствует только одна запись с таким же значением внешнего ключа. В
случае связи 1:М записи с некоторым значением первичного ключа может
соответствовать несколько записей с таким же значением внешнего ключа.
Задание 3.6. Создать схему данных БД БАНК.
Выполнение задания
Закройте (если не закрыты) таблицы и выполните следующее:
 на вкладке Работа с базами данных нажмите кнопку [Схема данных].
Появится окно
Добавление таблицы, в котором выделите таблицу
МЕНЕДЖЕР и нажмите кнопку [Добавить]. Затем эти действия выполните
с таблицами ФИЛИАЛ, КЛИЕНТ, СЧЕТ, после чего нажмите [Закрыть]. В
результате на вкладке Схема данных появятся списки полей этих таблиц.
Для удобства дальнейшей работы расположите их по следующей схеме:
МЕНЕДЖЕР
ФИЛИАЛ
КЛИЕНТ
СЧЕТ
16
 установите связь между главной таблицей МЕНЕДЖЕР и подчиненной
ФИЛИАЛ. Для этого мышью перетащите первичный ключ НМ таблицы
МЕНЕДЖЕР на внешний ключ НМ таблицы ФИЛИАЛ;

в окне Изменение связей установите флажок "Обеспечение целостности
данных", а затем флажки "Каскадное обновление связанных полей" и
"Каскадное удаление связанных записей". В результате окно Изменение
связи будет иметь вид, как на рис. 3.6.
Рис. 3.6. Окно Изменение связей
В нем нажмите [Создать]. В результате появится линия связи между
таблицами с обозначением типа связи;
Примечание. Для удаления из схемы ненужного списка полей таблицы, не связанной
с другими, щелкают по нему и нажимают клавишу Delete. В случае удаления
связанной таблицы прежде удаляют линию связи, а затем список полей таблицы. Для
удаления линии связи ее выделяют (она становится жирной) и из ее контекстного
меню выбирают команду Удалить, а затем подтверждают удаление.
 установите аналогично связь между таблицами ФИЛИАЛ и СЧЕТ по
полю НФ, между таблицами КЛИЕНТ и СЧЕТ – по полю НК;
 закройте окно Схема данных и на вопрос о сохранении изменения макета
"Схема данных" ответьте [Да].
В результате созданная схема данных будет иметь вид, как на рис.
3.7.
17
Рис. 3.7. Схема данных БД БАНК
3.3.
Заполнение таблиц базы данных
 Если при установке связи между таблицами пользователь задал
требование – обеспечивать целостность данных (как это мы сделали
задании 3.6 в окне Изменение связей), то
в
СУБД Access будет при
заполнении таблиц данными и дальнейшей работе с ними контролировать
ссылочную целостность.
Контроль ссылочной
целостности заключается в слежении за тем,
чтобы каждое значение внешнего ключа совпадало с одним из значений
первичного ключа. Если пользователь нарушает данное требование, то
Access реагирует выдачей сообщения об этом.
Во избежание нарушения ссылочной целостности необходимо сначала
заполнить главную таблицу, а затем подчиненную. Так, в случае БД БАНК
следует заполнить таблицу МЕНЕДЖЕР, а затем таблицу ФИЛИАЛ; таблицу
КЛИЕНТ, затем таблицу СЧЕТ.
Ввод значений в поля записей таблицы осуществляется в режиме
таблицы. Таблица открывается в этом режиме двойным щелчком по ее
18
значку в окне Все объекты Access или командой Открыть ее контекстного
меню.
Заполнение таблицы данными осуществляется построчно. По концу
ввода значения последнего поля записи происходит ее автоматическое
сохранение и переход к следующей записи.
Если в поле таблицы имеются повторяющиеся значения, то их ввод
можно ускорить – не набирать на клавиатуре, а вводить из предыдущей
записи нажатием комбинации CTRL-" (кавычка на клавише с цифрой 2).
Задание 3.7.
Заполнить таблицу
МЕНЕДЖЕР данными, приведенными
в табл. 3.1.
Выполнение задания
Откройте таблицу
МЕНЕДЖЕР двойным щелчком по ее значку и
построчно введите ее данные, приведенные в табл. 3.1. По завершении
заполнения таблицы закройте ее окно.
Задание 3.8. Заполнить таблицу ФИЛИАЛ данными, приведенными в табл.
3.3.
Выполнение задания
Откройте таблицу ФИЛИАЛ и введите ее данные, приведенные в табл.
3.3. В поле ИНФО с подписью Информация создавайте гиперссылки –
ссылки на документ в файлах ИНФО_511, ИНФО_512, ИНФО_513 на
сервере локальной сети. Для этого:

щелкайте в этом поле правой клавишей мыши, из контекстного меню
выбирайте Гиперссылка, а затем выбирайте Изменить гиперссылку;

в появившемся окне Вставка гиперссылки в поле Текст вводите
Клиентам, нажимайте кнопку
[Поиск файла];
19

в окне Связать с файлом указывайте путь к соответствующему файлу на
сервере (его узнайте у преподавателя), после чего нажимайте [ОК], [ОК].
По завершении заполнения таблицы закройте ее окно.
Задание 3.9. Заполнить таблицу КЛИЕНТ данными, приведенными в табл.
3.5.
Выполнение задания
Откройте таблицу
КЛИЕНТ и введите в нее данные, приведенные в
табл. 3.5 . При этом в поле Подпись создавайте образцы подписей
клиентов следующим образом:
 щелкайте в поле Подпись правой клавишей мыши, из контекстного меню
выбирайте команду Вставить объект;
 в окне Microsoft Access оставляйте переключатель в положении Создать
новый, из списка "Тип объекта" выбирайте Точечный рисунок и нажимайте
[ОК]. Загружается графический редактор Paint;
 изображайте с помощью инструмента Карандаш некоторую подпись
клиента и закрывайте окно Paint.
По завершении заполнения таблицы закройте ее окно.
Задание 3.10. Заполнить таблицу
СЧЕТ данными, приведенными в табл.
3.7.
Выполнение задания
Откройте таблицу СЧЕТ и введите ее данные, приведенные в табл. 3.7
. При этом в поле КАП поставьте флажок только для счетов с номерами Ц34
и Ц66. По завершении заполнения таблицы закройте ее окно.
Контрольные вопросы
1. Как создается файл БД в СУБД Access?
20
2. С помощью какого инструментального средства описывается структура
таблицы в СУБД Access?
3. Что пользователь должен указывать при описании структуры таблицы
в СУБД Access?
4. Как задается первичный ключ таблицы?
5. Как задается уникальность значений внешнего ключа в связи типа 1:1?
6. Как задается возможность повторения значений внешнего ключа в
связи типа 1:М?
7. Как создается схема данных БД в СУБД Access?
8. В каком режиме заполняется таблица?
21
Тема 2. ТЕХНОЛОГИИ РАБОТЫ С БАЗОЙ ДАННЫХ В СУБД
1. КОРРЕКТИРОВКА БАЗЫ ДАННЫХ
В этом разделе Вы освоите
→ каскадные операции в базе данных
→ корректировку структуры таблицы
→ работу с таблицей в режиме таблицы
ACCESS
 Откройте созданную БД БАНК для последующей работы с ней.
Если при открытии базы данных отображается панель сообщений вида:
то это сигнализирует о том, что СУБД Access отключила содержимое БД и,
чтобы его включить, нажмите на этой панели кнопку [Включить
содержимое].
1.1.
Каскадные операции
 В СУБД Access при установке связи между таблицами пользователь
задает требование
обеспечения целостности данных и возможности
каскадных операций.
К каскадным операциям относятся:

каскадное обновление связанных полей. Оно
означает, что изменение
значения ключа в записи главной таблицы должно приводить к
автоматическому изменению значений внешнего ключа в подчиненных
записях;

каскадное удаление связанных записей.
записи из главной таблицы
Оно
означает, что удаление
должно приводить к автоматическому
удалению всех связанных записей.
Задание 1.1. Заменить в БД БАНК номер клиента Шуст И.С. 28 на 48.
22
Выполнение задания
Поскольку при установке связи между таблицами в БД БАНК было
задано Каскадное обновление связанных полей, то измените номер
клиента 28 на 48 для Шуст И.С. только в главной таблице КЛИЕНТ. Для
этого откройте ее и произведите данную замену.
Затем закройте окно таблицы КЛИЕНТ. Откройте связанную с ней
таблицу СЧЕТ и убедитесь, что в ней тоже произведена замена номера
клиента.
Задание 1.2. Добавить в БД БАНК сведения о клиенте:
Номер
Ф.И.О.
Адрес
клиента
135 Мороз Д.А. ул. Гикало, 8
Телефон
Подпись
233-10-05 Точечный
рисунок
открывшем два счета в филиале № 513:
Номер
счета
Тип
счета
3/51
Ц72
Т
Д
Дата
открытия
счета
О7.07.2013
19.09.2013
Капитализация Остаток на
счете, руб.
Нет
Нет
180000
300000
Выполнение задания
Добавление сведений о клиенте потребует ввода данных в связанные
таблицы КЛИЕНТ и СЧЕТ. Так как они связаны между собой с обеспечением
целостности данных, то добавление данных необходимо вначале произвести
в главной таблице КЛИЕНТ, а затем в подчиненной СЧЕТ.
Откройте таблицу КЛИЕНТ и введите значения полей новой записи,
указанные в задании, как это вы делали при заполнении данной таблицы.
Закройте таблицу КЛИЕНТ.
Откройте таблицу СЧЕТ и заполните поля двух новых записей
значениями, приведенными в задании. Закройте таблицу СЧЕТ.
23
Задание 1.3. Удалить из БД БАНК сведения о клиенте с номером 135 и его
счетах.
Выполнение задания
Поскольку при установке связи между таблицами в БД БАНК было
задано Каскадное удаление связанных записей, то достаточно произвести
удаление записи о клиенте с номером 135 только в главной таблице
КЛИЕНТ.
Откройте таблицу КЛИЕНТ, сделайте текущей запись с номером
клиента 135, для нее вызовите контекстное меню, в нем выберите команду
Удалить запись и подтвердите удаление.
Закройте таблицу КЛИЕНТ.
Откройте таблицу СЧЕТ и убедитесь в том, что в ней отсутствует
записи о счетах клиента с номером 135. Закройте данную таблицу.
1.2.
Работа с таблицей
1.2.1. Корректировка структуры таблицы
 Корректировка структуры таблицы осуществляется в режиме
Конструктора таблицы. Таблица открывается в этом режиме из окна Все
объекты Access с помощью команды Конструктор ее контекстного меню.
Переход в режим Конструктора из окна таблицы происходит по
команде Конструктор контекстного меню вкладки с именем таблицы.
В режиме Конструктора можно: переименовывать поля; изменять их
тип, свойства, порядок следования; удалять поля и вставлять новые. Если
изменения касаются ключевых полей, участвующих в связи, то сначала
необходимо отобразить схему данных с помощью кнопки [Схема данных] в
группе Отношения на вкладке Работа с базами данных и отменить эту
связь.
Задание 1.4. В таблице КЛИЕНТ поле ФИО переименовать на ФИО_К.
24
Выполнение задания
Откройте таблицу КЛИЕНТ в режиме Конструктора, выбрав из ее
контекстного меню команду Конструктор, и измените имя поля ФИО на
ФИО_К.
Задание 1.5. В таблице КЛИЕНТ изменить размер поля АДР_К с 20 на 22.
Выполнение задания
В окне Конструктора таблицы КЛИЕНТ сделайте текущей строку с
описанием поля АДР_К. Затем в разделе "Свойства поля" в строке "Размер
поля" замените число 20 на 22.
Задание 1.6. В таблице КЛИЕНТ поле ТЕЛ переместить на новое место –
расположить перед полем АДР_К.
Выполнение задания
В окне Конструктора таблицы КЛИЕНТ выделите поле ТЕЛ, щелкнув
слева от его имени в столбце маркировки поля (крайний левый). Затем
установите указатель мыши в выделенной строке на столбец маркировки
поля и, когда он превратится в белую стрелку, перетащите поле ТЕЛ на
поле АДР_К.
Задание 1.7. В таблицу КЛИЕНТ вставить перед полем АДР_К новое поле
"Социальное положение" с именем СОЦ_П, у которого "Тип данных" –
Текстовый, "Размер поля" – 17.
Выполнение задания
В окне Конструктора таблицы КЛИЕНТ для поля АДР_К вызовите
контекстное меню и из него выберите команду Вставить строки.
Во
вставленной пустой строке введите имя СОЦ_П и выберите тип Текстовый,
а в разделе "Свойства поля" задайте его размер 17.
25
Задание 1.8. В таблице КЛИЕНТ удалить поле СОЦ_П.
Выполнение задания
В окне Конструктора таблицы КЛИЕНТ для поля СОЦ_П вызовите
контекстное меню и из него выберите команду Удалить строки. В
появившемся окне Microsoft Access подтвердите удаление выделенного поля
и всех содержащихся в нем данных нажатием [Да]. Затем закройте окно
Конструктора таблицы.
1.2.2. Работа в режиме таблицы
 В режиме таблицы возможны следующие операции:

просмотр подчиненных записей;

ввод значений в поля записей таблицы и их редактирование;

вставка и удаление записей таблицы;

добавление, удаление, вставка, изменение порядка следования, скрытие,
переименование полей;

поиск и замена значений полей;

сортировка и фильтрация записей;

проверка правописания текстов;

изменение вида таблицы:

шрифтовое оформление;

изменение ширины столбцов;

отображение/скрытие линий сетки, выбор их цвета и вида;

выбор фона, оформления таблицы (обычное, приподнятое,
утопленное), цвета и вида ее границы.
При выполнении данных операций осуществляется перемещение по
записям с помощью кнопок перехода по записям (рис. 2.1).
26
Рис. 1.1. Кнопки перехода по записям
Сделать текущей нужную запись можно:

введя ее номер в поле номера записи;

с помощью кнопок [Первая], [Предыдущая], [Следующая], [Последняя];

прокрутив таблицу при помощи вертикальной полосы прокрутки, а затем
щелкнув на требуемой записи.
Поиск и замена значений поля
Задание 1.9. В таблице КЛИЕНТ в поле ФИО_К найти значение Лис Н.К.
Выполнение задания
Откройте таблицу КЛИЕНТ, вызовите контекстное меню для поля с
подписью "Ф.И.О." и из него выберите команду Найти.
Затем в окне Поиск и замена в поле Образец введите Лис Н.К.,
нажмите кнопку [Найти далее] и обратите внимание, что курсор установился
на искомое значение. Закройте это окно.
Задание 1.10. В таблице КЛИЕНТ заменить в поле ФИО_К значение Гиль
А.И. на Жук А.И.
Выполнение задания
В окне таблицы КЛИЕНТ вызовите контекстное меню для поля с
подписью "Ф.И.О." и из него выберите команду Найти. В окне Поиск и
замена в поле Образец введите Гиль А.И. и нажмите [Найти далее].
Перейдите на вкладку Замена, в поле "Заменить на:" введите Жук А.И. и
нажмите [Заменить]. Затем закройте это окно.
Сортировка записей
Задание 1.11. Рассортировать записи таблицы КЛИЕНТ в алфавитном
порядке значений поля ФИО_К.
Выполнение задания
27
В окне таблицы КЛИЕНТ для поля с подписью "Ф.И.О." вызовите
контекстное меню и из него выберите команду Сортировка от А до Я.
Проанализируйте полученный результат и закройте окно таблицы.
Отбор данных с помощью фильтров
Задание 1.12. Из таблицы СЧЕТ отобрать сведения только о депозитных
счетах, воспользовавшись фильтром по выделенному фрагменту.
Выполнение задания
Откройте таблицу
СЧЕТ, в
поле с подписью "Тип счета"
щелкните на любом значении Д. Затем перейдите на вкладку Главная, в
группе Сортировка и фильтр раскройте список
выберите равно Д. После просмотра
помощью кнопки
[Выделение] и
результата фильтра отмените его с
[Удалить фильтр].
Задание 1.13. Из таблицы СЧЕТ отобрать сведения только о счетах филиала
№ 511 или № 513, используя обычный фильтр.
Выполнение задания
В окне таблицы СЧЕТ выделите поле с подписью «№ филиала» и на
вкладке Главная в группе Сортировка и фильтр нажмите кнопку
[Фильтр]. В появившемся окне оставьте только флажки 511 и 512, после чего
нажмите [ОК]. После просмотра результата фильтра отмените его.
Задание 1.14. Из таблицы СЧЕТ отобрать сведения о счетах с
капитализацией процентов только филиала № 512, воспользовавшись
расширенным фильтром.
Выполнение задания
На вкладке Главная в группе Сортировка и фильтр раскройте список
[Параметры расширенного фильтра] и выберите Расширенный фильтр.
Появится окно, как на рис. 1.2.
28
Рис.1.2. Окно расширенного фильтра
В верхней части этого окна находится список полей таблицы СЧЕТ, а в
нижней – бланк фильтра. В этом окне выполните следующее:
 вызовите контекстное меню верхней части окна и выберите из него
команду Очистить бланк;
 перетащите поочередно поля НС, ТИП, ДАТА, КАП, ОСТ, НФ, НК из
списка полей таблицы в последовательные клетки строки Поле бланка
фильтра;
 введите значение Да в клетке на пересечении столбца "Капитализация" и
строки "Условие отбора";
 введите значение 512 в клетке на пересечении столбца "№ филиала" и
строки "Условие отбора";
 на вкладке Главная в группе Сортировка и фильтр нажмите кнопку
[Применить фильтр];
 просмотрите результат фильтра, а затем отмените его.
29
Изменение вида таблицы
Задание 1.15. В таблице СЧЕТ скрыть поле с подписью "№ счета", а затем
отобразить его на экране.
Выполнение задания
В окне таблицы СЧЕТ вызовите контекстное меню для
поля с
подписью "№ счета" и из него выберите команду Скрыть поля.
Для отображения скрытого поля с подписью "№ счета" вызовите
контекстное меню для любого поля таблицы и из него выберите команду
Отобразить поля. В появившемся окне Отображение столбцов установите
флажок для поля с подписью "№ счета" и нажмите [Закрыть].
Задание 1.16. В таблице СЧЕТ расположить поле с подписью "№ клиента"
перед полем с подписью "№ филиала".
Выполнение задания
В окне таблицы СЧЕТ щелкните по полю с подписью "№ клиента" и
перемещайте указатель мыши влево, пока перед полем с подписью "№
филиала" не появится "щель", после чего отпустите клавишу мыши.
Закройте окно данной таблицы без сохранения изменений.
Задание 1.17. Изменить для таблицы МЕНЕДЖЕР по собственному
усмотрению:

тип шрифта, его размер, начертание, цвет;

формат таблицы – цвет фона таблицы и вид ее границы, цвета и вид
линий сетки.
Выполнение задания
Откройте таблицу МЕНЕДЖЕР.
Для установки параметров шрифта перейдите на вкладку Главная и
воспользуйтесь кнопками группы Форматирование текста.
Для изменения формата таблицы раскройте список Форматирование
текста и в появившемся окне Формат таблицы установите нужные параметры.
30
Закройте окно таблицы с сохранением изменений.
Контрольные вопросы
1. Как СУБД Access выполняет каскадное обновление связанных полей?
2. Как СУБД Access выполняет каскадное удаление связанных записей?
3. Что можно изменить в структуре таблицы?
4. Какой режим позволяет совершать операции по корректировке структуры
таблицы?
5. В каком режиме осуществляется работа с таблицей?
6. Какие операции можно совершать над данными, полями, записями
таблицы?
7. По каким видам фильтров производится отбор записей?
8. Как можно изменить вид таблицы?
31
2. КОНСТРУИРОВАНИЕ ЗАПРОСОВ
В этом разделе Вы освоите конструирование

запросов на выборку с различными критериями отбора данных

запросов на выборку с вычислениями над полями базы данных, над
группами записей с использованием статистических функций

перекрестного запроса

запросов на внесение изменений в базу данных
 Запрос – это задание на извлечение данных из таблиц БД, на
выполнение вычислений над данными БД, на внесение изменений в БД.
Запрос может служить источником данных для форм, отчетов.
СУБД
Access
позволяет создавать запросы трех типов: запросы на
выборку, перекрестные запросы, запросы на внесение изменений в БД.
Запросы можно создавать
с помощью Мастера или Конструктора
запросов. Мастер используется для создания запросов определенного вида
(на выборку полей, перекрестного, на поиск повторяющихся записей и
записей, не имеющих подчиненных записей), а с помощью Конструктора
можно создать любой запрос.
Результатом запроса всегда является таблица.
2.1 Запросы на выборку
 Запрос на выборку является наиболее часто используемым типом
запроса. Он дает возможность:
32
 включать в результирующую таблицу поля из одной или нескольких
таблиц в нужном порядке;
 выбирать записи, удовлетворяющие различным условиям отбора;
 осуществлять вычисления над полями БД (создавать вычисляемые поля);
 группировать записи и находить для групп записей, для всех записей
итоговые значения по некоторым полям с помощью статистических
функций: Sum – сумма значений поля, Avg – среднее значений поля, Max
– максимальное из значений поля, Min – минимальное из значений поля,
Count – число значений поля и др.
Разновидностью запроса на выборку является запрос с параметрами –
запрос, который при выполнении отображает в собственном диалоговом окне
приглашение ввести интересующее пользователя значение критерия отбора
записей.
При задании условий отбора в запросах, создании вычисляемых полей
в таблицах, запросах и при создании других объектов БД (форм, отчетов,
макросов) необходимо уметь создавать выражения. Выражение –
это
комбинация значений и операторов, дающая определенный результат. В
качестве значений в выражениях используют литералы, константы, функции
и идентификаторы.
Литерал – это фактическое значение в виде числа, текстовой строки,
даты, например, 100, "Минск", #1-янв-2010#.
Константа – это не изменяющееся значение, например,Yes, No, True,
False, Null.
Функция – это небольшая программа, которая всегда возвращает
значение (число или строку символов), являющееся результатом расчетов
или выполнения других операций. К функции обращаются по имени, за
которым в круглых скобках указывают ее аргументы. Имеются и
безаргументные функции, например, Date(). В Access определено множество
категорий
функций
–
статистические,
математические,
даты/время,
33
текстовые, финансовые и др.
Идентификатор – это ссылка на поле, элемент управления (будет
рассмотрен в разделе 3 текущей темы), свойство. Например, идентификатор
[ЦЕНА] представляет собой ссылку на поле.
Оператор –
операция над значениями. В выражениях используются
четыре типа операторов – арифметические операторы, операторы сравнения,
логические операторы, текстовый оператор.
Арифметические операторы: + (сложение), – (вычитание), *
(умножение), / (деление), % (процент), ^ (возведение в степень) и др.
Операторы сравнения: = (равно), > (больше), < (меньше), >= (больше
или равно), <= (меньше или равно), <> (не равно).
Логические операторы: AND
(логическое умножение), OR
(логическое сложение), NOT (логическое отрицание).
Текстовый оператор: & (слияние текстовых значений).
Например, следующее выражение позволяет вывести в запросе сумму
значений полей «Стоимость заказа» и «Стоимость доставки»:
= [Стоимость_заказа]+[Стоимость_доставки]
Пользователь имеет возможность создавать выражения с помощью
инструментального средства – Построителя выражений или путем набора их
на клавиатуре. Построитель выражений доступен во всех случаях, когда
требуется ввести выражение.
Задание 2.1. Выбрать из БД БАНК сведения о счетах, у которых остаток
больше 1000000 руб. Результирующая таблица запроса должна иметь
следующую структуру:
|НС|ОСТ|НФ|НК|
Запрос сохранить с именем КРУПНЫЕ СЧЕТА.
Выполнение задания
В окне базы данных БАНК перейдите на вкладку Создание и в группе
Запросы нажмите кнопку
[Конструктор запросов].
34
Появится окно Конструктора запросов с наложенным на него окном
Добавление таблицы, как на рис. 2.1
Рис. 2.1. Окно Конструктора запросов с окном Добавление таблицы
В окне Добавление таблицы выберите источник данных для запроса –
выделите таблицу СЧЕТ (из ее полей будут извлекаться данные) и нажмите
[Добавить], а затем [Закрыть]. Появится окно Конструктора запросов, как на
рис. 2.2.
Рис. 2.2. Окно Конструктора запроса
35
Оно разделено на две части: в верхней части отображается список полей
таблицы СЧЕТ, а в нижней – бланк запроса.
Затем выполните следующее:
 перетащите поле НС из списка полей таблицы СЧЕТ в первую клетку
строки Поле, а затем поочередно перетащите остальные поля, входящие в
результирующую таблицу запроса (ОСТ, НФ, НК), в последующие клетки
этой
строки.
В
результате
поля
автоматически
помечаются
как
выводящиеся на экран при просмотре в дальнейшем результата запроса;
Примечание. В клетках строки Поле можно задавать нужные поля и путем выбора их
из раскрывающегося списка после щелчка в этих клетках.
 для поля ОСТ в строке "Условие отбора" наберите выражение типа
сравнения >1000000;
 выполните запрос щелчком по кнопке
[Выполнить];
Результат запроса представляется в окне запроса, как на рис. 2.3.
Рис. 2.3. Результат выполнения запроса
Примечание. Если необходимо внести изменения в задание на извлечение данных после
просмотра результата запроса, то следует на вкладке Главная в группе Режимы раскрыть
список
и выбрать Конструктор или в окне запроса из контекстного меню вкладки
выбрать команду Конструктор.
 сохраните запрос с именем КРУПНЫЕ СЧЕТА, закрыв окно запроса.
Задание 2.2. Выбрать из БД БАНК сведения о двух счетах с наибольшим
остатком. Результирующая таблица запроса должна иметь следующую
структуру:
|НС|ОСТ|НФ|
Запрос сохранить с именем КРУПНЕЙШИЕ СЧЕТА.
36
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
 задайте поля, входящие в результирующую таблицу запроса, в строке Поле
известным вам способом;
 задайте сортировку по убыванию значений поля ОСТ, для чего щелкните в
строке Сортировка для этого поля и из раскрывающегося списка выберите
по убыванию;
 введите значение 2 в поле раскрывающегося списка
[Набор
значений] в группе Настройка запроса;
 выполните запрос и проанализируйте его результат;
 сохраните запрос с именем КРУПНЕЙШИЕ СЧЕТА.
Задание 2.3. Выбрать из БД БАНК сведения о счетах с капитализацией
процентов. Результирующая таблица запроса должна иметь следующую
структуру:
|НС|ТИП|ДАТА|КАП|НФ|НК|
Запрос сохранить с именем СЧЕТА С КАПИТАЛИЗАЦИЕЙ.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
 задайте поля, входящие в результирующую таблицу запроса, в строке
Поле. Для этого из списка полей таблицы СЧЕТ перетащите в строку Поле
все поля – дважды щелкните по заголовку списка, ухватите мышью
выделенные поля и перетащите их в первую клетку строки Поле. Затем для
поля ОСТ в строке "Вывод на экран" снимите флажок;
 наберите Да в строке "Условие отбора" для поля КАП;
 выполните запрос и проанализируйте его результат;
 сохраните запрос с именем СЧЕТА С КАПИТАЛИЗАЦИЕЙ.
37
Задание 2.4. Выбрать из БД БАНК сведения о
начинаются
клиентах, чьи фамилии
с буквы Л. Результирующая таблица запроса должна иметь
следующую структуру:
|НК|ФИО_К|АДР_К|
Запрос сохранить с именем ФАМИЛИИ НА Л.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу КЛИЕНТ, и выполните следующие действия:
 задайте поля, входящие в результирующую таблицу запроса, в строке
Поле;
 наберите Л* в строке "Условие отбора" для поля ФИО_К;
 выполните запрос и проанализируйте его результат;
 сохраните запрос с именем ФАМИЛИИ НА Л.
Задание 2.5. Выбрать из БД БАНК сведения о менеджерах, управляющих
филиалами, чей стаж не менее 9 лет и не более 25. Результирующая таблица
запроса должна иметь следующую структуру:
|НМ|СТАЖ|НФ|
Запрос сохранить с именем СТАЖ.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы
таблицы МЕНЕДЖЕР и ФИЛИАЛ (источники данных для
запроса), и выполните следующие действия:
 задайте поля, входящие в результирующую таблицу запроса, в строке
Поле;
 наберите логическое выражение >=9
and
<=25 в строке "Условие
отбора" для поля СТАЖ;
 выполните запрос и проанализируйте его результат;
38
 сохраните запрос с именем СТАЖ.
Задание 2.6. Выбрать из БД БАНК сведения о счетах, открытых с 01.01.13
по 30.06.13. Результирующая таблица запроса должна иметь следующую
структуру:
|НС|ТИП|ДАТА|НФ|НК|
В ней записи рассортировать по возрастанию даты открытия счета.
Запрос сохранить с именем ДАТА ОТКРЫТИЯ.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
 задайте поля, входящие в результирующую таблицу запроса, в строке Поле;
 задайте условие отбора счетов с помощью Построителя выражений. Для
этого щелкните в строке "Условие отбора" для поля ДАТА и нажмите
кнопку
[Построитель] в группе Настройка запроса на вкладке
Конструктор.
В
появившемся
окне
Построитель
выражений
сформируйте логическое выражение, как это показано на рис. 2.4, –
выберите Операторы, выберите Сравнения, выберите двойным щелчком
Between (между) и вместо слов "Выражение" наберите даты, после чего
нажмите [ОК];
39
Рис. 2.4. Создание оператора Between в окне Построитель выражений
 задайте сортировку по возрастанию для поля ДАТА;
 выполните запрос и проанализируйте его результат;
 сохраните запрос с именем ДАТА ОТКРЫТИЯ.
Задание 2.7. Выбрать из БД БАНК сведения о местонахождении филиала №
511 и № 513. Результирующая таблица запроса должна иметь следующую
структуру:
|НФ|АДР_Ф|
Запрос сохранить с именем МЕСТОНАХОЖДЕНИЕ.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу ФИЛИАЛ, и выполните следующие действия:
 задайте поля, входящие в результирующую таблицу запроса, в строке
Поле;
40
 для поля НФ в строке "Условие отбора" наберите 511, а в строке "или" –
513;
Примечание. Данное условие можно задать и логическим выражением – 511 or 513.
 выполните запрос и проанализируйте его результат;
 сохраните запрос с именем МЕСТОНАХОЖДЕНИЕ.
Задание 2.8. Выбрать из БД БАНК сведения о счетах, не являющихся картсчетами.
Результирующая таблица запроса должна иметь следующую структуру:
|НС|ТИП|ФИО_К|НФ|
Запрос сохранить с именем НЕ КАРТ-СЧЕТА.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицы КЛИЕНТ и СЧЕТ, и выполните следующие действия:
 задайте поля, входящие в результирующую таблицу запроса, в строке
Поле;
 наберите в строке "Условие отбора" для поля ТИП – not K;
Примечание. В условии отбора буква К набирается на русском регистре.
 выполните запрос и проанализируйте его результат;
 сохраните запрос с именем НЕ КАРТ-СЧЕТА.
Задание 2.9. Определить сумму вознаграждения клиентам, имеющим картсчета, в размере 0,5% от суммы остатка на счете. Результирующая таблица
запроса должна иметь все поля таблицы СЧЕТ и вычисляемое поле
ВОЗНАГРАЖДЕНИЕ.
Созданный
запрос
ВОЗНАГРАЖДЕНИЕ.
с
вычисляемым
полем
сохранить
с
именем
41
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
 перетащите в строку Поле все поля таблицы СЧЕТ;
 наберите К в строке "Условие отбора" для поля ТИП;
 создайте вычисляемое поле. Для этого щелкните в первой пустой клетке
строки Поле и вызовите Построитель выражений, как это вы делали в
задании 2.6. Затем наберите на клавиатуре Вознаграждение:0,005, а в окне
Построителя выполните следующее:
 выберите элемент выражения – оператор *(умножить) из числа
арифметических операторов и вставьте его в выражение двойным
щелчком на нем;
 выберите поле ОСТ, как на рис. 2.5, и вставьте его в выражение
двойным щелчком на нем;
Рис. 2.5. Создание вычисляемого поля в окне Построитель выражений
42
 нажмите [ОК];
 выполните запрос и проанализируйте его результат;
 сохраните запрос с именем ВОЗНАГРАЖДЕНИЕ.
Задание 2.10. Рассчитать сумму остатков на счетах в каждом филиале.
Результирующая таблица запроса должна иметь следующую структуру:
|НФ|АДР_Ф|НМ|Sum-ОСТ|
Созданный запрос на подведение итогов сохранить с именем
СУММЫ
ОСТАТКОВ ПО ФИЛИАЛАМ.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицы ФИЛИАЛ, СЧЕТ, и выполните следующие действия:
 перетащите в строку Поле поля таблицы ФИЛИАЛ – НФ,
поле
ОСТ
 нажмите
таблицы
кнопку
АДР_Ф, НМ и
СЧЕТ;
[Итоги] в группе Показать или скрыть на
вкладке Конструктор;
 щелкните в появившейся строке "Групповая операция" для поля ОСТ и из
раскрывающегося
списка
выберите
функцию
сформируется запрос, как показано на рис. 2.6;
Sum.
В
результате
43
Рис. 2.6. Запрос на подведение итогов
 выполните запрос и просмотрите
его результат. Для отображения
значений расчетного поля без знаков в дробной части вернитесь в режим
Конструктора. Затем для поля ОСТ вызовите окно свойств через
контекстное меню и в нем
для свойства Число десятичных знаков
выберите из раскрывающегося списка значение 0. Выполните запрос и
убедитесь в том, что значения расчетных сумм представлены как целые
числа;
 сохраните запрос с именем СУММЫ ОСТАТКОВ ПО ФИЛИАЛАМ.
Задание 2.11.
Выбрать из БД БАНК сведения о счетах, тип которых
указывает сам пользователь. Результирующая таблица запроса должна иметь
следующую структуру:
|НС|ТИП|ДАТА|КАП|ОСТ|НФ|НК|
Созданный запрос с параметрами сохранить с именем ТИП СЧЕТА.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
44
 перетащите в строку Поле все поля таблицы СЧЕТ;
 наберите в квадратных скобках текст [введите интересующий Вас тип
счета (Д, К, Т)] в строке "Условие отбора" для поля ТИП;
 выполните запрос. В появившемся окне Введите значение параметра
введите тип счета и проанализируйте результат запроса;
 сохраните запрос с именем ТИП СЧЕТА;
 выполняйте данный запрос несколько раз – каждый раз запрашивается тип
счета.
Задание 2.12. Выбрать из БД БАНК информацию обо всех менеджерах
(управляющих и не управляющих филиалами) структуры:
|НМ|НФ|
Запрос сохранить с именем МЕНЕДЖЕР-ФИЛИАЛ.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы
таблицы МЕНЕДЖЕР и ФИЛИАЛ,
и выполните следующие
действия:
 перетащите поля НМ и НФ в строку Поле;
 выделите линию связи между таблицами, вызовите для нее контекстное
меню и в нем выберите команду Параметры объединения;
 в появившемся окне Параметры объединения измените способ
объединения записей при установке связи, заданный по умолчанию, на №
2 – "Объединение ВСЕХ записей из "МЕНЕДЖЕР" и только тех записей
из "ФИЛИАЛ", в которых связанные поля совпадают" (рис. 2. 7).
45
Рис. 2.7. Окно Конструктора запроса с окном Параметры объединения
Закройте окно Параметры объединения;
 выполните запрос и проанализируйте результат;
 сохраните запрос с именем МЕНЕДЖЕР-ФИЛИАЛ.
Задание 2.13. На основании информации БД БАНК определить номера
менеджеров, которые не управляют филиалами.
Созданный запрос сохранить с именем МЕНЕДЖЕР БЕЗ ФИЛИАЛА.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы запрос МЕНЕДЖЕР-ФИЛИАЛ, и выполните следующие действия:
 перетащите в строку Поле поля НМ и НФ;
 в строке "Условие отбора" для поля НФ наберите Is Null (отсутствующее
значение);
 выполните запрос и проанализируйте результат;
 сохраните запрос с именем МЕНЕДЖЕР БЕЗ ФИЛИАЛА
46
2.2.
Перекрестный запрос
 Перекрестный запрос представляет собой специальный запрос
итогового типа. Он отображает результаты итоговых статистических
расчетов над значениями некоторого поля в виде двумерной таблицы. В
ней
значения одного или нескольких столбцов слева образуют заголовки
строк. Заголовки столбцов представляют собой значения одного поля, а на
пересечении строк и столбцов находятся итоговые значения.
Перекрестный запрос позволяет выводить данные в компактном
формате, подобном формату электронной таблицы.
Задание 2.14. На основании данных таблицы СЧЕТ базы данных БАНК
определить количество счетов различных типов в каждом филиале.
Запрос сохранить с именем КОЛИЧЕСТВО СЧЕТОВ.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
 перетащите в строку Поле поля НФ, ТИП, НС;
 нажмите кнопку
[Перекрестный] в группе Тип запроса на вкладке
Конструктор;
 в появившейся строке "Групповая операция" для поля НС выберите из
раскрывающегося списка функцию Count;
 в появившейся строке "Перекрестная таблица" для поля НФ выберите из
раскрывающегося списка Заголовки строк, для поля ТИП – Заголовки
столбцов, для поля НС – Значение. В результате сформируется запрос, как
показано на рис. 2.8;
47
Рис. 2.8. Перекрестный запрос
 выполните запрос и проанализируйте его результат;
 сохраните запрос с именем КОЛИЧЕСТВО СЧЕТОВ.
2.3. Запросы на внесение изменений в базу данных
 Существует четыре типа запросов на внесение изменений в базу
данных:
1) запрос на удаление – удаляет группу записей из одной таблицы или
нескольких взаимосвязанных таблиц БД, для которых задано каскадное
удаление связанных записей;
2) запрос на обновление – служит для изменения значений полей таблицы;
3) запрос на добавление – производит добавление записей из одной таблицы
в другую таблицу;
4) запрос на создание таблицы – создает новую таблицу на основе всех или
части данных из одной или нескольких таблиц БД. Данный запрос может
применяться для архивирования старых записей или создания резервных
копий таблиц.
48
Задание 2.15. В БД БАНК обновить адрес клиента, проживающего по "ул.
Коржа, 1", – заменить его на "ул. Красная, 5". Запрос сохранить с именем
СМЕНА АДРЕСА.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу КЛИЕНТ, и выполните следующие действия:
 перетащите поле АДР_К в строку Поле;
 нажмите кнопку
[Обновление ] в группе Тип запроса на вкладке
Конструктор;
 наберите ул. Коржа, 1 в строке "Условие отбора" для этого поля;
 наберите ул. Красная, 5 в появившейся строке Обновление для поля
АДР_К;
 выполните запрос и в окне Microsoft Office Access подтвердите
обновление записей;
 сохраните запрос с именем СМЕНА АДРЕСА;
 убедитесь в произведенном обновлении адреса клиента, просмотрев
таблицу КЛИЕНТ.
Задание 2.16. В БД БАНК удалить из таблицы МЕНЕДЖЕР сведения о
менеджере с номером 4. Запрос сохранить с именем УДАЛЕНИЕ
МЕНЕДЖЕРА.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу МЕНЕДЖЕР, и выполните следующие действия:
 перетащите в строку "Поле" все поля таблицы МЕНЕДЖЕР;
 нажмите кнопку
Конструктор;
[Удаление] в группе Тип запроса на вкладке
49
 наберите 4 в строке "Условие отбора" для поля НМ;
 выполните запрос и в окне Microsoft Access подтвердите удаление записи;
 сохраните запрос с именем УДАЛЕНИЕ МЕНЕДЖЕРА;
 убедитесь в произведенном удалении записи о менеджере, просмотрев
таблицу МЕНЕДЖЕР.
Задание 2.17. Создать в БД БАНК новую таблицу с именем КЛИЕНТ_ 77,
содержащую информацию о счетах только клиента с номером 77.
Запрос сохранить с именем СЧЕТА КЛИЕНТА 77.
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
 перетащите в строку Поле все поля таблицы СЧЕТ;
 наберите 77 в строке "Условие отбора" для поля НК;
 нажмите кнопку
[Создание таблицы] в группе Тип запроса на
вкладке Конструктор;
 в появившемся окне Создание таблицы введите
имя создаваемой
таблицы КЛИЕНТ_77 и нажмите [ОК];
 выполните запрос и в окне Microsoft Access подтвердите создание новой
таблицы;
 сохраните запрос с именем СЧЕТА КЛИЕНТА 77;
 убедитесь в появлении в БД новой таблицы КЛИЕНТ_77.
Задание 2.18. В БД БАНК таблицу КЛИЕНТ_ 77 пополнить сведениями о
счетах клиента с номером 48 и дать ей имя КЛИЕНТ_77+48.
Запрос сохранить с именем СЧЕТА КЛИЕНТА 77+48.
50
Выполнение задания
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
 перетащите в строку Поле все поля таблицы СЧЕТ;
 наберите 48 в строке "Условие отбора" для поля НК;
 нажмите кнопку
[Добавление] в группе Тип запроса на вкладке
Конструктор;
 в появившемся окне Добавление введите
имя пополняемой таблицы
КЛИЕНТ_77;
 выполните запрос и в окне Microsoft Access подтвердите добавление
записей;
 сохраните запрос с именем СЧЕТА КЛИЕНТА 77+48;
 откройте таблицу КЛИЕНТ_77, убедитесь в появлении в ней записей о
клиенте с номером 48, после чего закройте эту таблицу и дайте ей имя
КЛИЕНТ_77+48 с помощью команды контекстного меню Переименовать.
Контрольные вопросы
1. Что такое запрос?
2. Каких типов запросы позволяет создавать СУБД Access?
3. Можно ли извлекать данные из нескольких таблиц БД?
4. Можно ли в запросах производить вычисления над данными?
5. Разновидностью какого типа запросов является запрос с параметрами?
6. Что представляет собой перекрестная таблица?
7. Перечислите запросы на внесение изменений в БД?
8. Для чего предназначена строка Поле бланка запроса?
9. Могут ли условия отбора быть выражениями типа сравнения, логическими
выражениями?
10. Как выполняется запрос?
11. Что является результатом запроса?
12. Как сохраняется запрос?
51
3. КОНСТРУИРОВАНИЕ ФОРМ
В этом разделе Вы освоите конструирование

простой формы с элементами оформления

формы с вкладками

составной формы
и освоите

работу с данными по форме

создание вычисляемого поля в форме
 Форма – это шаблон на экране, используемый, главным образом,
для ввода, просмотра и редактирования записей.
Форма в случае ввода представляет бланк, подлежащий заполнению, и
дает возможность осуществить контроль вводимых данных. Бланк-форма
упрощает процесс заполнения БД, благодаря чему
в БД может вводить
информацию пользователь невысокой квалификации. Форма в случае
просмотра и редактирования представляет маску, накладываемую на набор
данных. Она позволяет ограничить доступ пользователей к информации в
БД.
Существуют простые и составные формы. Составной формой
называется форма, включающая другие формы. Такая форма используется,
чтобы показать данные из нескольких связанных таблиц в одной форме.
Формы могут содержать различные элементы: надписи, поля, списки,
раскрывающиеся списки, флажки, переключатели, кнопки, вкладки и др. В
них возможны вычисления для записей и их групп, а также наглядное
представление данных в виде диаграмм.
СУБД Access предоставляет большие возможности по оформлению
форм – шрифты, фон, рисунки, линии, рамки и др.
Форма создается на основе таблицы или запроса. На базе одной таблицы
52
или одного запроса можно построить несколько форм. Так, по таблице,
характеризующей товарооборот магазина, можно разработать одну форму
для руководителя, другую – для бухгалтера, третью – для работника склада.
В Access существуют способы создания форм с помощью:
 Мастера форм, который на основании вопросов относительно структуры,
внешнего вида и ее имени создает готовую форму;
 Конструктора
форм,
предоставляющего
инструментов для создания форм
пользователю
набор
соответственно своим вкусам и
требованиям,
и инструментов:
 Форма – быстрое создание формы на базе текущего источника данных
(таблицы или запроса);
 «Пустая форма» – быстрое построение формы, особенно если на ней
будет лишь несколько полей;
 Таблица – создание формы, отображающей несколько записей в виде
таблицы, по одной записи в одной строке;
 «Несколько элементов» – создание web-формы, в которой отображается
несколько записей;
 «Разделенная
форма»
–
создание
формы,
в
которой
данные
одновременно отображаются в двух представлениях: в режиме формы и
в режиме таблицы.
Разработка формы в режиме Конструктора сводится к вставке и
размещению
в
разделах
окна
Конструктора
элементов
управления.
Элементы управления – это графические объекты, используемые для
отображения данного из базы, выполнения действия или в качестве
украшения.
53
При конструировании формы от пользователя требуется знать
назначение разделов окна Конструктора и уметь работать с элементами
управления – их выделять, перемещать, копировать, форматировать.
3.1. Конструирование простой формы
 Условимся считать простой по структуре форму,
содержащую:
заголовок формы; поля БД и их надписи; примечание к форме.
Задание
3.1. Сконструировать простую форму для просмотра сведений о
клиентах вида, как на рис. 3.1.
Рис. 3.1. Форма для просмотра сведений о клиентах
В ней для различных разделов задать фон разного цвета. Форму сохранить с
именем КЛИЕНТ.
Выполнение задания
Откройте окно Конструктора формы. Для этого на вкладке Создание в
группе Формы нажмите кнопку
[Конструктор форм]. Появится окно
Конструктора формы вида, как на рис. 3.1.
54
Рис. 3.1. Окно Конструктора формы
По умолчанию в этом окне выводится раздел "Область данных" с сеткой
прямоугольной формы.
Выполните следующее:
 добавьте еще разделы "Заголовок формы" и "Примечание формы", нажав
кнопку

[Заголовок] в группе Колонтитулы на вкладке Конструктор;
расширьте разделы окна Конструктора, перетащив правую границу любого
из них до вертикальной полосы прокрутки;
Примечание. Изменить высоту разделов можно, перетащив нижнюю границу раздела
вверх или вниз.
 в разделе "Заголовок формы" вместо выделенного слова Form1 наберите
текст заголовка Сведения о клиенте;

нажмите кнопку
[Добавить поля] в группе Сервис на вкладке
Конструктор. В появившемся справа окне Список полей щелкните
гиперссылку Показать все таблицы. Затем щелкните по знаку «+» у
таблицы КЛИЕНТ – отобразятся все ее поля;

ухватите мышью имя поля НК и отпустите его в разделе "Область
данных";
55

аналогично вставьте в данный раздел остальные поля, присутствующие в
форме на рис. 3.1. В результате отобразятся поля и их надписи (слева).
Это связанные элементы управления;
 Для достижения требуемого расположения в форме полей и их
надписей необходимо уметь перемещать их одновременно и порознь. Для
одновременного перемещения указатель мыши устанавливают на границу
выделенной надписи или выделенного поля и, когда появится крестик,
производят перетаскивание. Для раздельного перемещения надписи или
поля указатель мыши устанавливают на маркер перемещения (в левом
верхнем углу) и, когда появится крестик, производят перемещение. Для
удаления надписи ее выделяют и нажимают клавишу Delete; для удаления
поля с надписью выделяют поле и нажимают эту клавишу.

расположите поля и их надписи в "Области данных" по диагонали так, как
это показано на рис. 3.1;

чтобы подпись клиента в форме отображалась полностью, то для
выделенной рамкой области правее надписи "Подпись:" вызовите окно
свойств и на вкладке Макет в строке "Установка размеров" выберите из
раскрывающегося списка Вписать в рамку;

введите текст примечания По состоянию на в раздел "Примечание
формы". Текст относится к несвязанным элементам управления.
 Вставка в раздел окна Конструктора форм несвязанного элемента
управления осуществляется так: производится щелчок по кнопке нужного
элемента управления в группе Элементы управления на вкладке
Конструктор, а затем щелчок в том разделе, где требуется поместить этот
элемент.
Для ввода текста примечания воспользуйтесь кнопкой
После набора текста щелкните вне надписи;
[Надпись].
56

вставьте текущую дату в "Примечание формы".
кнопку
Для этого нажмите
в группе Колонтитулы на вкладке Конструктор. В
появившемся окне снимите флажок "Формат времени" и нажмите [ОК]. В
правом верхнем углу "Заголовка формы" появится поле с выражением,
включающим функцию даты. Переместите его в "Примечание формы"
справа от текста;
 задайте
фон разного цвета для разделов формы "Заголовок формы",
"Область данных" и "Примечание формы" – активизируйте нужный
раздел щелчком по его заголовку, вызовите для него контекстное меню и
выберите Свойства. В появившемся окне свойств щелкните в строке
"Цвет фона", а затем нажмите кнопку
и на цветовой палитре в группе
Стандартные цвета выберите желаемый цвет фона;

для просмотра сконструированной формы перейдите в режим формы –
раскройте список
в группе Режимы на вкладке Конструктор и
выберите Режим формы. Если вид формы не соответствует виду,
приведенному
в
задании,
воспользовавшись
то
указанным
вернитесь
списком,
в
и
режим
Конструктора,
внесите
необходимые
изменения;
 сохраните форму с именем КЛИЕНТ, закрыв окно формы.
Примечание. В процессе конструирования формы рекомендуется:
 время от времени переходить из режима Конструктора в режим формы для оценки
реального вида конструируемой формы;
 регулярно сохранять форму во избежание потери результатов конструирования изза сбоев.
3.2.
Работа с данными базы по форме
Задание 3.2. По форме КЛИЕНТ выполнить следующее:

рассортировать сведения о клиентах в алфавитном порядке Ф.И.О.;

просмотреть сведения о клиентах;
57

ввести в таблицу КЛИЕНТ сведения о себе, как клиенте банка с номером 35;

номер клиента 35 заменить на 30;

удалить сведения о себе.
Выполнение задания
Откройте форму КЛИЕНТ в режиме формы двойным щелчком по ее
значку.
Для сортировки записей о клиентах щелкните мышью по значению поля с
подписью "Ф.И.О." , а затем нажмите кнопку
[По возрастанию] в группе
Сортировка и фильтр на вкладке Главная. Для просмотра рассортированных
записей воспользуйтесь кнопкой перехода по записям
[Следующая].
Для ввода записи о себе перейдите к пустой записи нажатием кнопки
[Новая (пустая) запись] и заполните ее поля данными о себе. Для
создания своей подписи воспользуйтесь
командой Вставить объект из
контекстного меню рамки, расположенной справа от надписи "Подпись",
аналогично тому, как это вы делали при заполнении таблицы КЛИЕНТ.
После этого закройте окно формы, откройте таблицу КЛИЕНТ и убедитесь,
что в нее добавлена запись о себе. Закройте таблицу КЛИЕНТ.
Для изменения номера клиента откройте форму КЛИЕНТ в режиме
формы, перейдите к записи с данными о себе и измените значение номера на
30.
Закройте окно формы, откройте таблицу КЛИЕНТ и убедитесь, что
замена номера клиента произведена. Закройте таблицу КЛИЕНТ.
Для удаления записи о себе откройте форму КЛИЕНТ в режиме формы,
перейдите к записи с данными о себе, вызовите контекстное меню маркера
записи (вертикальной полосы слева с белым треугольником) и выберите
команду Вырезать. Закройте окно формы, откройте таблицу КЛИЕНТ и
убедитесь, что запись о себе удалена. Закройте таблицу КЛИЕНТ.
58
3.3. Конструирование формы с вкладками
 Создайте на основе таблиц МЕНЕДЖЕР и ФИЛИАЛ источник данных
для формы – запрос следующей структуры:
НФ АДР_Ф НМ
СТАЖ
Сохраните его с именем ЗАПРОС ДЛЯ ФОРМЫ.
Задание 3.3. Сконструировать форму с вкладками вида, как на рис. 3.2.
Рис. 3.2. Форма с вкладками
Форму сохранить с именем С ВКЛАДКАМИ.
Выполнение задания
Откройте окно Конструктора формы. Отобразите поля источника данных
для формы. Для этого из контекстного меню "Области данных" выберите
Свойства формы. В появившемся окне свойств формы на вкладке Данные в
строке "Источник записей" раскройте список и выберите ЗАПРОС ДЛЯ
ФОРМЫ. Закройте окно свойств. Нажмите
[Добавить поля] в группе
Сервис на вкладке Конструктор – появится окно Список полей. Затем
выполните следующее:
59
 вставьте в раздел "Область данных" элемент управления Вкладка, нажав
кнопку
[Вкладка] в группе Элементы управления на вкладке
Конструктор, а затем щелкнув этом разделе;
 на текущую вкладку перетащите из списка полей поля НФ и АДР_Ф;
 задайте имя текущей вкладке – дважды щелкните по имени Вкладка1, а
затем нажмите кнопку
[Страница свойств] в группе Cервис на
вкладке Конструктор. В появившемся окне свойств на вкладке Все в
строке Имя наберите имя вкладки – ФИЛИАЛ и закройте окно свойств;
 перейдите на вкладку Вкладка2, перетащите на нее из списка полей поля
НМ и СТАЖ;
 задайте имя текущей вкладке – МЕНЕДЖЕР;
 перейдите
в режим формы и просмотрите записи о филиалах и
менеджерах, управляющих ими, переходя с одной вкладки на другую;
 сохраните форму с именем С ВКЛАДКАМИ.
3.4. Конструирование составной формы

Составная
форма
конструируется
на
основании
таблиц,
находящихся в связи 1: М. Ее компонент – подчиненная форма – создается
по таблице на стороне связи М.
Задание 3.4. Создать составную форму вида, как на рис. 3.3.
60
Рис. 3.3. Составная форма
Форму сохранить с именем СОСТАВНАЯ.
Выполнение задания
В окне Все объекты Access выделите таблицу КЛИЕНТ и на вкладке
Создание нажмите кнопку
[Форма]. Появится составная форма, в
которой для клиента отображаются все его счета вида, как на рис. 3.4:
61
Рис. 3.4. Автоматически созданная составная форма
Для корректировки формы с целью ее приведения к виду, как на рис.
3.3, перейдите в режим Конструктор и выполните следующее:
 замените текст заголовка на СВЕДЕНИЯ О КЛИЕНТЕ И ЕГО СЧЕТАХ;
 удалите поле ПОДП и его надпись;
 перейдите в режим формы для просмотра созданной составной формы;
 сохраните ее с именем СОСТАВНАЯ.
3.5. Создание вычисляемого поля в форме
 Для выполнения следующего задания создать по таблице СЧЕТ форму
СЧЕТ, для чего:
 выделить таблицу СЧЕТ в окне Все объекты Access;
 на вкладке Создание нажать кнопку
[Форма]. Появится форма с
полями, расположенными в столбец;
 закрыть окно формы, сохранив ее с именем СЧЕТ.
Задание 3.5. В форме СЧЕТ создать вычисляемое поле СРОК для расчета на
текущую дату количества дней, прошедших с момента открытия счета.
Для оформления заголовка формы применить тему и рисунок.
Форму сохранить, присвоив ей имя С ВЫЧИСЛЕНИЯМИ.
Выполнение задания:
 откройте форму СЧЕТ в режиме Конструктора;
 вставьте свободное поле в раздел "Область данных" – щелкните по кнопке
[Поле] в группе Элементы управления на вкладке Конструктор, а
затем в этом разделе под нижним полем;
 щелкните по надписи поля (она слева) и вместо предложенного системой
имени наберите ее имя СРОК;
62
 для свободного поля вызовите окно свойств и на вкладке Данные в строке
Данные щелкните по кнопке вызова Построителя выражений
;
 в окне Построителя создайте выражение для подсчета на текущую дату
количества дней, прошедших с момента открытия счета:
= Date()-ДАТА
Для этого наберите знак «=», из встроенных функций в категории
Дата/время выберите функцию Date() и вставьте ее в выражение двойным
щелчком на ней, наберите знак «-», выделите форму СЧЕТ и ее поле ДАТА
вставьте в выражение, нажмите [ОК] и закройте окно свойств;
 для оформления раздела "Заголовок формы" активизируйте его, на вкладке
Конструктор в группе Темы раскройте список Темы и выберите
понравившуюся тему, а затем в группе Элементы управления раскройте
список Вставить изображение и вставьте либо образец рисунка, либо
воспользуйтесь кнопкой [Обзор] для поиска другого рисунка. Чтобы
рисунок в форме отображался полностью, вызовите для него окно свойств
и на вкладке Макет в строке "Установка размеров" выберите Вписать в
рамку;
 закройте окно Конструктора, сохранив измененную форму СЧЕТ с этим же
именем;
 откройте форму СЧЕТ в режиме формы и убедитесь в том, что в каждой
записи в поле СРОК для счета рассчитывается на текущую дату
количество дней, прошедших с момента его открытия.
Контрольные вопросы
1. Для чего предназначена форма?
2. Что служит источником данных для формы?
3. Какими способами можно создать форму?
4. Что такое элемент управления?
5. Какие элементы управления вы знаете?
63
6. В каком разделе Конструктора формы размещаются поля и их
надписи?
7. Что собой представляет составная форма?
8. В каком режиме можно работать по форме с данными базы?
9. Как перейти из режима Конструктора в режим формы и наоборот?
4. СОЗДАНИЕ ОТЧЕТОВ
В этом разделе Вы освоите создание

отчета с вычислениями в строках и с общими итогами с помощью
Конструктора отчетов

отчета с частными и общими итогами с помощью Мастера и
Конструктора отчетов
 Отчет –
отображение на бумаге или на экране информации из
базы данных в виде, удобном для ее восприятия и анализа пользователем.
Это гибкое средство для организации данных при выводе на экран или
на
печать.
В
отчете
можно
сортировать
и
группировать
данные,
осуществлять расчеты в строках и проводить итоговые вычисления над
группами строк и над всеми строками с использованием статистических
функций.
Отчет может основываться на таблице или запросе и представлять
сложные зависимости между различными наборами данных. Он может быть
составным – включать другие отчеты.
Используя средства шрифтового, фонового и цветового оформления,
обрамления, рисунки, деловую
графику, вставку объектов других
приложений, можно создавать отчеты высокого качества.
В Access существуют способы создания отчетов с помощью:
64
 Мастера отчетов – создание
отчета на основании вопросов
относительно структуры, содержания, внешнего вида и его имени;
 Конструктора отчетов – самостоятельное конструирование отчета,
и инструментов:
 Отчет – быстрое создание отчета на базе текущего источника данных
(таблицы или запроса);
 «Пустой отчет» – создание пустого отчета, в который можно вставить
элементы управления.
Конструирование отчетов, как и конструирование форм, требует навыков
работы с элементами управления.
4.1.
Конструирование отчета с вычислениями в строках
и с общими итогами
Задание 4.1. Создать отчет КОЛИЧЕСТВО
СЧЕТОВ В ФИЛИАЛАХ
БАНКА вида, как на рис. 4.1.
Рис. 4.1. Вид отчета КОЛИЧЕСТВО СЧЕТОВ В ФИЛИАЛАХ БАНКА
Подсчитать в строках отчета количество счетов всех типов в каждом
филиале, а в качестве общих итогов – количество счетов каждого типа в
банке.
Отчет сохранить с именем ОТЧЕТ1.
65
Выполнение задания
Источником
данных
для
конструирования
отчета
является
перекрестный запрос КОЛИЧЕСТВО СЧЕТОВ. Откройте его и обратите
внимание, что в таблице имеются отсутствующие значения, допустимые в
СУБД Access. Затем закройте окно запроса. Далее выполните следующее:
 на вкладке
Создание
в группе
Отчеты нажмите кнопку
[Конструктор отчетов]. Откроется окно Конструктора с разделами
"Верхний колонтитул", "Область данных" и "Нижний колонтитул";
 добавьте еще два раздела "Заголовок отчета" и "Примечание отчета"
нажатием кнопки
[Заголовок] в группе Колонтитулы на вкладке
Конструктор;
 удалите автозаголовок, содержащий текст ОТЧЕТ1, и введите при
помощи
элемента
управления
[Надпись]
текст
заголовка
отчета
КОЛИЧЕСТВО СЧЕТОВ В ФИЛИАЛАХ БАНКА;
 вставьте в заголовок текущую дату – нажмите кнопку
[Дата и время] в
группе Колонтитулы на вкладке Конструктор, в окне Дата и время
снимите флажок Формат времени и [ОК]. Созданный элемент с
выражением =Date() разместите ниже текста заголовка отчета;
 задайте источник данных отчета – вызовите контекстное меню и в нем
выберите Свойства отчета. Появится окно свойств отчета, в котором на
вкладке Данные в строке "Источник записей" раскройте список, выберите
запрос КОЛИЧЕСТВО СЧЕТОВ и закройте окно свойств;
 отобразите список полей источника данных – нажмите кнопку
[Добавить поля] в группе Сервис на вкладке Конструктор;
 в окне Список полей при нажатой клавише Shift выделите все поля,
ухватите их мышью и отпустите в "Области данных". Отобразятся поля и
их надписи (слева);
66
 вставьте в "Область данных" свободное поле при помощи элемента
управления
[Поле]. Для поля Свободный вызовите окно свойств и на
вкладке Данные в строке Данные вызовите Построитель выражений
нажатием кнопки
. В Построителе сформируйте выражение с
использованием функции Nz, которая
отсутствующие значения полей
преобразует в числовое значение 0 (ноль, который может участвовать в
операции сложения), вида:
= Nz([Д])+ Nz([К])+Nz([Т])
Для этого наберите на клавиатуре знак «=», откройте папку Функции,
затем папку "Встроенные функции", выберите категорию функций
Преобразование, а в ней – функцию Nz и двойным щелчком по ней
вставьте в выражение. Для ускорения создания выражения удалите текст
в круглых скобках и сформируйте поначалу выражение вида:
= Nz()+ Nz()+Nz()
Затем откройте папку отчета и последовательно вставьте поля Д, К, Т
двойным щелчком по ним в качестве аргументов функций Nz. После
этого закройте окно Построителя выражений;
 выделите все элементы в "Области данных", протянув мышью по
вертикальной линейке в этом разделе, и вызовите для них контекстное
меню. В нем выберите Макет, а затем – В виде таблицы. В результате
надписи полей переместятся в "Верхний колонтитул";
 ухватите мышью кнопку перемещения выделенной группы полей и их
надписей (с изображением крестика) и переместите ее в левый верхний
угол "Верхнего колонтитула";
 в разделе "Верхний колонтитул" сформируйте шапку отчета:
 для 1-го столбца оставьте надпись «№ филиала»;
 измените тексты заголовков 2-го, 3-го, 4-го столбцов отчета:
соответственно вместо Д наберите Депозитный, вместо К – Картсчет, вместо Т – Текущий;
67
 тест заголовка 5-го столбца измените на Всего;
 выделите все элементы данного раздела и их тексты выровняйте по
центру, нажав на вкладке Главная в группе Форматирование
текста кнопку [Выровнять по центру];
 выделите все элементы "Области данных" и поднимите их к верхней
границе раздела;
 вставьте в "Нижний колонтитул" номера станиц отчета – нажмите на
вкладке Конструктор в группе Колонтитулы кнопку
[Номера
страниц], в окне Номера страниц поставьте переключатель в положение
нижний колонтитул, выравнивание задайте по центру и [ОК];
 в разделе "Примечание отчета" сформируйте итоговую строку отчета:
 слева вставьте текст Итого: с помощью элемента управления
[Надпись];
 создайте три вычисляемых поля для подсчета общих итогов по
столбцам отчета, используя кнопку [Поле] из раскрывающегося
списка Элементы управления. Надписи полей удалите. Свободные
поля разместите за текстом Итого:, один за одним, под
соответствующими столбцами. В самих полях при помощи
Построителя выражений последовательно сформируйте выражения
(как это вы делали ранее) для подсчета итогов по столбцу,
использующие функцию Sum из категории Статистические:
=Sum([Д])
=Sum([К])
=Sum([Т])
 выровняйте элементы управления "Примечания отчета" по верхнему краю
командой контекстного меню Выровнять/Сверху;
В результате будет создан проект отчета, как на рис. 4.2.
68
Рис. 4.2. Проект отчета в Конструкторе
Осуществите предварительный просмотр созданного на данный момент
отчета командой контекстного меню Предварительный просмотр или
нажатием на вкладке Конструктор кнопки
[Режим]. Он будет
выглядеть, как на рис. 4.3.
Примечание. Если при переходе в режим предварительного просмотра появляется
сообщение о превышении ширины раздела ширины страницы, то проигнорируйте его,
нажав [ОК].
Рис. 4.3. Вид отчета на промежуточной стадии проектирования
 снятие заливки
цветом в заголовке и строках отчета выполните
следующим образом:
 выделите раздел "Заголовок отчета", вызовите его контекстное
меню и в окне свойств на вкладке Макет в строке "Цвет фона"
69
нажмите кнопку
, среди стандартных цветов выберите цвет
белый и закройте окно свойств;
 выделите раздел "Область данных", вызовите его контекстное меню
и в окне свойств на вкладке Макет в строке "Цвет фона" нажмите
кнопку
, среди стандартных цветов выберите цвет белый, а
затем аналогично задайте цвет фона чередования белый и закройте
окно свойств;
 для снятия рамок вокруг числовых значений выделите все элементы
"Области
данных"
и,
удерживая
Shift,
выделите
все
элементы
"Примечания отчета". Затем вызовите для них окно свойств, в котором на
вкладке Макет в строке "Тип границы" выберите Отсутствует;
 проведите горизонтальную линию в "Верхнем колонтитуле" над шапкой
отчета и под ней, в "Примечании отчета" над итоговой строкой и под ней.
Для этого щелкните по элементу управления [Линия], а затем щелкните в
положении начальной точки линии. Появится выделенная прямая линия,
которую продлите протаскиванием мыши до конечной точки при нажатой
клавише Shift (ее нажатие обеспечивает именно прямую линию);
 минимизируйте ширину отчета, протянув влево правую границу любого
раздела;
 сцентрируйте заголовок отчета – выделите его элементы и расположите их
по центру отчета, глядя на горизонтальную линейку;
 минимизируйте высоту всех разделов отчета, подтягивая вверх нижнюю
границу раздела.
Примечание. Минимизация ширины отчета и высоты его разделов осуществляется с
целью компактного представления реального отчета на бумаге и на экране.
 перейдите
в
режим
Предварительного
просмотра.
Если
отчет
соответствует виду, приведенному в задании, то сохраните его с именем
ОТЧЕТ1. В противном случае перейдите в режим Конструктора и внесите
необходимые изменения.
70
4.2. Создание отчета с частными и общими итогами
 Для выполнения следующего задания создайте запрос выбора из
таблиц КЛИЕНТ и СЧЕТ следующих данных:
НФ
ФИО_К
НС
ОСТ
Запрос сохраните с именем ОСТАТКИ.
Задание 4.2. Создать отчет СВЕДЕНИЯ ОБ ОСТАТКАХ НА СЧЕТАХ ПО
ФИЛИАЛАМ БАНКА вида, как на рис.4.5.
Рис. 4.5. Вид отчета СВЕДЕНИЯ ОБ ОСТАТКАХ НА СЧЕТАХ
ПО ФИЛИАЛАМ БАНКА
Отчет создать на основе запроса ОСТАТКИ.
Осуществить группировку строк по филиалам. Для каждой группы строки
упорядочить в алфавитном порядке Ф.И.О. клиентов и рассчитать сумму
остатков на счетах (частные итоги).
Рассчитать сумму остатков на счетах по всем филиалам (общий итог).
71
Отчет сохранить с именем ОТЧЕТ2.
Выполнение задания
Вызовите Мастер отчетов нажатием на вкладке Создание в группе
Отчеты кнопки
[Мастер отчетов]. Появится окно Мастера вида, как на
рис. 4.6.
Рис. 4.6. Первое окно Мастера отчетов
На 1-ом шаге Мастера раскройте список "Таблицы и запросы",
выберите источник данных отчета – запрос ОСТАТКИ и нажмите [Далее].
На 2-ом шаге переместите все поля из области "Доступные поля" в
область "Выбранные поля" с помощью кнопки
и [Далее].
На 3-ем шаге оставьте без изменения предлагаемый вид представления
данных и [Далее].
На 4-ом шаге добавьте уровень группировки по номеру филиала – при
выделенном поле НФ нажмите кнопку
и [Далее].
На 5-ом шаге задайте сортировку строк для каждой группы строк
отчета в алфавитном порядке значений поля ФИО_К – раскройте список 1,
выберите данное поле, оставьте без изменения заданный по умолчанию
72
порядок сортировки по возрастанию. Для формирования частных итогов и
общего итога нажмите кнопку [Итоги]. В открывшемся окне Итоги задайте
функцию
Sum
для
подведения
итогов
по
полю
ОСТ,
установив
соответствующий флажок, и [ОК]. Затем [Далее].
На 6-ом шаге выберите вид макета отчета, установив переключатель в
положение структура, оставьте без изменения другие параметры и [Далее].
На 6-ом шаге задайте имя отчета ОТЧЕТ2 и [Готово].
В результате вид отчета, построенного Мастером, будет таким, как на
рис. 4.7.
Рис. 4.7. Вид отчета, построенного Мастером отчетов
Примечание. Если вместо значений полей отображаются символы #####, то
следует в режиме Конструктора увеличить размер таких полей.
Перейдите в режим Конструктора для приведения отчета к виду, как в
задании 4.2, и выполните следующее:
 удалите из "Примечания группы `НФ`" поле, содержимое которого
начинается с текста «=”Итоги …», и из "Нижнего колонтитула" поле для
нумерации страниц отчета;
73
 переместите из "Нижнего колонтитула" в "Заголовок отчета" поле,
содержащее выражение с функцией Now() для вывода текущей даты;
 в "Заголовке отчета" вместо текста ОТЧЕТ2 введите текст СВЕДЕНИЯ ОБ
ОСТАТКАХ НА СЧЕТАХ ПО ФИЛИАЛАМ БАНКА, выделите его и на
вкладке Главная в группе Форматирование текста выберите тип
шрифта Times New Roman, размер – 12. Изменяя размер рамки текста по
ширине и по высоте, достигните расположения текста заголовка отчета в
две строки и выровняйте текст по центру рамки с помощью кнопки
[Выровнять по центру]. Поле даты расположите в соответствии с рис. 4.5;
 в "Заголовке группы" вместо надписи НФ наберите Номер филиала,
выделите эту надпись и поле НФ и задайте для них начертание шрифта
Полужирный;
 в "Примечании группы" вместо надписи Sum наберите Итого по
филиалу:, выделите эту надпись и задайте для нее начертание шрифта
Курсив. Выделите поле с выражением =Sum([ОСТ]) и задайте для него
начертание шрифта Полужирный;
 в "Примечании отчета" для поля с выражением =Sum([ОСТ]) задайте
начертание шрифта Полужирный;
 снятие заливки цветом в разделах отчета "Заголовок группы", "Область
данных",
"Примечание
группы",
"Примечание
отчета"
выполните
следующим образом:
 выделите соответствующий раздел щелчком по его заголовку,
вызовите контекстное меню и в окне свойств на вкладке Макет в
строке "Цвет фона" нажмите кнопку
, среди стандартных цветов
выберите цвет белый. Аналогично задайте "Цвет фона чередования"
белый и закройте окно свойств;
 перейдите
в
режим
Предварительного
просмотра.
Если
отчет
соответствует виду, приведенному в задании, то сохраните его с именем
74
ОТЧЕТ2. В противном случае перейдите в режим Конструктора и внесите
необходимые изменения.
Контрольные вопросы
1. Что собой представляет отчет?
2. Что может быть источником данных для отчета?
3. Какими способами можно создать отчет?
4. В каком разделе окна Конструктора отчета конструируются шапка отчета,
строка отчета, общие итоги?
5. С помощью какого элемента управления создаются вычисляемые поля для
расчетов в отчете?
6. Можно
ли
при
создании
отчета
с
помощью
Мастера
отчетов
предусмотреть в отчете частные и общие итоги?
7. Как осуществить предварительный просмотр отчета?
5. СОЗДАНИЕ ФОРМЫ НАВИГАЦИИ
В этом разделе Вы освоите создание формы навигации

с использованием Мастера создания кнопок

с помощью инструмента Формы навигации
 Форма навигации – это эффективное средство управления
объектами БД. С помощью формы навигации можно сделать часто
используемые запросы, формы и отчеты более доступными и постоянно
готовыми к использованию.
5.1. Конструирование формы навигации
с использованием Мастера создания кнопок
Задание 5.1. Сконструировать форму навигации для открытия ранее созданных
форм
КЛИЕНТ,
С
ВКЛАДКАМИ,
СОСТАВНАЯ
и
запроса
75
ВОЗНАГРАЖДЕНИЕ вида, как на рис. 5.1*. Форму сохранить с именем
НАВИГАЦИОННАЯ1.
Рис. 5.1. Вид формы НАВИГАЦИОННАЯ1
* ) Для лучшего восприятия технологии конструирования формы навигации на ее
кнопки помещены тексты, приведенные на рис. 5.1. А для более удобного пользования
этой формой следует на кнопки помещать текст, раскрывающий для пользователя их
функциональный аспект. Например, вместо текста Открыть форму КЛИЕНТ поместить
текст Просмотр сведений о клиентах.
Выполнение задания
Откройте окно Конструктора формы и выполните следующее:
 на вкладке Конструктор раскройте список Элементы управления и
включите (если не включена) кнопку
[Использовать мастера];
 на вкладке Конструктор в группе Элементы управления щелкните по
кнопке
[Кнопка], а затем в "Области данных". Откроется первое окно
Мастера создания кнопок вида, как на рис. 5.2.
76
Рис. 5.2. Окно Мастера создания кнопок
В нем:
 на 1-м шаге в поле "Категории" выберите Работа с формой, а в поле
"Действия" – Открыть форму и [Далее];
 на 2-м шаге выберите форму, открываемую по нажатии создаваемой
кнопки, – КЛИЕНТ и [Далее];
 на 3-м шаге переключатель оставьте в положении Открыть форму и
показать все записи и [Далее];
 на 4-м шаге переключатель поставьте в положение Текст и
сформируйте текст, помещаемый на кнопку формы, – Открыть форму
КЛИЕНТ и [Готово].
 аналогично создайте кнопку для открытия формы С ВКЛАДКАМИ и
кнопку для открытия формы СОСТАВНАЯ;
 при создании кнопки для выполнения запроса ВОЗНАГРАЖДЕНИЕ
выполните следующее:
 на 1-м шаге в поле "Категории" выберите Разное, а в поле "Действия" –
Выполнить запрос и [Далее];
 на 2-м шаге выберите запрос ВОЗНАГРАЖДЕНИЕ и [Далее];
 на 3-м шаге переключатель поставьте в положение Текст и наберите
текст,
помещаемый
на
ВОЗНАГРАЖДЕНИЕ и [Готово];
кнопку,
–
Выполнить
запрос
77
 выровняйте созданные кнопки слева. Для этого выделите их, очертив
вокруг их рамку курсором, вызовите для выделенной группы кнопок
контекстное меню и выберите в нем команду Выровнять/Слева;
 сделайте кнопки одинакового размера – вызовите для выделенной группы
кнопок контекстное меню и выберите в нем команду Размер/По самому
широкому;
 закройте
окно
Конструктора
и
сохраните
форму
с
именем
НАВИГАЦИОННАЯ1;
 откройте форму НАВИГАЦИОННАЯ1в режиме формы и убедитесь в
действии ее кнопок.
5.2. Создание формы навигации с использованием инструмента
навигации
Задание 5.2. Для открытия ранее созданных форм КЛИЕНТ, С ВКЛАДКАМИ,
СОСТАВНАЯ и отчетов ОТЧЕТ1, ОТЧЕТ2 создать форму навигации вида, как
на рис. 5.3. Форму сохранить с именем НАВИГАЦИОННАЯ2.
Рис. 5.3. Вид формы НАВИГАЦИОННАЯ2
78
Выполнение задания:
 на вкладке Создание в группе Формы в раскрывающемся списке
Навигация выберите макет Горизонтальные вкладки, 2 уровня. Появится
макет формы навигации вида, как на рис. 5.4;
Примечание. Если появилось окно Список полей, то закройте его.
Рис. 5.4. Макет формы навигации
 щелкните по верхней кнопке навигации [Создать] и наберите текст
Формы;
 щелкните правее созданной кнопки, а затем по появившейся кнопке
навигации [Создать] и наберите текст Отчеты;
 щелкните по кнопке [Формы] (она заключится в рамку) и перетащите
значок формы КЛИЕНТ из окна Все объекты Access на нижнюю кнопку
[Создать];
 перетащите значок формы С ВКЛАДКАМИ
на нижнюю кнопку
[Создать];
 перетащите значок формы СОСТАВНАЯ на нижнюю кнопку [Создать];
 щелкните по кнопке [Отчеты] (она заключится в рамку) и перетащите
значок отчета ОТЧЕТ1 из окна Все объекты Access на нижнюю кнопку
[Создать];
 перетащите значок отчета ОТЧЕТ2 на нижнюю кнопку [Создать];
79
 закройте окно макета формы навигации, сохранив ее с именем
НАВИГАЦИОННАЯ2;
 откройте созданную форму НАВИГАЦИОННАЯ2 в режиме формы.
Просмотрите содержимое вкладки Формы и вкладки Отчеты.
Контрольные вопросы
1. Зачем нужна форма навигации?
2. Какие вы знаете способы создания формы навигации?
3. Как вызвать Мастер создания кнопок в форме навигации?
4. Каким образом задается нужный макет формы навигации?
Download