ПРАКТИКУМ В СУБД ACCESS

Раздел Информатика
Класс -
Тип Другие методич. материалы
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

ПРАКТИКУМ В СУБД ACCESS


1. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ
БАЗЫ ДАННЫХ

В этом разделе Вы рассмотрите пример

создания информационно-логической модели предметной области

создания логической модели базы данных

Задание 1.1. Для обеспечения эффективной работы деканата и бухгалтерии университета спроектировать реляционную базу данных, включающую сведения о студентах, их успеваемости, начислениях стипендии и др.

Проектирование реляционной базы данных включает три этапа: концептуальное, логическое и физическое проектирование.

На этапе концептуального проектирования осуществляется анализ предметной области Деканат-Бухгалтерия. В результате анализа выявлены следующие документы-источники данных для создания базы данных:

документ 1 "Карточка студента";

документ 2 "Сведения из экзаменационных ведомостей";

документ 3 "Справочник видов начислений";

документ 4 "Начисления студентам";

документ 5 "Приказ"

Вид этих документов приведен ниже.

Документ 1 "Карточка студента"

Номер зачетной книжки

Фамилия

Имя

Отчество

Дата

рождения

Семейное

положение

Что окончил

Обучение платное (Да/Нет)

Телефон

Образец подписи

9(6)

А(15)

А(10)

А(15)

ДД.ММ.ГГ

А(9)

А(15)

В

9(7)

Графический объект

Для реквизитов документов указаны форматы их значений.

Так формат 9(6) указывает на то, что значения десятичные, числовые, максимум шестизначные.

Формат А(15) означает, что значения алфавитно-цифровые, содержащие максимум 15 символов.

Формат В указывает на то, что значения поля логические.

Документ 2 "Сведения из экзаменационных ведомостей"

Номер

зачетной книжки

Шифр

группы

Семестр

Оценка по

математике

Оценка по

информатике

Оценка по

экономической теории

9(6)

А (5)

9 (1)

9(1)

9(1)

9(1)

В этом документе представлены сведения за прошедший семестр.

Документ 3 "Справочник видов начислений"

Код

начисления

Вид

начисления

9(2)

А(25)

Документ 4 "Начисления студентам"

Номер

зачетной книжки

Код

начисления

Сумма

начисленная, руб.

За какой месяц начислено

9(6)

9(2)

9(5)

А(10)

Документ 5 "Приказ"

Назначить плату за обучение в 2010/2011 учебном году в размере:

 дневное отделение - 450 у. е.;

 заочное отделение - 300 у. е.;

 дистанционное обучение - 150 у. е.

Ректор университета Профессор, д.э.н.

В. Н. Иванов

На основании анализа документов выделяются информационные объекты. Для каждого объекта определяется ключевой реквизит. Ключевой реквизит однозначно идентифицирует экземпляры объекта. Например, реквизит "Номер зачетной книжки" однозначно идентифицирует студента.

Таблица 1.1

Информационные объекты предметной области

Информационный объект

Наименование

реквизита

Имя

реквизита

СВЕДЕНИЯ

Номер зачетной книжки

НОМ_ЗАЧ

Фамилия

ФАМ

Имя

ИМЯ

Отчество

ОТЧ

Дата рождения

ДАТ_РОЖ

Семейное положение

СЕМ_ПОЛ

Что окончил

ЧТО_ОКОН

Обучение платное (Да/Нет)

ОБУЧ

Плата за обучение

ПЛАТА

Телефон

ТЕЛ

Образец подписи

ПОДП

УСПЕВАЕМОСТЬ

Номер зачетной книжки

НОМ_ЗАЧ

Шифр группы

ГРУП

Семестр

СЕМЕСТР

Оценка по математике

ОЦ_МАТЕМ

Оценка по информатике

ОЦ_ИНФ

Оценка по экономической теории

ОЦ_ЭКОН

СПРАВОЧНИК

Код начисления

КОД_НАЧ

Вид начисления

ВИД_НАЧ

НАЧИСЛЕНИЯ

Номер зачетной книжки

НОМ_ЗАЧ

Код начисления

КОД_НАЧ

Сумма начисленная, руб.

СУММА

За какой месяц начислено

ЗА_МЕСЯЦ

В таблице ключевые реквизиты выделены жирно.

Затем определяются связи между информационными объектами. Связь устанавливается между двумя информационными объектами. Наличие связи и ее тип обуславливаются природой реальных объектов, процессов, явлений, отображаемых информационными объектами. Различаются связи следующих типов:

один к одному (1:1);

один ко многим (1:М);

многие ко многим (М:М).

Пусть объект А связывается с объектом В.

В случае связи 1:1 одному экземпляру объекта А соответствует не более одного экземпляра объекта В.

В случае связи 1:М одному экземпляру объекта А может соответствовать несколько экземпляров объекта В, но каждому экземпляру объекта В соответствует не более чем один экземпляр объекта А.

В случае связи М:М одному экземпляру объекта А может соответствовать несколько экземпляров объекта В и одному экземпляру объекта В может соответствовать несколько экземпляров объекта А.

В рассматриваемом примере связи описаны в табл. 1.2.

Таблица 1.2

Типы связей между информационными объектами

Связь

Ключ

связи

Тип

связи

Пояснения

СВЕДЕНИЯ-

УСПЕВАЕМОСТЬ

(студент характеризуется определенной успеваемостью)

НОМ_ЗАЧ

1 : 1

Каждый студент получает только одну оценку по математике, одну - по информатике, одну - по экономической теории.

УСПЕВАЕМОСТЬ - НАЧИСЛЕНИЯ

(некоторые начисления производтся в зависимости от успеваемости)

НОМ_ЗАЧ

1 : М

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

СПРАВОЧНИК -

НАЧИСЛЕНИЯ

(коды начислений указываются в соответствии с их справочником)

КОД_НАЧ

1 : М

Начисление одного вида может быть произведено нескольким студентам

Далее строится информационно-логическая модель предметной области. Ее графическое представление приведено на рис. 1.1.

ПРАКТИКУМ В СУБД ACCESS

На этапе логического проектирования выбирается СУБД для создания базы данных. Информационно-логическая модель предметной области отображается в логическую модель, основанную на структурных единицах той базы, которая создается выбранной СУБД. Так как в нашем примере выбирается реляционная СУБД Access, то каждый информационный объект следует представить определенной таблицей и установить связи между таблицами. Графическое изображение логической модели базы данных приведено на рис. 1.2.

ПРАКТИКУМ В СУБД ACCESS

Далее спроектированная база данных оптимизируется, то есть осуществляется минимизация избыточности данных. С этой целью ее таблицы-отношения анализируются на соответствие требованиям нормализации.

Отношение находится в первой нормальной форме (1НФ), если все его поля являются простыми (то есть в клетках таблицы не должно содержаться несколько значений). Таблицы спроектированной базы данных отвечают требованиям 1НФ.

Отношение находится во второй нормальной форме (2НФ), если оно удовлетворяет требованиям 1НФ и неключевые поля функционально полно зависят от ключа. Полная функциональная зависимость означает, что значение каждого неключевого поля однозначно определяется значением ключа. Таблицы спроектированной базы данных отвечают требованиям 2НФ.

Отношение находится в третьей нормальной форме (3НФ), если оно удовлетворяет требованиям 2НФ и при этом неключевые поля зависят от ключа нетранзитивно. Транзитивной называется такая зависимость, при которой какое-либо неключевое поле зависит от другого неключевого поля, а то, в свою очередь, зависит от ключа. Таблицы спроектированной базы данных отвечают требованиям 3НФ.

Затем следует этап физического проектирования. На этом этапе база данных создается на внешних носителях информации.


2. СОЗДАНИЕ И КОРРЕКТИРОВКА БАЗЫ ДАННЫХ

В этом разделе Вы освоите

создание файла базы данных

описание структуры таблицы в режиме Конструктора

 установку связи между таблицами

 заполнение таблицы данными

корректировку базы данных

работу с таблицей

Вам необходимо знать

Создание реляционной базы данных включает создание структур таблиц, установку связи между таблицами и заполнение таблиц.

Таблица - это структура, предназначенная для хранения информации в базе данных.

Современные СУБД позволяют хранить в таблицах данные разных типов: числа, тексты, даты, денежные значения, графические изображения, гиперссылки и др. Строки таблицы называются записями, а столбцы - полями. Записи могут идентифицироваться по некоторой уникальной характеристике, включающей одно или несколько полей и называемой ключом.

В Access можно создавать таблицу в режиме таблицы, с помощью Мастера, с помощью Конструктора.

Создание таблицы в режиме таблицы наиболее просто, так как от пользователя требуется лишь полям стандартной таблицы присвоить имена полей собственной таблицы, заполнить эти поля данными и присвоить имя своей таблице.

Создание таблицы с помощью Мастера сводится к созданию новой таблицы на основе образца таблицы из деловой или личной сферы.

Конструктор таблиц используется для создания структуры таблицы и при работе с ним от пользователя требуется: присвоение имен полям; указание типа данных, вводимых в поля; задание определенных свойств полям, которые позволят управлять сохранением, обработкой и отображением данных поля. Имена полей могут включать любую комбинацию букв, цифр, пробелов и специальных символов (не более 64 символов), за исключением точки (.), восклицательного знака (!), апострофа (') и квадратных скобок ([]) и не должны начинаться с пробела. Набор допустимых свойств поля зависит от того, какого типа данные будут храниться в поле.

Конструктор таблиц позволяет также корректировать структуру таблицы.

Связь между таблицами используется для объединения записей таблиц при корректировке базы данных, при конструировании многотабличных запросов, форм, отчетов, страниц доступа к данным. Она устанавливается посредством связи полей, обычно имеющих одинаковые имена и типы данных в обеих таблицах.

Таблица, которая связывается с другой таблицей по ключевому полю, называется главной. Таблица, с которой связывается главная таблица, называется подчиненной (связанной). Поле главной таблицы, по которому устанавливается связь, называется первичным ключом, а поле подчиненной таблицы - внешним.

В Access возможна реализация трех типов связей, о которых было сказано в разделе. Связи 1:1, 1:М реализуются явно, а связь М:М возможна только с помощью третьей, связующей таблицы.

В случае связи 1:1 записи с некоторым значением первичного ключа соответствует только одна запись с таким же значением внешнего ключа.

В случае связи 1:М записи с некоторым значением первичного ключа может соответствовать несколько записей с таким же значением внешнего ключа.

В случае связи М:М записи с некоторым значением первичного ключа может соответствовать несколько записей с таким же значением внешнего ключа, а записи с некоторым значением внешнего ключа может соответствовать несколько записей с таким же значением первичного ключа.

Заполнение таблицы данными осуществляется в режиме таблицы. В этом режиме возможно также редактирование, поиск, сортировка и фильтрация данных, а также изменение вида таблицы.

2.1. Создание файла базы данных

Задание 2.1. Создать файл базы данных с именем СТУДЕНТЫ в своей папке.

Выполнение задания

Запустите СУБД Access. Затем выполните следующее:

 установите в стартовом окне переключатель в положение Новая база данных и нажмите [ОК]. Если это окно не отображено, то выполните команду

Файл/Создать

и в появившемся окне Создание на вкладке Общие произведите двойной щелчок по значку "База данных";

 в окне Файл новой базы данных укажите, на каком диске, в какой папке требуется создать файл базы данных и введите имя файла СТУДЕНТЫ, а затем нажмите кнопку [Создать].

2.2. Создание таблиц базы данных

При создании таблиц надо учесть следующее.

Связь 1:1 создается, когда оба связываемых поля имеют уникальные значения. Уникальные значения имеет ключевое поле или поле, для которого задано свойство "Индексированное поле" со значением Да (Совпадения не допускаются).

Связь 1:М создается в том случае, когда только одно из связываемых полей является уникальным - ключевым или имеющим свойство "Индексированное поле" со значением Да (Допускаются совпадения).

Задание 2.2. Описать структуру таблицы СВЕДЕНИЯ, которая представлена в табл. 2.1.

Таблица 2.1

СВЕДЕНИЯ

Номер зачетной книжки

Фамилия

Имя

Отчество

Дата рождения

Семейное положение

Что окончил

Обучение платное (Да/Нет)

Плата за обучение

Телефон

Образец подписи

200300

Гиль

Павел

Павлович

10.10.84

холост

школу

£

233-44-55

Точечный
рисунок

200302

Брель

Петр

Петрович

15.02.84

холост

школу

£

Точечный
рисунок

200303

Смаль

Инна

Федоровна

17.05.83

незамужем

школу

R

Приказ

277-88-99

Точечный
рисунок

200304

Бас

Олег

Васильевич

22.09.84

холост

школу

£

255-66-77

Точечный
рисунок

200305

Рапин

Иван

Ильич

03.07.82

холост

техникум

£

Точечный
рисунок

200306

Перов

Олег

Николаевич

12.10.85

холост

школу

R

Приказ

Точечный
рисунок

200307

Лис

Ольга

Сергеевна

14.11.83

замужем

школу

£

Точечный
рисунок

200308

Жук

Мария

Петровна

27.07.82

замужем

техникум

£

Точечный
рисунок

200309

Киров

Юрий

Семенович

11.06.81

женат

ПТУ

£

Точечный
рисунок

200310

Ростова

Алла

Ивановна

08.11.84

незамужем

школу

R

Приказ

222-33-44

Точечный
рисунок

Имена полей

НОМ_ЗАЧ

(ключевое поле)

ФАМ

ИМЯ

ОТЧ

ДАТ_РОЖ
СЕМ_ПОЛ

ЧТО_ОКОН

ОБУЧ

ПЛАТА

ТЕЛ

ПОДП

С учетом типа, размера и свойств данных этой таблицы, а также языка описания данных Access поля таблицы СВЕДЕНИЯ можно описать как в табл.2.2.

Таблица 2.2

Описание полей таблицы СВЕДЕНИЯ

Имя поля

Тип поля

Свойства поля, подлежащие изменению

Устанавливаемое значение свойства

Ñ

НОМ_ЗАЧ

Числовой

-

-

ФАМ

Текстовый

Размер

15

Подпись

ФАМИЛИЯ

Обязательное поле

Да

ИМЯ

Текстовый

Размер

10

Обязательное поле

Да

ОТЧ

Текстовый

Размер

15

Подпись

ОТЧЕСТВО

Обязательное поле

Да

ДАТ_РОЖ

Дата/время

Формат поля

Краткий формат даты

Маска ввода

99.99.99

СЕМ_ПОЛ

Текстовый

Размер

9

ЧТО_ОКОН

Текстовый

Размер

8

ОБУЧ

Логический

Подпись

ОБУЧЕНИЕ ПЛАТНОЕ (Да/Нет)

ПЛАТА

Гиперссылка

Подпись

ПЛАТА ЗА ОБУЧЕНИЕ

ТЕЛ

Числовой

Размер

Длинное целое

Маска ввода

999-99-99

ПОДП

Поле объекта ОLЕ

Подпись

ОБРАЗЕЦ ПОДПИСИ

Пояснения к таблице

В таблице СВЕДЕНИЯ поле НОМ_ЗАЧ является ключевым.

Поля ФАМ, ИМЯ и ОТЧ в таблице обязательно заполняются, поэтому для них задается значение Да свойству "Обязательное поле".

Для удобства ввода значений полей ДАТ_РОЖ и ТЕЛ предусмотрено использование маски ввода.

Поле ОБУЧ принимает только два значения - Да или Нет и для него следует задать тип - логический.

Поле ПЛАТА позволяет определить размер платы за обучение на текущий момент в зависимости от формы обучения. Данные о размере содержатся в документе-приказе. Поэтому поле ПЛАТА должно содержать ссылку на данный документ и его тип - гиперссылка.

Поле ПОДП содержит образцы подписей студентов, являющиеся графическими объектами. Поэтому его тип - поле объекта OLE.

Для некоторых полей задаются значения свойства "Подпись". Эти значения будут в дальнейшем отображаться в качестве названий полей при просмотре объектов базы данных.

Выполнение задания

Для описания структуры таблицы в режиме Конструктора откройте окно Конструктора таблицы с помощью ярлыка "Создание таблицы в режиме конструктора" в окне База данных или выполнив последовательность действий:

окно База данных Þ объект Таблицы Þ [Создать] Þ

окно Новая таблица Þ выбрать Конструктор Þ [ОК]

Окно Конструктора таблицы имеет вид как на рис. 2.1.

ПРАКТИКУМ В СУБД ACCESS

В этом окне:

опишите поле НОМ_ЗАЧ следующим образом:

 введите в столбце "Имя поля" НОМ_ЗАЧ - имя первого поля таблицы СВЕДЕНИЯ;

 щелкните в столбце "Тип данных" и выберите из раскрывающегося списка его тип Числовой. Обратите внимание, что в разделе окна "Свойства поля" отобразились свойства, присущие данному типу, и их значения заданы по умолчанию.

Примечание. Если значение некоторого свойства не совпадает со значением, принятым по умолчанию, то его можно изменить:

 щелкнув в строке свойства и выбрав из раскрывающегося списка;

 введя с клавиатуры;

 задав с помощью Построителя выражений, который вызывается щелчком по кнопке с изображением трех точек.

 введите при желании комментарий к полю в столбце "Описание поля", например, Номер зачетной книжки;

 сделайте поле НОМ_ЗАЧ ключевым, введя команду

Правка/Ключевое поле

В результате для поля НОМ_ЗАЧ будут заданы значения свойств как на рис. 2.2. Их следует оставить без изменения.

ПРАКТИКУМ В СУБД ACCESS

Рис. 2.2.Свойства поля НОМ_ЗАЧ

 опишите остальные поля таблицы СВЕДЕНИЯ в соответствии с табл. 2.2;

 закройте окно Конструктора и на вопрос о сохранении структуры таблицы нажмите кнопку [Да], после чего введите имя таблицы СВЕДЕНИЯ. В окне База данных появится значок таблицы СВЕДЕНИЯ.

Примечание. При необходимости изменения структуры таблицы таблицу надо открыть в режиме Конструктора. Из окна базы данных это делается нажатием кнопки [Конструктор], а из окна таблицы - по команде Вид/Конструктор или щелчком по кнопке ПРАКТИКУМ В СУБД ACCESS (Вид) панели инструментов.

Задание 2.3. Описать структуру таблицы УСПЕВАЕМОСТЬ, которая представлена в табл. 2.3.

Таблица 2.3

УСПЕВАЕМОСТЬ

Номер зачетной книжки

Шифр группы

Семестр

Оценка по математике

Оценка по информатике

Оценка по экономической теории

200300

ФН

2

3

4

5

200302

ФН

2

4

3

5

200303

ФН

2

5

5

4

200304

ФН

2

5

5

5

200305

ФК-2

2

4

4

4

200306

ФК-2

2

2

3

3

200307

ФК-2

2

4

4

4

200308

ФК-3

2

3

2

4

200309

ФК-3

2

5

5

5

200310

ФК-3

2

4

4

5

Имена полей

НОМ_ЗАЧ

(ключевое поле)

ГРУП

СЕМЕСТР

ОЦ_МАТЕМ

ОЦ_ИНФ

ОЦ_ЭКОН

С учетом:

 того, что поле НОМ_ЗАЧ в таблице УСПЕВАЕМОСТЬ является ключевым согласно логической модели базы данных (см. рис. 1.2.);

 типа и размера данных этой таблицы;

 необходимости контроля вводимых оценок на соответствие допустимым значениям - 2, 3, 4, 5, а также языка описания данных Access, поля таблицы УСПЕВАЕМОСТЬ можно описать как в табл. 2.4.

Таблица 2.4

Описание полей таблицы УСПЕВАЕМОСТЬ

Имя поля

Тип поля

Свойства поля, подлежащие изменению

Устанавливаемое значение свойства

Ñ

НОМ_ЗАЧ

Числовой

-

-

ГРУП

Текстовый

Размер

5

СЕМЕСТР

Числовой

Размер

Байт

Значение по умолчанию

2

ОЦ_МАТЕМ

Числовой

Размер

Байт

Условие на значение

2 OR 3 OR 4 OR 5

Сообщение об ошибке

Недопустимая оценка по математике

ОЦ_ИНФ

Числовой

Размер

Байт

Условие на значение

2 OR 3 OR 4 OR 5

Сообщение об ошибке

Недопустимая оценка по информатике

ОЦ_ЭКОН

Числовой

Размер

Байт

Условие на значение

2 OR 3 OR 4 OR 5

Сообщение об ошибке

Недопустимая оценка по экономической теории

Выполнение задания

Откройте окно Конструктора таблицы и опишите поля таблицы УСПЕВАЕМОСТЬ - введите их имена, укажите их типы, задайте необходимые свойства в соответствии с табл. 2.4, руководствуясь указаниями к выполнению задания 2.2.

Закройте окно Конструктора таблицы. На вопрос о сохранении структуры таблицы ответьте [Да] и введите имя таблицы УСПЕВАЕМОСТЬ.

Задание 2.4. Описать структуру таблицы СПРАВОЧНИК, которая представлена в табл. 2.5.

Таблица 2.5

СПРАВОЧНИК

Код начисления

Вид начисления

10

Стипендия

20

Надбавка

30

Материальная помощь

Имена полей

КОД_НАЧ
(ключевое поле)

ВИД_НАЧ

С учетом:

того, что поле КОД_НАЧ в таблице СПРАВОЧНИК является ключевым согласно логической модели базы данных (см. рис. 1.2.);

типа и размера данных этой таблицы,

а также языка описания данных Access поля таблицы СПРАВОЧНИК можно описать как в табл. 2.6.

Таблица 2.6

Описание полей таблицы СПРАВОЧНИК

Имя поля

Тип поля

Свойства поля, подлежащие изменению

Устанавливаемое значение свойства

Ñ

КОД_НАЧ

Числовой

Размер

Байт

ВИД_НАЧ

Текстовый

Размер

25

Выполнение задания

Откройте окно Конструктора таблицы и опишите поля таблицы СПРАВОЧНИК в соответствии с табл. 2.6, руководствуясь указаниями к выполнению задания 2.2. По завершении описания закройте окно Конструктора таблицы и сохраните структуру таблицы с именем СПРАВОЧНИК.

Задание 2.5. Описать структуру таблицы НАЧИСЛЕНИЯ, которая представлена в табл. 2.7.

Таблица 2.7

НАЧИСЛЕНИЯ

Номер зачетной книжки

Код начисления

Сумма начисленная, руб.

За какой месяц начислено

200300

10

33000

июнь

200302

10

33000

июнь

200302

30

15000

июнь

200304

10

40000

июнь

200304

20

10000

июнь

200305

10

33000

июнь

200307

10

33000

июнь

200308

30

20000

июнь

200309

10

40000

июнь

200300

10

33000

июль

200302

10

33000

июль

200304

10

40000

июль

200305

10

33000

июль

200307

10

33000

июль

200309

10

15000

июль

Имена полей

НОМ_ЗАЧ

КОД_НАЧ

СУММА

ЗА_МЕСЯЦ

С учетом:

того, что связь между таблицами УСПЕВАЕМОСТЬ и НАЧИСЛЕНИЯ по полю НОМ_ЗАЧ имеет тип 1:М согласно логической модели базы данных (см. рис. 1.2.);

того, что связь между таблицами СПРАВОЧНИК и НАЧИСЛЕНИЯ по полю КОД_НАЧ имеет тип 1:М согласно логической модели базы данных;

типа и размера данных таблицы НАЧИСЛЕНИЯ, а также языка описания данных Access поля таблицы НАЧИСЛЕНИЯ можно описать как в табл. 2.8.

Таблица 2.8

Описание полей таблицы НАЧИСЛЕНИЯ

Имя поля

Тип поля

Свойства поля, подлежащие изменению

Устанавливаемое значение свойства

НОМ_ЗАЧ

Числовой

Индексированное поле

Да (Допускаются совпадения)

КОД_НАЧ

Мастер подстановок

Индексированное поле

Да (Допускаются совпадения)

СУММА

Денежный

-

-

ЗА_МЕСЯЦ

Текстовый

Размер

10

Пояснения к таблице

Чтобы в дальнейшем при заполнении таблицы НАЧИСЛЕНИЯ значения поля КОД_НАЧ можно было выбирать из списка значений этого поля в таблице СПРАВОЧНИК, целесообразно задать тип поля КОД_НАЧ - Мастер подстановок.

Выполнение задания

Откройте окно Конструктора таблицы и опишите поля таблицы НАЧИСЛЕНИЯ в соответствии с табл. 2.8, руководствуясь указаниями к выполнению задания 2.2. Обратите внимание на особенность описания поля КОД_НАЧ. После выбора для него типа Мастер подстановок загрузится Мастер подстановок и будут заданы такие же тип поля и свойства поля, что и в таблице СПРАВОЧНИК (в частности, тип - числовой, размер - байт). Тогда в окне Создание подстановки:

на 1-м шаге Мастера переключатель оставьте в положении Объект "столбец подстановок" будет использовать значения из таблицы или запроса Þ [Далее];

на 2-м шаге выберите таблицу СПРАВОЧНИК Þ [Далее];

на 3-м шаге из списка "Доступные поля" поле КОД_НАЧ переместите в список "Выбранные поля" с помощью кнопки ПРАКТИКУМ В СУБД ACCESSÞ [Далее];

 на 4-м шаге оставьте предлагаемую ширину столбца КОД_НАЧ Þ [Далее];

 на 5-м шаге оставьте предлагаемую подпись поля Þ [Готово].

В появившемся окне Создание подстановки на вопрос Перед созданием связи необходимо сохранить таблицу. Выполнить это сейчас? ответьте [Да].

В окне Сохранение введите имя таблицы НАЧИСЛЕНИЯ.

В окне Microsoft Access на вопрос Создать ключевое поле сейчас? ответьте [Нет]. Продолжите описание полей. По завершении закройте окно Конструктора таблицы и на вопрос о сохранении структуры таблицы ответьте [Да].

2.3. Установка связи между таблицами

Задание 2.6. Установить связи между таблицами СВЕДЕНИЯ, УСПЕВАЕМОСТЬ, СПРАВОЧНИК, НАЧИСЛЕНИЯ с обеспечением целостности данных в соответствии с логической моделью базы данных, представленной на рис. 1.2.

Распечатать созданную схему данных.

Выполнение задания

Закройте (если не закрыты) таблицы, между которыми устанавливаются связи, и выполните следующее:

 введите команду

Сервис/Схема данных

или нажмите кнопку ПРАКТИКУМ В СУБД ACCESS (Схема данных). Появится окно Схема данных с отображением списков полей таблиц СПРАВОЧНИК и НАЧИСЛЕНИЯ и линии связи их по полю КОД_НАЧ. Связь была создана в результате работы Мастера подстановок;

 введите команду

Связи/Добавить таблицу

 в окне Добавление таблицы выделите таблицу СВЕДЕНИЯ и нажмите кнопку [Добавить], а затем выделите таблицу УСПЕВАЕМОСТЬ, нажмите [Добавить] и [Закрыть];

Примечание. Для удаления из окна Схема данных лишнего списка полей таблицы, не связанной с другими таблицами, щелкают по нему и нажимают клавишу Delete. В случае удаления связанной таблицы прежде удаляют линии связи, а затем список полей таблицы. Для удаления линии связи ее выделяют (она становится жирной), вводят команду Правка/Удалить и подтверждают удаление.

 установите связь между таблицами СВЕДЕНИЯ и УСПЕВАЕМОСТЬ. Для этого:

в окне Схема данных перетащите ключевое поле НОМ_ЗАЧ из главной таблицы СВЕДЕНИЯ на поле НОМ_ЗАЧ подчиненной таблицы УСПЕВАЕМОСТЬ;

в окне Изменение связей установите флажок "Обеспечение целостности данных". Затем установите флажки "Каскадное обновление связанных полей" (изменение значения ключа в записи главной таблицы приведет к автоматическому изменению значений внешнего ключа в подчиненных записях) и "Каскадное удаление связанных записей" (удаление записи из главной таблицы приведет к автоматическому удалению всех связанных записей). Окно Изменение связи будет иметь вид как на рис. 2.3.

ПРАКТИКУМ В СУБД ACCESS

Рис. 2.3. Окно Изменение связей

Тип связи 1:1 между таблицами СВЕДЕНИЯ и УСПЕВАЕМОСТЬ определился автоматически, исходя из произведенного описания поля НОМ_ЗАЧ в этих таблицах.

в окне Изменение связей нажмите кнопку [Создать]. Из окна Изменение связей можно открыть с помощью кнопки [Объединение] окно Параметры объединения (см. рис. 2.4), в котором выбрать нужный способ объединения записей связываемых таблиц.

ПРАКТИКУМ В СУБД ACCESS

Рис. 2.4. Окно Параметры объединения

В рассматриваемом примере для всех таблиц принимается первый способ, задаваемый по умолчанию, и не требуется изменять параметры объединения.

 установите аналогично связь между таблицами УСПЕВАЕМОСТЬ и НАЧИСЛЕНИЯ по полю НОМ_ЗАЧ;

 измените связь между таблицами СПРАВОЧНИК и НАЧИСЛЕНИЯ - задайте требование обеспечения целостности данных и каскадные операции. Для этого выделите линию связи и введите команду

Связи/Изменить связь

В окне Изменение связей поставьте соответствующие флажки.

После установки связей между таблицами окно Схема данных будет иметь вид как на рис. 2.5.

ПРАКТИКУМ В СУБД ACCESS

Рис. 2.5. Окно Схема данных с изображением связи между таблицами

закройте окно Схема данных.

2.4. Заполнение таблиц

Задание 2.7. Заполнить таблицу СВЕДЕНИЯ данными, приведенными в табл. 2.1.

Выполнение задания

Откройте таблицу СВЕДЕНИЯ в режиме таблицы.

Примечание. Открытие таблицы из окна базы данных производится с помощью кнопки [Открыть] или двойным щелчком по значку таблицы, а из окна Конструктора таблицы - по команде Вид/Режим таблицы или щелчком по кнопке ПРАКТИКУМ В СУБД ACCESS (Вид) панели инструментов.

Введите записи таблицы.

В числовые и текстовые поля НОМ_ЗАЧ, ФАМ, ИМЯ, ОТЧ, СЕМ_ПОЛ, ЧТО_ОКОН, ТЕЛ, а также поле ДАТ_РОЖ типа Дата/время введите значения с клавиатуры.

Примечание. Процесс ввода числовых, текстовых данных и данных типа Дата/время можно ускорить, если повторяющиеся значения в полях не набирать на клавиатуре, а вводить их из предыдущей записи нажатием комбинации CTRL-"(кавычка).

В логическом поле ОБУЧ поставьте флажок только для студентов, обучающихся платно.

Для этих студентов в поле ПЛАТА создайте гиперссылку - ссылку на документ "Приказ", который хранится в файле на сервере локальной сети. Для этого:

 щелкните в поле ПЛАТА и введите команду Вставка/Гиперссылка;

 в окне Добавление гиперссылки в поле "Текст:" введите Приказ и нажмите кнопку [Файл];

 в окне Связать с файлом через папку Сетевое окружение выберите файл с документом "Приказ" на сервере (путь к нему узнайте у преподавателя) и нажмите [ОК];

 в окне Добавление гиперссылки нажмите [ОК].

В поле ПОДП, которое является полем объекта OLE, создайте точечный рисунок - образец подписи. Для этого:

 щелкните в поле ПОДП и введите команду

Вставка/Объект

в окне Вставка объекта оставьте переключатель в положении Создать новый, из списка "Тип объекта" выберите Точечный рисунок и нажмите [ОК]. Загрузится графический редактор Paint;

 изобразите с помощью инструмента Карандаш подпись студента и закройте окно Paint.

По завершении заполнения таблицы закройте ее окно.

Задание 2.8. Заполнить таблицу УСПЕВАЕМОСТЬ данными, приведенными в табл. 2.3.

Выполнение задания

Откройте таблицу УСПЕВАЕМОСТЬ в режиме таблицы и заполните ее данными согласно табл. 2.3. После ввода всех данных закройте окно таблицы.

Задание 2.9. Заполнить таблицу СПРАВОЧНИК данными, приведенными в табл. 2.5.

Выполнение задания

Откройте таблицу СПРАВОЧНИК в режиме таблицы и заполните ее данными согласно табл. 2.5. После ввода всех данных закройте окно таблицы.

Задание 2.10. Заполнить таблицу НАЧИСЛЕНИЯ данными, приведенными в табл. 2.7.

Выполнение задания

Откройте таблицу НАЧИСЛЕНИЯ в режиме таблицы и заполните ее данными согласно табл. 2.7. После ввода всех данных закройте окно таблицы.

2.5. Корректировка базы данных

Задание 2.11. Заменить в базе данных СТУДЕНТЫ номер зачетной книжки студента Гиля Павла Ивановича 200300 на 200301.

Выполнение задания

Поскольку при установке связи между таблицами в базе данных СТУДЕНТЫ была задана каскадная операция - Каскадное обновление связанных полей, то измените номер зачетной книжки 200300 на 200301 для студента Гиля Павла Ивановича в таблице СВЕДЕНИЯ. Для этого откройте ее в режиме таблицы и произведите замену номера зачетной книжки.

Затем закройте окно таблицы СВЕДЕНИЯ. Откройте таблицы УСПЕВАЕМОСТЬ и НАЧИСЛЕНИЯ и убедитесь, что в них тоже произведена замена номера зачетной книжки.

Задание 2.12. Добавить в таблицу СВЕДЕНИЯ и в таблицу УСПЕВАЕМОСТЬ запись со значением поля НОМ_ЗАЧ 200320. В качестве значений остальных полей ввести данные о себе.

Выполнение задания

Поскольку таблицы СВЕДЕНИЯ и УСПЕВАЕМОСТЬ связаны между собой с обеспечением целостности данных, то добавление данных необходимо вначале произвести в главной таблице СВЕДЕНИЯ, а затем в таблице УСПЕВАЕМОСТЬ.

Откройте таблицу СВЕДЕНИЯ в режиме таблицы. Щелкните в поле НОМ_ЗАЧ новой записи и введите значение 200320, а в последующие поля - данные о себе. Закройте таблицу СВЕДЕНИЯ.

Откройте таблицу УСПЕВАЕМОСТЬ в режиме таблицы. Щелкните в поле НОМ_ЗАЧ новой записи и введите значение 200320, а в последующие поля - данные о себе. Закройте таблицу УСПЕВАЕМОСТЬ.

Задание 2.13. Удалить из базы данных СТУДЕНТЫ сведения о себе.

Выполнение задания

Поскольку при установке связи между таблицами в базе данных СТУДЕНТЫ была задана каскадная операция - Каскадное удаление связанных записей, то достаточно произвести удаление записи с данными о себе только в главной таблице СВЕДЕНИЯ.

Откройте таблицу СВЕДЕНИЯ в режиме таблицы, сделайте текущей запись с номером зачетной книжки 200320 и введите команду

Правка/Удалить запись

Закройте таблицу СВЕДЕНИЯ. Откройте таблицу УСПЕВАЕМОСТЬ в режиме таблицы и убедитесь в том, что отсутствует запись с номером зачетной книжки 200320. Закройте таблицу УСПЕВАЕМОСТЬ.

2.6. Работа с таблицей

2.6.1. Корректировка структуры таблицы

Задание 2.14. В таблице СВЕДЕНИЯ поле ДАТ_РОЖ переименовать на ДАТ_РОЖД.

Выполнение задания

Откройте таблицу СВЕДЕНИЯ в режиме Конструктора и измените имя поля ДАТ_РОЖ на ДАТ_РОЖД.

Задание 2.15. В таблице СВЕДЕНИЯ изменить размер поля ФАМ с 15 на 17.

Выполнение задания

В окне Конструктора таблицы СВЕДЕНИЯ сделайте текущей строку с описанием поля ФАМ. Затем в разделе "Свойства поля" в строке "Размер поля" введите число 17.

Задание 2.16. В таблице СВЕДЕНИЯ поле ЧТО_ОКОН переместить на новое место - расположить перед полем СЕМ_ПОЛ.

Выполнение задания

В окне Конструктора таблицы СВЕДЕНИЯ выделите поле ЧТО_ОКОН, щелкнув слева от его имени в столбце маркировки поля. Затем установите указатель мыши в выделенной строке на столбец маркировки поля и, когда он превратится в белую стрелку, перетащите поле ЧТО_ОКОН на поле СЕМ_ПОЛ.

Задание 2.17. Из таблицы СВЕДЕНИЯ удалить поле ЧТО_ОКОН.

Выполнение задания

В окне Конструктора таблицы СВЕДЕНИЯ выделите поле ЧТО_ОКОН. Введите команду

Правка/Удалить

или нажмите клавишу Delete. Затем подтвердите удаление, нажав кнопку [Да] в окне сообщения.

Задание 2.18 . В таблицу СВЕДЕНИЯ вставить перед полем ДАТ_РОЖД новое поле с именем ПОЛ, у которого "Тип данных" - Текстовый, "Размер поля" - 3.

Выполнение задания

В окне Конструктора таблицы СВЕДЕНИЯ выделите строку поля ДАТ_РОЖД. Введите команду

Вставка/Строки

или нажмите клавишу Insert. Во вставленной пустой строке введите имя ПОЛ и выберите тип Текстовый, а в разделе "Свойства поля" задайте его размер 3. Затем закройте окно Конструктора таблицы.

2.6.2. Работа в режиме таблицы

Заполнение поля

Задание 2.19. Заполнить поле ПОЛ следующими значениями:

ПОЛ

ФАМИЛИЯ

муж

для

Гиль

муж

для

Брель

жен

для

Смаль

муж

для

Бас

муж

для

Рапин

муж

для

Перов

жен

для

Лис

жен

для

Жук

муж

для

Киров

жен

для

Ростова

Выполнение задания

Откройте таблицу СВЕДЕНИЯ в режиме таблицы и заполните поле ПОЛ приведенными в задании значениями.

Перемещение по записям

Задание 2.20. В таблице СВЕДЕНИЯ сделать текущей 9-ю запись.

Выполнение задания

Откройте таблицу СВЕДЕНИЯ. В окне таблицы имеются кнопки перехода по записям (см. рис. 2.6).

ПРАКТИКУМ В СУБД ACCESS

Рис. 2.6. Кнопки перехода по записям

В поле номера записи дважды щелкните мышью, после чего наберите 9 и нажмите клавишу Enter.

Примечание. Сделать текущей нужную запись можно также:

с помощью кнопок [Первая], [Предыдущая], [Следующая], [Последняя];

 прокрутить таблицу при помощи вертикальной полосы прокрутки, а затем щелкнуть на требуемой записи.

Поиск значений поля

Задание 2.21. В таблице СВЕДЕНИЯ в поле ФАМ найти фамилию Бас.

Выполнение задания

В окне таблицы СВЕДЕНИЯ выделите столбец ФАМИЛИЯ щелчком мыши по его заголовку и введите команду

Правка/Найти

Затем в окне Поиск и замена в поле "Образец" введите искомую фамилию, нажмите кнопку [Найти далее] и закройте это окно.

Замена значений поля

Задание 2.22. В таблице СВЕДЕНИЯ заменить в поле ОТЧ отчество Павлович на Иванович.

Выполнение задания

В окне таблицы СВЕДЕНИЯ выделите столбец ОТЧЕСТВО и введите команду

Правка/Заменить

В окне Поиск и замена в поле "Образец" введите Иванович, в поле "Заменить на:" - Павлович и нажмите кнопку [Заменить]. Затем закройте это окно.

Сортировка записей

Задание 2.23. Рассортировать записи таблицы СВЕДЕНИЯ в алфавитном порядке значений поля ФАМ.

Выполнение задания.

В окне таблицы СВЕДЕНИЯ выделите столбец ФАМИЛИЯ и введите команду

Записи/Сортировка/Сортировка по возрастанию

Отбор данных с помощью фильтров

Задание 2.24. Из таблицы СВЕДЕНИЯ отобрать сведения только о студентах мужского пола, воспользовавшись фильтром по выделенному фрагменту.

Выполнение задания

В окне таблицы СВЕДЕНИЯ в поле ПОЛ щелкните на любом значении муж и введите команду

Записи/Фильтр/Фильтр по выделенному

После просмотра результата фильтра отмените его с помощью команды Записи/Удалить фильтр

Задание 2.25. Из таблицы СВЕДЕНИЯ отобрать сведения только о семейных студентах, используя обычный фильтр. Затем отменить результат фильтра.

Выполнение задания

В окне таблицы СВЕДЕНИЯ введите команду

Записи/Фильтр/Изменить фильтр

Появится окно фильтра с двумя вкладками как на рис. 2.7.

ПРАКТИКУМ В СУБД ACCESS

Рис .2.7. Окно фильтра

Затем выполните следующее:

очистите бланк фильтра, введя команду

Правка/Очистить бланк

 щелкните в клетке столбца СЕМ_ПОЛ на вкладке Найти и из раскрывающегося списка выберите значение женат;

 перейдите на вкладку Или и из раскрывающегося списка в клетке столбца СЕМ_ПОЛ выберите значение замужем;

 введите команду

Фильтр/Применить фильтр

 отмените результат фильтра после его просмотра.

Задание 2.26. Из таблицы СВЕДЕНИЯ отобрать сведения только о студентках, обучающихся за плату. Сведения вывести в алфавитном порядке значений поля ФАМ. Воспользоваться расширенным фильтром.

Выполнение задания

В окне таблицы СВЕДЕНИЯ введите команду

Записи/Фильтр/Расширенный фильтр

Появится окно как на рис. 2.8.

ПРАКТИКУМ В СУБД ACCESS

Рис.2. 8. Окно расширенного фильтра

В верхней части этого окна находится список полей таблицы СВЕДЕНИЯ, а в нижней - бланк фильтра. В этом окне выполните следующее:

очистите бланк фильтра как в предыдущем задании;

 перетащите поочередно поля ФАМ, ИМЯ, ОТЧ, ПОЛ, ОБУЧ из списка полей таблицы в последовательные клетки строки "Поле" бланка фильтра;

 щелкните в клетке на пересечении столбца ФАМ и строки "Сортировка" и из раскрывающегося списка выберите порядок сортировки по возрастанию;

 введите значение жен в клетке на пересечении столбца ПОЛ и строки "Условие отбора";

 введите значение Да в клетке на пересечении столбца ОБУЧ и строки "Условие отбора";

 введите команду

Фильтр/Применить фильтр

 отмените результат фильтра.

Изменение вида таблицы

Задание 2.27. В таблице СВЕДЕНИЯ расширить столбец ИМЯ.

Выполнение задания

В окне таблицы СВЕДЕНИЯ задержите указатель мыши на правой границе названия столбца, чтобы указатель принял вид Ù |Ú после чего потяните мышью вправо до нужной ширины.

Задание 2.28. В таблице СВЕДЕНИЯ расположить столбец СЕМ_ПОЛ перед столбцом ДАТ_РОЖД.

Выполнение задания

В окне таблицы СВЕДЕНИЯ щелкните по названию столбца СЕМ_ПОЛ и перемещайте указатель мыши влево, пока перед столбцом ДАТ_РОЖД не появится "щель", после чего отпустите кнопку мыши.

Задание 2.29 . В таблице СВЕДЕНИЯ скрыть столбец НОМ_ЗАЧ, а затем отобразить его на экране.

Выполнение задания

В окне таблицы СВЕДЕНИЯ выделите столбец НОМ_ЗАЧ и введите команду

Формат/Скрыть столбцы.

Для отображения скрытого столбца НОМ_ЗАЧ введите команду

Формат/Показать столбцы

В окне Отображение столбцов установите флажок для поля НОМ_ЗАЧ и нажмите кнопку [Закрыть].

Задание 2.30. Изменить для таблицы СВЕДЕНИЯ по собственному усмотрению:

 тип шрифта, его размер, начертание, цвет;

 формат таблицы - оформление, цвета фона и линий сетки, вид линий.

Выполнение задания

Для установки параметров шрифта введите команду

Формат/Шрифт

Для изменения формата таблицы введите команду

Формат/Режим таблицы


3. КОНСТРУИРОВАНИЕ ЗАПРОСОВ

В этом разделе Вы освоите

конструирование запросов на выборку с различными критериями отбора данных

 конструирование запросов на выборку с вычислениями над полями базы данных, над группами записей с использованием статистических функций

 конструирование перекрестного запроса

 конструирование запросов на внесение изменений в базу





Вам необходимо знать

Запрос - это требование на извлечение данных из таблиц базы, на выполнение вычислений над данными, на внесение изменений в базу данных.

Запрос может служить источником данных для форм, отчетов и страниц доступа к данным.

СУБД Access позволяет создавать запросы трех типов: запросы на выборку, перекрестные запросы, запросы на внесение изменений в базу данных.

Запрос на выборку является наиболее часто используемым типом запроса. Его результатом является динамическая таблица, которая может быть просмотрена, проанализирована. Запрос на выборку дает возможность:

· включать в результирующую таблицу поля из одной или нескольких таблиц в нужном порядке;

· выбирать записи, удовлетворяющие условиям отбора;

· осуществлять вычисления над полями базы данных;

· группировать записи и находить для групп записей или для всех записей итоговые значения по некоторым полям с помощью статистических функций: Sum - сумма значений поля, Avg - среднее значений поля, Max - максимальное из значений поля, Min - минимальное из значений поля, Count - число значений поля и др.

Разновидностью запроса на выборку является запрос с параметрами - это запрос, который при выполнении отображает в собственном диалоговом окне приглашение ввести интересующее пользователя значение критерия отбора записей.

Перекрестный запрос представляет собой специальный запрос итогового типа. Он отображает результаты итоговых статистических расчетов над значениями некоторого поля в виде перекрестной таблицы. В ней значения одного или нескольких столбцов слева образуют заголовки строк. Заголовки столбцов представляют собой значения определенного поля, а на пересечении строк и столбцов находятся итоговые значения.

Существует четыре типа запросов на внесение изменений в базу данных:

1) запрос на удаление - удаляет группу записей из одной таблицы или нескольких взаимосвязанных таблиц базы данных, для которых задано каскадное удаление связанных записей;

2) запрос на обновление - служит для изменения значений полей таблицы;

3) запрос на добавление - производит добавление записей из одной таблицы в другую таблицу;

4) запрос на создание таблицы - создает новую таблицу на основе всех или части данных из одной или нескольких таблиц базы данных.

СУБД Access позволяет создавать запросы с помощью Мастеров и с помощью Конструктора. Мастера используются для создания определенных запросов. С помощью Конструктора можно создать любой запрос.

3.1. Запросы на выборку

Задание 3.1. Выбрать из базы данных сведения об экзаменационных оценках студентов. В результирующей таблице запроса записи рассортировать в алфавитном порядке значений поля ФАМ.

Результирующая таблица запроса должна иметь следующую структуру:

| НОМ_ЗАЧ | ФАМ | ИМЯ | ОТЧ | ГРУП | СЕМЕСТР | ОЦ_МАТЕМ | ОЦ_ИНФ | ОЦ_ЭКОН |

Запрос сохранить с именем ОЦЕНКИ.

Выполнение задания

Откройте окно Конструктора запроса, произведя действия:

окно База данных Þ объект Запросы Þ [Создать] Þ

окно Новый запрос Þ выбрать Конструктор Þ [ОК] Þ

окно Добавление таблицы Þ выбрать таблицу СВЕДЕНИЯ Þ [Добавить] Þ выбрать таблицу УСПЕВАЕМОСТЬ Þ [Добавить] Þ [Закрыть].

Появится окно как на рис. 3.1.

ПРАКТИКУМ В СУБД ACCESS

Рис. 3.1. Окно Конструктора запроса

Затем выполните следующее:

 в окне Конструктора запроса перетащите поле НОМ_ЗАЧ из списка полей таблицы СВЕДЕНИЯ в первую клетку строки "Поле", а затем поочередно перетащите остальные поля, входящие в результирующую таблицу запроса, в последующие клетки этой строки;

Примечание. В клетках строки "Поле" можно задавать нужные поля еще и такими способами:

 выполнив двойной щелчок по полю в списке полей таблицы;

 выбрав поле из раскрывающегося списка после щелчка в клетке строки "Поле".

 щелкните в строке "Сортировка" для поля ФАМ и из раскрывающегося списка выберите порядок сортировки по возрастанию;

 установите (если не установлены) флажки "Вывод на экран" для всех полей;

 выполните запрос по команде

Запрос/Запуск

или с помощью кнопки ПРАКТИКУМ В СУБД ACCESS (Запуск). Результат запроса представлен в окне запроса на рис. 3.2.

ПРАКТИКУМ В СУБД ACCESS

Рис. 3.2. Результат выполнения запроса ОЦЕНКИ

Примечание. Если не получен ожидаемый результат запроса, то следует вернуться в режим Конструктора по команде Вид/Конструктор и внести изменения в запрос.

 сохраните запрос с именем ОЦЕНКИ по команде

Файл/Сохранить

или закрыв окно запроса.

Задание 3.2. Выбрать из базы данных сведения об экзаменационных оценках студентов группы ФН.

Результирующая таблица запроса должна иметь следующую структуру:

| ФАМ | ИМЯ| ОТЧ | ГРУП | СЕМЕСТР | ОЦ_МАТЕМ | ОЦ_ИНФ | ОЦ_ЭКОН |

Запрос сохранить с именем ОЦЕНКИ ФН.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицы СВЕДЕНИЯ и УСПЕВАЕМОСТЬ, и выполните следующие действия:

 задайте поля, входящие в результирующую таблицу запроса, в строке "Поле" и их вывод на экран в строке "Вывод на экран";

наберите ФН в строке "Условие отбора" для поля ГРУП;

 выполните запрос;

сохраните запрос с именем ОЦЕНКИ ФН.

Задание 3.3. Выбрать из базы данных сведения о студентах, которые имеют телефон. Результирующая таблица запроса должна иметь следующую структуру:

| ФАМ | ИМЯ | ОТЧ | ТЕЛ |

Запрос сохранить с именем ТЕЛЕФОНЫ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицу СВЕДЕНИЯ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке "Поле" и их вывод на экран;

 наберите <>0 в строке "Условие отбора" для поля ТЕЛ;

выполните запрос;

 сохраните запрос с именем ТЕЛЕФОНЫ.

Задание 3.4. Выбрать из базы данных сведения о студентах, фамилии которых начинаются с буквы Р.

Результирующая таблица запроса должна иметь следующую структуру:

| ФАМ | ИМЯ | ОТЧ | НОМ_ЗАЧ |

Запрос сохранить с именем ФАМИЛИЯ Р.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицу СВЕДЕНИЯ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке "Поле" и их вывод на экран;

наберите Р* в строке "Условие отбора" для поля ФАМ;

 выполните запрос;

 сохраните запрос с именем ФАМИЛИЯ Р.

Задание 3.5. Выбрать из базы данных сведения о студентах группы ФН, обучающихся за счет средств госбюджета.

Результирующая таблица запроса должна иметь следующую структуру:

|ФАМ | ИМЯ | ОТЧ | ГРУП | ОБУЧ|

Запрос сохранить с именем ГОСБЮДЖЕТНИКИ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицы СВЕДЕНИЯ и УСПЕВАЕМОСТЬ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке "Поле" и их вывод на экран;

 наберите ФН в строке "Условие отбора" для поля ГРУП;

 наберите Нет в строке "Условие отбора" для поля ОБУЧ;

выполните запрос;

 сохраните запрос с именем ГОСБЮДЖЕТНИКИ.

Задание 3.6. Выбрать из базы данных сведения о студентах, получивших оценку 4 или 5 на экзамене по математике.

Результирующая таблица запроса должна иметь следующую структуру:

| ФАМ | ИМЯ | ОТЧ | ГРУП | СЕМЕСТР | ОЦ_МАТЕМ |

Запрос сохранить с именем МАТЕМАТИКА 4-5.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицы СВЕДЕНИЯ и УСПЕВАЕМОСТЬ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке "Поле" и их вывод на экран;

наберите 4 в строке "Условие отбора" для поля ОЦ_МАТЕМ и наберите 5 в строке "Или" для этого поля;

Примечание. Условие отбора можно задать логическим выражением 4 OR 5 либо с помощью специального оператора IN(4,5) в строке "Условие отбора", а строку "Или" оставить пустой.

 выполните запрос;

 сохраните запрос с именем МАТЕМАТИКА 4-5.

Задание 3.7. Выбрать из базы данных сведения о студентах 1984 года рождения. Результирующая таблица запроса должна иметь следующую структуру:

| ФАМ | ИМЯ | ОТЧ | ДАТ_РОЖД |

Запрос сохранить с именем СТУДЕНТЫ 1984.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицу СВЕДЕНИЯ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке "Поле" и их вывод на экран;

 наберите логическое выражение >=01.01.84 AND <=31.12.84 в строке "Условие отбора" для поля ДАТ_РОЖД;

Примечание. Условие отбора можно задать также логическим выражением с использованием специального оператора BETWEEN, имеющим вид:

BETWEEN 01.01.84 AND 31.12.84

 выполните запрос;

 сохраните запрос с именем СТУДЕНТЫ 1984.

Задание 3.8. Рассчитать средний балл (СР_БАЛЛ) каждого студента. Результирующая таблица запроса должна иметь следующую структуру:

НОМ_ЗАЧ | ФАМ | ИМЯ | ОТЧ | ГРУП | СЕМЕСТР | ОЦ_МАТЕМ | ОЦ_ИНФ | ОЦ_ЭКОН | СР_БАЛЛ

Запрос сохранить с именем СРЕДНИЙ БАЛЛ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицы СВЕДЕНИЯ и УСПЕВАЕМОСТЬ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, за исключением поля СР_БАЛЛ, в строке "Поле" и их вывод на экран;

 создайте вычисляемое поле СР_БАЛЛ с помощью Построителя выражений. Для этого сохраните запрос по команде

Файл/Сохранить

Затем щелкните в первой пустой клетке строки "Поле" и вызовите Построитель выражений щелчком по кнопке ПРАКТИКУМ В СУБД ACCESS (Построить). В окне Построитель выражений задайте имя создаваемого поля с двоеточием и выражение для расчета значений поля как это показано на рис. 3.3.

ПРАКТИКУМ В СУБД ACCESS

Рис. 3.3. Окно Построителя выражений

При этом наберите на клавиатуре текст СР_БАЛЛ:, добавьте знаки (, +, /, ) в выражение с помощью соответствующих кнопок окна Построителя, вставьте имена полей в выражение с помощью кнопки [Вставить] этого окна, наберите число 3 на клавиатуре.

Примечание. Вычисляемое поле можно создать также, набрав на клавиатуре

СР_БАЛЛ: ([ОЦ_МАТЕМ]+[ОЦ_ИНФ]+[ОЦ_ЭКОН])/3

При этом для удобства набора рекомендуется прежде вызвать окно Область ввода нажатием комбинации клавиш Shift-F2.

выполните запрос;

 чтобы значение среднего балла выводилось с одним знаком после запятой, вернитесь в окно Конструктора, вызовите для поля СР_БАЛЛ окно свойств щелчком правой клавиши мыши и установите свойства как на рис. 3.4.

ПРАКТИКУМ В СУБД ACCESS

Рис. 3.4. Окно свойств поля

выполните запрос.

Задание 3.9. Выбрать из базы данных сведения о трех студентах с максимальным средним баллом.

Результирующая таблица запроса должна иметь следующую структуру:

НОМ_ЗАЧ | ФАМ | ИМЯ | ОТЧ | ГРУП | СЕМЕСТР | ОЦ_МАТЕМ | ОЦ_ИНФ | ОЦ_ЭКОН | СР_БАЛЛ

Запрос сохранить с именем МАКС СРЕДНИЙ БАЛЛ.

Выполнение задания

Откройте запрос СРЕДНИЙ БАЛЛ в режиме Конструктора и выполните следующие действия:

задайте сортировку по убыванию по полю СР_БАЛЛ;

 введите значение 3 в поле раскрывающегося списка ПРАКТИКУМ В СУБД ACCESS (Набор значений) на панели Конструктор запросов;

 выполните запрос;

 сохраните запрос с именем МАКС СРЕДНИЙ БАЛЛ по команде

Файл/Сохранить как

Задание 3.10. Рассчитать для каждой группы средний балл по каждой из трех дисциплин.

Результирующая таблица запроса должна иметь следующую структуру:

| ГРУП | СР_МАТЕМ | СР_ИНФ | СР_ЭКОН |

Запрос сохранить с именем РЕЙТИНГ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицу УСПЕВАЕМОСТЬ, и выполните следующие действия:

задайте поля ГРУП, ОЦ_МАТЕМ, ОЦ_ИНФ, ОЦ_ЭКОН в строке "Поле" и их вывод на экран;

введите команду

Вид/Групповые операции

или нажмите кнопку ПРАКТИКУМ В СУБД ACCESS (Групповые операции). В бланке запроса появится новая строка "Групповые операции". В этой строке для поля ГРУП оставьте значение Группировка, а для остальных полей выберите из раскрывающегося списка статистическую функцию Avg;

чтобы в результирующей таблице запроса имена полей отображались такими как в задании, в строке "Поле" перед каждым именем поля введите новое имя с двоеточием как на рис. 3.5.

ПРАКТИКУМ В СУБД ACCESS

Рис. 3.5. Бланк запроса для запроса РЕЙТИНГ

 чтобы значения средних баллов выводились с одним знаком после запятой, вызовите для каждого из полей СР_МАТЕМ, СР_ИНФ, СР_ЭКОН окно свойств и установите свойства как на рис. 3.4;

выполните запрос;

 сохраните запрос с именем РЕЙТИНГ.

Задание 3.11. Вывести из базы данных сведения о студентах, получивших на экзамене по экономической теории оценку, указываемую пользователем. Результирующая таблица запроса должна иметь следующую структуру:

| ФАМ | ИМЯ | ОТЧ | ГРУП | СЕМЕСТР | ОЦ_ЭКОН |

Параметрический запрос сохранить с именем ОЦЕНКИ ЭКОН ТЕОРИИ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицы СВЕДЕНИЯ и УСПЕВАЕМОСТЬ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке "Поле" и их вывод на экран;

 наберите текст в квадратных скобках [Введите интересующую Вас оценку по экономической теории] в строке "Условие отбора" для поля ОЦ_ЭКОН. Этот текст будет в качестве приглашения отображаться в окне Введите значение параметра при выполнении запроса;

выполните запрос и в появившемся окне введите любую оценку по экономической теории. Сделайте это несколько раз;

сохраните запрос с именем ОЦЕНКИ ЭКОН ТЕОРИИ.

Задание 3.12. Сформировать запрос на вывод данных о начислениях студентам. В результирующей таблице запроса должны быть представлены и те студенты, которым начисления не произведены.

Результирующая таблица запроса должна иметь следующую структуру:

| НОМ_ЗАЧ | ФАМ | ИМЯ | ОТЧ | КОД_НАЧ | СУММА | ЗА_МЕСЯЦ |

Запрос сохранить с именем О НАЧИСЛЕНИЯХ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицы СВЕДЕНИЯ и НАЧИСЛЕНИЯ, и выполните следующие действия:

 задайте поля, входящие в результирующую таблицу запроса, в строке "Поле" и их вывод на экран;

 выделите линию объединения таблиц в схеме данных, вызовите для нее контекстное меню и из него выберите Параметры объединения. В появившемся окне Параметры объединения установите переключатель в положение Объединение ВСЕХ записей из "Сведения" и только тех записей из "Начисления", в которых связанные поля совпадают. Вид этого окна представлен на рис. 3.6.

ПРАКТИКУМ В СУБД ACCESS

Рис. 3.6. Окно Параметры объединения

выполните запрос;

охраните запрос с именем О НАЧИСЛЕНИЯХ.

Задание 3.13. Сформировать запрос на вывод сведений о студентах, у которых начисления отсутствуют.

Результирующая таблица запроса должна иметь следующую структуру:

| НОМ_ЗАЧ | ФАМ | ИМЯ | ОТЧ | КОД_НАЧ |

Запрос сохранить с именем БЕЗ НАЧИСЛЕНИЙ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицы СВЕДЕНИЯ и НАЧИСЛЕНИЯ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке "Поле" и их вывод на экран;

 выделите линию объединения таблиц в схеме данных и выберите из контекстного меню Параметры объединения. В появившемся окне Параметры объединения установите переключатель в положение 2;

 наберите Is Null в строке "Условие отбора" для поля КОД_НАЧ;

выполните запрос;

 сохраните запрос с именем БЕЗ НАЧИСЛЕНИЙ.

3.2. Перекрестный запрос

Задание 3.14. Вывести произведенные студентам начисления по их видам за июнь. В результирующей таблице запроса в качестве заголовков строк должны быть значения полей ГРУП, ФАМ, ИМЯ, ОТЧ, ЗА_МЕСЯЦ; в качестве заголовков столбцов - значения поля ВИД_НАЧ; в качестве значений - начисленные суммы.

Запрос сохранить с именем НАЧИСЛЕНО ИЮНЬ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицы СВЕДЕНИЯ, УСПЕВАЕМОСТЬ, СПРАВОЧНИК и НАЧИСЛЕНИЯ, и выполните следующие действия:

задайте поля ГРУП, ФАМ, ИМЯ, ОТЧ, ЗА_МЕСЯЦ, ВИД_НАЧ, СУММА в строке "Поле" и их вывод на экран;

 введите команду

Запрос/Перекрестный

В бланке запроса появятся новые строки "Групповая операция" и "Перекрестная таблица";

выберите в строке "Перекрестная таблица" из раскрывающегося списка для полей ГРУП, ФАМ, ИМЯ, ОТЧ, ЗА_МЕСЯЦ значение Заголовки строк, для поля ВИД_НАЧ - значение Заголовки столбцов, для поля СУММА - Значение.

 выберите статистическую функцию Sum в строке "Групповая операция" для поля СУММА, а для остальных полей в этой строке оставьте значение Группировка;

 наберите июнь в строке "Условие отбора" для поля ЗА_МЕСЯЦ. В результате окно Конструктора запроса будет иметь вид как на рис. 3.7.

ПРАКТИКУМ В СУБД ACCESS

Рис. 3.7. Окно Конструктора перекрестного запроса

выполните запрос;

 охраните запрос с именем НАЧИСЛЕНО ИЮНЬ.

3.3. Запросы на внесение изменений в базу данных

Задание 3.15. Изменить в таблице УСПЕВАЕМОСТЬ шифр группы ФН на ФК-1. Запрос сохранить с именем НОВЫЙ ШИФР ГРУППЫ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицу УСПЕВАЕМОСТЬ, и выполните следующие действия:

задайте поле ГРУП в строке "Поле";

введите команду

Запрос/Обновление

В бланке запроса появится новая строка "Обновление";

 наберите ФК-1 в строке "Обновление" для поля ГРУП;

 наберите ФН в строке "Условие отбора" для этого поля;

 выполните запрос и подтвердите обновление записей;

 сохраните запрос с именем НОВЫЙ ШИФР ГРУППЫ;

 просмотрите таблицу УСПЕВАЕМОСТЬ.

Задание 3.16. Создать в базе данных новую таблицу с именем ПЛАТНИКИ, содержащую сведения о студентах, обучающихся за плату. Структура таблицы ПЛАТНИКИ должна совпадать со структурой таблицы СВЕДЕНИЯ.

Запрос сохранить с именем ЗА ПЛАТУ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицу СВЕДЕНИЯ, и выполните следующие действия:

щелкните дважды по заголовку списка полей таблицы СВЕДЕНИЯ и перетащите выделенные поля в первую клетку строки "Поле";

 наберите Да в строке "Условие отбора" для поля ОБУЧ;

 выполните запрос и убедитесь в корректности результата, после чего вернитесь в режим Конструктора;

введите команду

Запрос/Создание таблицы

введите имя создаваемой таблицы ПЛАТНИКИ в появившемся окне Создание таблицы;

 выполните запрос и подтвердите создание новой таблицы;

 сохраните запрос с именем ЗА ПЛАТУ;

 убедитесь в наличии новой таблицы ПЛАТНИКИ.

Задание 3.17. Пополнить таблицу ПЛАТНИКИ сведениями о студентах с номерами зачеток 200302 и 200309 из таблицы СВЕДЕНИЯ.

Запрос сохранить с именем К ПЛАТНИКАМ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицу СВЕДЕНИЯ, и выполните следующие действия:

щелкните дважды по заголовку списка полей таблицы СВЕДЕНИЯ и перетащите выделенные поля в первую клетку строки "Поле";

 наберите 200302 в строке "Условие отбора" и наберите 200309 в строке "Или" для поля НОМ_ЗАЧ;

 выполните запрос и убедитесь в корректности результата, после чего вернитесь в режим Конструктора;

введите команду

Запрос/Добавление

выберите из раскрывающегося списка имя пополняемой таблицы ПЛАТНИКИ в появившемся окне Добавление;

 выполните запрос и подтвердите добавление записей;

 сохраните запрос с именем К ПЛАТНИКАМ;

 просмотрите таблицу ПЛАТНИКИ.

Задание 3.18. Удалить из таблицы ПЛАТНИКИ сведения о студенте с номером зачетки 200310.

Запрос сохранить с именем ИЗ ПЛАТНИКОВ.

Выполнение задания

Откройте окно Конструктора запроса, добавив в окне Добавление таблицы таблицу ПЛАТНИКИ, и выполните следующие действия:

щелкните дважды по заголовку списка полей таблицы ПЛАТНИКИ и перетащите выделенные поля в первую клетку строки "Поле";

 наберите 200310 в строке "Условие отбора" для поля НОМ_ЗАЧ;

 выполните запрос и убедитесь в корректности результата, после чего вернитесь в режим Конструктора;

 введите команду

Запрос/Удаление

 выполните запрос и подтвердите удаление записей;

 сохраните запрос с именем ИЗ ПЛАТНИКОВ;

 просмотрите таблицу ПЛАТНИКИ.

4. КОНСТРУИРОВАНИЕ ФОРМ

В этом разделе Вы освоите

 конструирование формы с различными элементами оформления и элементами управления: полем, полем со списком, списком, вкладками, диаграммой

 создание в форме вычисляемого поля

 конструирование составной формы

 работу с данными по форме

Вам необходимо знать

Форма - это шаблон на экране, используемый, главным образом, для ввода, просмотра и редактирования записей.

Форма в случае ввода представляет бланк, подлежащий заполнению, и дает возможность осуществить контроль вводимых данных. Бланк-форма упрощает процесс заполнения базы данными, благодаря чему в базу может вводить информацию пользователь невысокой квалификации. Форма в случае просмотра и редактирования представляет маску, накладываемую на набор данных. Она позволяет ограничить доступ пользователя к информации в базе, заблокировав отдельные поля или записи.

Формы существуют простые и составные. Составной формой называется форма, включающая другие формы. Формы могут содержать различные элементы управления: надписи, поля, списки, раскрывающиеся списки, флажки, переключатели, кнопки, рисунки, вкладки, линии и др. В них возможны вычисления для отдельных записей и их групп, а также наглядное представление данных в виде диаграмм.

СУБД Access предоставляет большие возможности по оформлению форм - шрифты, фон, цвет и др.

Форму можно создать на основе таблицы или запроса. На основе одной таблицы или запроса можно построить несколько форм.

Существует три способа создания формы: автоматически, с помощью Мастера, с помощью Конструктора. В автоматическом режиме на основе выбранной таблицы автоматически создается одна из форм: в столбец (поля располагаются в столбец), ленточная (поля располагаются в строку), табличная (поля представлены в виде таблицы). Мастер форм руководит процессом создания форы. Он задает пользователю вопросы о структуре и оформлении формы, предлагая на выбор несколько вариантов. В результате диалога пользователя и Мастера появляется "готовая к употреблению" форма. Конструктор форм предоставляет пользователю набор инструментов, с помощью которого пользователь может создать форму соответственно своим вкусам и требованиям.

Задание 4.1. Сконструировать форму с именем СВЕДЕНИЯ О СТУДЕНТЕ на основе таблицы СВЕДЕНИЯ вида как на рис. 4.1.

ПРАКТИКУМ В СУБД ACCESS

Рис.4.1. Форма СВЕДЕНИЯ О СТУДЕНТЕ

Выполнение задания

Для создания формы с помощью Конструктора откройте окно Конструктора формы, выполнив последовательность действий:

окно База данных Þ объект Формы Þ [Создать] Þ

окно Новая форма Þ выбрать Конструктор и выбрать из раскрывающегося списка источник данных - таблицу СВЕДЕНИЯ Þ [OK].

Затем выполните следующие действия:

включите (если не включены) по команде Вид необходимые инструментальные средства для конструирования:

 панель Конструктор форм;

 панель элементов;

 панель Формат (форма/отчет);

 разделы Заголовок /Примечание формы;

 список полей;

 линейку;

 сетку;

расширьте разделы окна Конструктора до ширины экрана, перетащив правую границу любого раздела до вертикальной полосы прокрутки;

Примечание. Изменить высоту разделов можно, перетащив нижнюю границу раздела вверх или вниз.

перетащите из списка полей поле НОМ_ЗАЧ в раздел "Область данных". В результате появятся два прямоугольника - надпись и поле, как на рис. 4.2.

ПРАКТИКУМ В СУБД ACCESS

Рис. 4.2. Связанный элемент управления НОМ_ЗАЧ

Надпись и поле можно перемещать одновременно или раздельно. Для раздельного перемещения надписи, поля служат маркеры перемещения. Если необходимо выполнить раздельное перемещение, то указатель мыши устанавливается на маркер и, когда указатель принимает изображение руки с вытянутым указательным пальцем, производят перемещение. Для одновременного перемещения надписи и поля указатель мыши устанавливается на границу выделенной надписи или выделенного поля и, когда он принимает вид раскрытой ладони, производят перетаскивание. Для удаления надписи осуществляют ее выделение и нажимают клавишу Delete; для удаления поля с надписью выделяют поле и нажимают клавишу Delete;

перетащите остальные поля из списка полей в раздел "Область данных" и расположите их как в форме, приведенной в задании;

 введите текст заголовка СВЕДЕНИЯ О СТУДЕНТЕ в раздел "Заголовок формы" и текст примечания Сведения о студенте введены в базу данных на основании карточки студента в раздел "Примечание формы" с помощью кнопки ПРАКТИКУМ В СУБД ACCESS (Надпись) панели элементов.

Текст относится к несвязанным элементам управления. Ввод в форму несвязанного элемента управления осуществляется так: на панели элементов производится щелчок по кнопке нужного элемента управления, а затем щелчок в том разделе, где требуется разместить этот элемент. В результате появится текстовый курсор и можно набирать текст. Если введенный текст отобразится не полностью, то необходимо изменить размер надписи с помощью маркеров размера;

введите дату по команде

Вставка/Дата и время

В появившемся окне укажите формат даты согласно виду даты в форме, приведенной в задании. Соответствующий элемент управления отобразится в активном разделе "Заголовок формы";

 введите рисунок, щелкнув по кнопке ПРАКТИКУМ В СУБД ACCESS (Рисунок) панели элементов, а затем в разделе "Заголовок формы". Появится окно Выбор рисунка, в котором необходимо найти папку Clipart (путь к этой папке определите, осуществив ее поиск средствами Windows). В ней выберите имя графического файла Bs02064, а при отсутствии такого - любое имя по своему желанию. Подберите соответствующий размер рисунка. С целью полного отображения рисунка впишите его в рамку. Для этого вызовите окно свойств рисунка и задайте значение свойства "Установка размеров" - Вписать в рамку. Пример окна свойств рисунка приведен на рис.4.3.

ПРАКТИКУМ В СУБД ACCESS

Рис.4.3. Окно свойств рисунка

заключите в рамку поля ОБУЧ, ПЛАТА и их надписи для лучшей наглядности формы. Для этого щелкните по кнопке ПРАКТИКУМ В СУБД ACCESS (Прямоугольник) панели элементов, а затем очертите рамку вокруг полей и их надписей;

разделите линией поля формы для лучшей ее наглядности как на рис. 4.1. Для этого щелкните по кнопке ПРАКТИКУМ В СУБД ACCESS (Линия) панели элементов, а затем протяните линию при нажатой клавише Shift. Тогда линия получится ровной;

 для просмотра сконструированной формы перейдите в режим формы по команде

Вид/Режим формы

или нажав кнопку ПРАКТИКУМ В СУБД ACCESS (Вид). Если вид формы не соответствуют виду, приведенному в задании, то вернитесь в Конструктор по команде

Вид/Конструктор

и внесите необходимые изменения;

сохраните форму с именем СВЕДЕНИЯ О СТУДЕНТЕ по команде

Файл/Сохранить

или закрыв окно формы.

Примечание. В процессе конструирования формы рекомендуется:

время от времени переходить из режима Конструктора в режим формы для оценки реального вида конструируемой формы;

 регулярно сохранять форму во избежание потери результатов конструирования из-за сбоев.

Задание 4.2. По форме СВЕДЕНИЯ О СТУДЕНТЕ осуществить:

просмотр сведений о каждом студенте;

редактирование данных - изменение фамилии Рапин на "Репин";

ввод сведений о себе;

удаление сведений о себе.

Выполнение задания

Для работы по форме СВЕДЕНИЯ О СТУДЕНТЕ откройте ее из окна базы данных двойным щелчком по значку формы или с помощью кнопки [Открыть], а затем выполните следующие действия:

просмотрите сведения о каждом студенте, пользуясь кнопками перехода по записям;

 сделайте текущей запись со сведениями о студенте Рапине Иване Ильиче и в поле ФАМ замените значение на Репин;

 отобразите пустую запись, пользуясь кнопкой перехода ПРАКТИКУМ В СУБД ACCESS, и введите в ее поля сведения о себе. Создание образца своей подписи и при необходимости гиперссылки в поле ПЛАТА произведите аналогично тому, как это делалось при заполнении таблицы СВЕДЕНИЯ;

 закройте окно формы. Откройте таблицу СВЕДЕНИЯ и убедитесь, что внесенные по форме изменения отобразились в таблице;

 откройте форму СВЕДЕНИЯ О СТУДЕНТЕ, сделайте текущей запись со сведениями о себе, выделите ее щелчком по кнопке маркировки записи (расположена слева от полей) и введите команду

Правка/Удалить запись

Задание 4.3. Модифицировать форму СВЕДЕНИЯ О СТУДЕНТЕ, сделав:

поле НОМ_ЗАЧ полем со списком с целью поиска записи в форме по значению номера зачетной книжки;

поле ПОЛ - списком из двух значений "муж" и "жен" с целью выбора (а не ввода с клавиатуры) этих значений при добавлении данных по форме;

различное цветовое оформление для разделов формы.

Форму сохранить с именем СВЕДЕНИЯ О СТУДЕНТЕ1.

Выполнение задания

Откройте из окна базы данных форму СВЕДЕНИЯ О СТУДЕНТЕ в режиме Конструктора, нажав кнопку [Конструктор], а затем выполните следующие действия:

сохраните форму с именем СВЕДЕНИЯ О СТУДЕНТЕ1 по команде

Файл/Сохранить как

 удалите надпись и поле НОМ_ЗАЧ;

 создайте это поле как поле со списком. Для этого включите (если не включен) режим работы мастеров, нажав кнопку ПРАКТИКУМ В СУБД ACCESS (Мастера) панели элементов. Загрузите Мастер создания полей со списком: щелкните по кнопке ПРАКТИКУМ В СУБД ACCESS (Поле со списком) панели элементов (указатель мыши примет другой вид), а затем в Области данных перед полем ФАМ. Тогда:

в 1-м окне Мастера переключатель поставьте в положение Поиск записи в форме на основе значения, которое содержит поле со списком Þ [Далее];

во 2-м окне из списка "Доступные поля" выберите поле НОМ_ЗАЧ и перенесите его в область "Выбранные поля" при помощи кнопки ПРАКТИКУМ В СУБД ACCESSÞ [Далее];

в 3-м окне задайте ширину столбца НОМ_ЗАЧ Þ [Далее];

в 4-м окне оставьте предложенную подпись НОМ_ЗАЧ для созданного поля со списком Þ [Готово];

удалите надпись и поле ПОЛ;

создайте это поле как список. Загрузите Мастер создания списка: щелкните по кнопке ПРАКТИКУМ В СУБД ACCESS (Список) панели элементов, а затем в Области данных перед полем ДАТ_РОЖД. Тогда:

в 1-м окне Мастера переключатель поставьте в положение Будет введен фиксированный набор значений Þ [Далее];

 во 2-м окне в клетке столбца Столбец1 введите жен, в последующей клетке введите муж Þ [Далее];

 в 3-м окне из раскрывающегося списка "Сохранить в поле" выберите поле ПОЛ Þ [Далее];

 в 4-м окне введите надпись поля-списка ПОЛ Þ [Готово];

уменьшите высоту поля-списка ПОЛ до высоты его надписи;

 произведите различное цветовое оформление разделов формы. Для этого активизируйте раздел щелчком по его заголовку, раскройте список "Цвет заливки/фона" на панели Формат (форма/отчет) и выберите цвет фона;

 перейдите в режим формы. Убедитесь, что поле ПОЛ представлено списком из двух значений. Пользуясь полем со списком НОМ_ЗАЧ, найдите сведения о студенте с номером зачетной книжки 200307, после чего закройте форму.

Задание 4.4. Сконструировать форму с вкладками Студент и Успеваемость на основе запроса ОЦЕНКИ. На вкладке Студент разместить поля ФАМ, ИМЯ, ОТЧ, ГРУП. На вкладке Успеваемость расположить поля НОМ_ЗАЧ, ОЦ_МАТЕМ, ОЦ_ИНФ, ОЦ_ЭКОН и вычисляемое поле СРЕДНИЙ_БАЛЛ.

Форму сохранить с именем ОЦЕНКИ СТУДЕНТА.

Выполнение задания

Откройте окно Конструктора формы, указав в качестве источника данных запрос ОЦЕНКИ. Затем выполните следующие действия:

настройте окно Конструктора для работы - включите (если не включены) панель Конструктор форм, панель элементов, панель Формат (форма/отчет), список полей, линейку и расширьте разделы до ширины экрана;

 щелкните по кнопке ПРАКТИКУМ В СУБД ACCESS (Набор вкладок) панели элементов, а затем в разделе "Область данных";

 перетащите поля ФАМ, ИМЯ, ОТЧ, ГРУП из списка полей на текущую вкладку и расположите их по своему усмотрению;

 вызовите окно свойств для текущей вкладки Вкладка1 и задайте на его вкладке Все значение свойства "Подпись" - Студент;

сделайте текущей другую вкладку;

 перетащите поля НОМ_ЗАЧ, ОЦ_МАТЕМ, ОЦ_ИНФ, ОЦ_ЭКОН из списка полей на текущую вкладку и расположите их по своему усмотрению;

 вызовите окно свойств для вкладки Вкладка2 и задайте на его вкладке Все значение свойства "Подпись" - Успеваемость;

 создайте вычисляемое поле СРЕДНИЙ_БАЛЛ. Для этого:

 щелкните по кнопке ПРАКТИКУМ В СУБД ACCESS (Поле) панели элементов, а затем в разделе "Область данных";

 введите текст надписи. Для этого вызовите окно свойств для надписи и на вкладке Все задайте значение свойства Подпись - СРЕДНИЙ БАЛЛ;

Примечание. Ввод текста надписи можно осуществить еще так: щелчком выделить надпись, повторно щелкнуть по ней и после появления текстового курсора ввести текст.

вызовите для свободного поля Построитель выражений, выполнив действия:

вызвать окно свойств Þ вкладка Данные Þ свойство Данные Þ нажать кнопку ПРАКТИКУМ В СУБД ACCESS;

 в Построителе выражений щелчком раскройте <Cписок полей> формы и сформируйте выражение для вычисления среднего балла:

=([ОЦ_МАТЕМ]+[ОЦ_ИНФ]+[ОЦ_ЭКОН])/3

 чтобы значение среднего балла выводилось с одним знаком после запятой, вызовите для вычисляемого поля окно свойств и на вкладке Макет установите значение свойства "Формат поля" - Фиксированный, свойства "Число десятичных знаков" - 1. На вкладке Все задайте значение свойства "Имя" - СРЕДНИЙ_БАЛЛ;

перейдите в режим формы для просмотра сконструированной формы;

 сохраните форму с именем ОЦЕНКИ СТУДЕНТА.

Задание 4.5. Сконструировать форму с именем СРЕДНИЕ ОЦЕНКИ ПО ГРУППАМ на основе запроса РЕЙТИНГ. Форма должна содержать диаграмму, отображающую средние баллы по предметам для групп.

Выполнение задания

Откройте окно Конструктора формы, указав в качестве источника данных запрос РЕЙТИНГ. Затем выполните следующие действия:

настройте окно Конструктора для работы;

 введите текст заголовка СРЕДНИЕ ОЦЕНКИ ПО ГРУППАМ в разделе "Заголовок формы";

 перетащите все поля из списка полей в Область данных;

загрузите Мастер создания диаграммы, введя команду

Вставка/Диаграмма

и щелкнув в Области данных. Тогда:

 в 1-м окне Мастера переключатель поставьте в положение Запросы и выберите в списке запрос РЕЙТИНГÞ [Далее];

во 2-м окне переместите все поля из области "Доступные поля" в область "Поля диаграммы" с помощью кнопки ПРАКТИКУМ В СУБД ACCESSÞ [Далее];

 в 3-м окне выберите тип диаграммы Гистограмма Þ [Далее];

в 4-м окне перетащите поля СР_ИНФ, СР_ЭКОН в область образца (над осью Y). Для отмены операции суммирования по каждому из полей дважды щелкайте в этой области и в появившемся окне Вычисление итоговых значений выбирайте значение Отсутствует Þ [ОК ] Þ [Далее];

в 5-м окне выберите в качестве и поля формы, и поля диаграммы поле ГРУП Þ [Далее];

 в 6-м окне введите название диаграммы Средние оценки и оставьте переключатель "Показать условные обозначения?" в положение Да Þ [Готово]. В разделе "Область данных" отобразится стандартный макет диаграммы;

 перейдите в режим формы для просмотра диаграммы;

 охраните форму с именем СРЕДНИЕ ОЦЕНКИ ПО ГРУППАМ.

Задание 4.6. Сконструировать составную форму с именем НАЧИСЛЕНИЯ СТУДЕНТАМ вида как на рис. 4.4.

ПРАКТИКУМ В СУБД ACCESS

Рис. 4.4. Составная форма НАЧИСЛЕНИЯ СТУДЕНТАМ

В форме для каждого студента должны отображаться его начисления.

Выполнение задания

Откройте окно Конструктора формы, указав в качестве источника данных запрос СРЕДНИЙ БАЛЛ. Затем выполните следующие действия:

настройте окно Конструктора для работы;

 введите текст заголовка НАЧИСЛЕНИЯ СТУДЕНТАМ в разделе "Заголовок формы";

 перетащите поля ФАМ, ИМЯ, ОТЧ, СР_БАЛЛ из списка полей в Область данных и расположите их так, как в форме, приведенной в задании на рис. 4.4;

измените текст надписи СР_БАЛЛ на Средний балл:, пользуясь вкладкой Все окна свойств надписи. Очертите рамку вокруг поля СР_БАЛЛ и его надписи при помощи элемента управления Прямоугольник;

 при включенном режиме работы мастеров загрузите Мастер подчиненных форм щелчком по кнопке ПРАКТИКУМ В СУБД ACCESS (Подчиненная форма/отчет) панели элементов. Тогда:

в 1-м окне Мастера оставьте переключатель в положение Имеющиеся таблицы и запросы Þ [Далее];

 во 2-м окне выберите из раскрывающегося списка "Таблицы и запросы" таблицу СПРАВОЧНИК и переместите поле ВИД_НАЧ из области "Доступные поля" в область "Выбранные поля". Выберите из раскрывающегося списка "Таблицы и запросы" таблицу НАЧИСЛЕНИЯ и переместите все поля, кроме КОД_НАЧ, из области "Доступные поля" в область "Выбранные поля" Þ [Далее];

 в 3-м окне с целью установки связи между запросом СРЕДНИЙ БАЛЛ и таблицей НАЧИСЛЕНИЯ поставьте переключатель в положение Самостоятельное определение. Выберите в качестве поля, по которому должна быть установлена связь, поле НОМ_ЗАЧ из раскрывающихся списков "Поля формы или отчета" и "Поля подчиненной формы или отчета" Þ [Далее];

в 4-м окне задайте имя подчиненной формы - подчиненная форма НАЧИСЛЕНИЯ Þ [Готово];

удалите в подчиненной форме поле НОМ_ЗАЧ из Области данных и его надпись из Заголовка формы;

 перейдите в режим формы. Оцените положение и размер подчиненной формы. Если они не соответствуют виду формы, приведенной в задании, то вернитесь в Конструктор и измените ее положение и/или размер;

 сохраните форму с именем НАЧИСЛЕНИЯ СТУДЕНТАМ.

5. КОНСТРУИРОВАНИЕ ОТЧЕТОВ

В этом разделе Вы освоите

конструирование отчетов с вычислениями в строках и с общими итогами

 конструирование отчетов с сортировкой и группировкой строк и с подведением итогов по группам

Вам необходимо знать

Отчет - отображение на бумаге или на экране информации из базы данных в виде, удобном для ее восприятия и анализа пользователем.

В отчете можно группировать и сортировать данные, осуществлять расчеты в строках и проводить итоговые вычисления над группами строк и над всеми строками с использованием статистических функций. Отчет может основываться на таблице или запросе и представлять сложные зависимости между различными наборами данных. Он может быть составным - включать другие отчеты.

СУБД Access предоставляет большие возможности по оформлению отчетов: шрифтовое, фоновое и цветовое оформление, обрамление, рисунки, деловая графика, вставка объектов других приложений. Все это позволяет создавать отчеты высокого качества.

Существует три способа создания отчета: в автоматическом режиме, с помощью Мастера и с помощью Конструктора. В автоматическом режиме на основе выбранной таблицы или запроса создается автоотчет в столбец (с расположением полей в столбец) или ленточный (с расположением полей в строку). Мастер отчетов позволяет создать отчет на основе ответов пользователя на вопросы, касающиеся структуры, содержания и оформления отчета. Конструктор дает возможность самостоятельного конструирования отчетов.

Ä Для выполнения следующего задания модифицировать запрос НАЧИСЛЕНО ИЮНЬ - вывести начисления по их видам за июнь только студентам группы ФК-1. Новый запрос сохранить с именем НАЧИСЛЕНО ИЮНЬ ФК-1.

Задание 5.1. Сконструировать отчет вида как на рис. 5.1. Отчет создать на основе запроса НАЧИСЛЕНО ИЮНЬ ФК-1. В отчете произвести вычисления в строках сумм начислений для каждого студента и подвести общий итог - рассчитать сумму начислений для всех студентов группы. Строки отчета упорядочить в алфавитном порядке фамилий. Отчет сохранить с именем ВЕДОМОСТЬ.

ВЕДОМОСТЬ НАЧИСЛЕНИЙ

СТУДЕНТАМ ГРУППЫ ФК-1

за июнь 2003

ФИО

Материальная помощь

Надбавка

Стипендия

Всего

Бас Олег Васильевич

10 000,00р.

40 000,00р.

50 000,00р.

Брель Петр Петрович

15 000,00р.

33 000,00р.

48 000,00р.

Гиль Павел Иванович

33 000,00р.

33 000,00р.

Итого начислено:

131 000,00р.

Рис. 5.1. Ведомость начислений

Выполнение задания

Для создания отчета с помощью Конструктора откройте окно Конструктора отчета, выполнив последовательность действий:

окно База данных Þ объект Отчеты Þ [Создать] Þ

окно Новый отчет Þ выбрать Конструктор и выбрать источник данных - запрос НАЧИСЛЕНО ИЮНЬ ФК-1 Þ [OK].

Затем выполните следующее:

включите (если не включены) по команде Вид необходимые инструментальные средства для конструирования:

 панель Конструктор отчетов;

 панель Формат (форма/отчет);

 панель элементов;

 разделы Заголовок отчета/Примечание отчета, Верхний колонтитул/Нижний колонтитул;

список полей;

линейку;

 сетку;

установите при помощи мыши ширину разделов окна Конструктора не более 160 мм и не превышайте ее. По умолчанию задаются параметры страницы - формат А4 (210х297 мм), книжная ориентация, размер левого и правого поля приблизительно 25 мм. При этих параметрах ширина строки отчета составляет 160 мм. В процессе конструирования можно ее превысить и тогда при печати отчет по ширине расположится на двух страницах. Чтобы этого избежать, задается ограничение на ширину разделов окна Конструктора;

сконструируйте заголовок отчета:

 1-я строка заголовка. Введите при помощи элемента управления Надпись в раздел "Заголовок отчета" текст ВЕДОМОСТЬ НАЧИСЛЕНИЙ, задав для него параметры шрифта: тип - Arial Cyr, начертание - полужирный, размер - 12;

2-я строка заголовка. Введите текст СТУДЕНТАМ ГРУППЫ (Arial Cyr, полужирный, 8). Перетащите из списка полей поле ГРУП к тексту и удалите надпись этого поля;

 3-я строка заголовка. Введите текст за (Arial Cyr, полужирный, 8). Перетащите из списка полей поле ЗА_МЕСЯЦ к тексту и удалите его надпись. За этим полем вставьте свободное поле при помощи элемента управления Поле, а затем удалите надпись, связанную с ним. Вызовите для свободного поля через окно свойств Построитель выражений и сформируйте выражение для выделения года из текущей даты, использующее функции, вида:

= YEAR(DATE())

Для этого раскройте папку Функции, а в ней - папку Встроенные функции. В среднем разделе выберите категорию Дата/время. В разделе справа появится перечень функций в алфавитном порядке. В нем выберите функцию YEAR и вставьте ее в поле выражения после знака =. В качестве аргумента этой функции вставьте системную функцию даты DATE, которая возвращает текущую дату в формате ДД.ММ.ГГ;

выполните выравнивание элементов управления 2-й строки. Для этого выделите элементы управления одним из возможных способов.

Примечание. Возможны следующие способы выделения группы элементов управления:

при нажатой клавише Shift поочередно выделять элементы группы;

очертить рамку вокруг элементов группы;

протянуть мышью по вертикальной или горизонтальной линейке.

Введите команды:

Формат/Выровнять/по верхнему краю
Формат/Размер/по самому высокому

Аналогично выполните выравнивание 3-й строки;

 установите при помощи мыши высоту раздела "Заголовок отчета" минимальной. Минимизация высоты разделов окна Конструктора приводит к уменьшению пустого пространства между строками отчета;

 осуществите предварительный просмотр отчета по команде

Вид/Предварительный просмотр

Сравните сконструированный заголовок отчета с его видом на рис. 5.1. Вернитесь в режим Конструктора по команде

Вид/Конструктор

Если не получен нужный вид заголовка, то внесите необходимые изменения;

сконструируйте строку отчета:

 перетащите из списка полей в раздел "Область данных" поля, значения которых должны выводиться в строках отчета: Материальная помощь, Надбавка, Стипендия. При этом для удобства дальнейшей работы располагайте их в столбец;

 создайте в этом разделе поле, позволяющее объединить значения полей ФАМ, ИМЯ, ОТЧ. С этой целью вставьте свободное поле, используя элемент управления Поле. Для него вызовите Построитель выражений через окно свойств на вкладке Данные в строке Данные. В нем сформируйте выражение:

=[ФАМ] & " " & [ИМЯ] & " " & [ОТЧ]

Установите ширину созданного поля 4,5 см, которая достаточна для отображения значений поля. Для этого вызовите окно свойств поля и на вкладке Все задайте значение свойства "Ширина" - 4,5.

Примечание. Установить ширину элемента управления можно также с помощью маркеров размера, ориентируясь по линейке.

Задайте текст надписи, связанной с этим полем, - ФИО. Это можно сделать, введя текст надписи после повторного щелчка на ней или в строке свойства "Подпись" вкладки Все окна свойств надписи;

создайте в Области данных поле для расчета суммы начислений каждому студенту. С этой целью вставьте свободное поле и для него вызовите через окно свойств Построитель выражений, в котором сформируйте выражение:

= Nz([Материальная помощь])+Nz([Надбавка])+ Nz([Стипендия])

В этом выражении используется функция Nz из категории Преобразование, которая преобразует отсутствующие значения начислений в ноль.

Для отображения значений вычисляемого поля в виде, в котором отображаются значения полей, участвующих в его расчете, задайте этому полю свойства: "Формат поля" - Денежный, "Число десятичных знаков" - 2.

Введите текст надписи, связанной с этим полем, - Всего;

выделите надписи всех полей, вырежьте их в буфер обмена и вставьте в раздел "Верхний колонтитул", предварительно щелкнув по его заголовку;

 расположите поля в Области данных в строку в порядке как в отчете на рис. 5.1. При этом не допускайте пересечения полей;

 выделите все эти поля и выполните их выравнивание по команде

Формат/Выровнять/по верхнему краю

 задайте сортировку строк в алфавитном порядке фамилий. Для этого активизируйте раздел "Область данных" и введите команду

Вид/Сортировка и группировка

В окне Сортировка и группировка щелкните в первой клетке столбца Поле/выражение, выберите из раскрывающегося списка поле ФАМ и оставьте порядок сортировки По возрастанию;

 минимизируйте высоту раздела "Область данных";

 сконструируйте шапку отчета:

преобразуйте надписи полей в Верхнем колонтитуле в названия столбцов отчета как на рис. 5.1. Для расположения текста надписи "Материальная помощь" в две строки увеличьте ее высоту и уменьшите ее ширину при помощи маркеров размера;

 расположите надписи в разделе "Верхний колонтитул" в строку над соответствующими полями в Области данных;

 выполните форматирование названий столбцов отчета. Для этого выделите их все и введите команды:

Формат/Выровнять/по верхнему краю

Формат/Размер/по самому высокому

Затем выровняйте названия столбцов по центру при помощи кнопки "По центру" панели Формат(форма/отчет);

 минимизируйте высоту раздела "Верхний колонтитул";

сконструируйте общий итог:

проведите горизонтальную линию вверху раздела "Примечание отчета";

 вставьте свободное поле в раздел "Примечание отчета". Введите текст его надписи - Итого начислено: (Arial Cyr, полужирный, курсив, 8). В поле введите с помощью Построителя выражений выражение для подсчета общего итога:

=Sum(Nz([Материальная помощь])+Nz([Надбавка])+Nz([Стипендия]))

В нем используется функция Sum, относящаяся к категории статистических;

Задайте вычисляемому полю параметры шрифта как для его надписи и свойства: "Формат поля" - Денежный, "Число десятичных знаков" - 2;

 расположите надпись и поле для расчета общего итога как в отчете на рис. 5.1. Выровняйте их по верхнему краю;

 проведите горизонтальную линию под общим итогом;

 минимизируйте высоту раздела "Примечание отчета";

 приведите к одинаковому размеру элементы управления для каждого столбца отчета. Для этого выделите их в Верхнем колонтитуле, в Области данных, в Примечании отчета (например, надпись ФИО в Верхнем колонтитуле, соответствующее ей вычисляемое поле в Области данных, надпись Итого начислено: в Примечании отчета) и выполните форматирование по команде

Формат/Размер/по самому широкому

 устраните промежутки между элементами управления в Верхнем колонтитуле и в Области данных. Для этого выделите их, протянув мышью по вертикальной линейке, и выполните команду

Формат/Выровнять/по левому краю

 адайте цвет границ черный для элементов управления в Верхнем колонтитуле. Для этого выделите их и вызовите окно их свойств Несколько элементов управления. В этом окне на вкладке Все для свойства "Цвет границы" вызовите Построитель и выберите цвет черный;

Вид сконструированного отчета в окне Конструктора представлен на рис. 5.2.

ПРАКТИКУМ В СУБД ACCESS

Рис. 5.2. Вид отчета в окне Конструктора

осуществите предварительный просмотр отчета. Если отчет соответствует виду, приведенному в задании, то сохраните его с именем ВЕДОМОСТЬ. В противном случае перейдите в режим Конструктора и внесите необходимые изменения.

Задание 5.2. Сконструировать отчет как на рис.5.3. Отчет создать на основе запроса НАЧИСЛЕНО ИЮНЬ.

В строках отчета произвести вычисления сумм начислений для каждого студента.

Осуществить группировку строк по учебным группам и для каждой из них: строки упорядочить в алфавитном порядке фамилий, рассчитать суммы начислений по каждому их виду, а также общую сумму начислений (частные итоги).

Рассчитать для всех учебных групп сумму начислений по каждому их виду и общую сумму начислений (общие итоги).

Отчет сохранить с именем СВОДНАЯ ВЕДОМОСТЬ.

СВОДНАЯ ВЕДОМОСТЬ НАЧИСЛЕНИЙ

за июнь 2003

ФИО

Материальная помощь

Надбавка

Стипендия

Всего


Группа ФК-1

Бас Олег Васильевич

10 000,00р.

40 000,00р.

50 000,00р.

Брель Петр Петрович

15 000,00р.

33 000,00р.

48 000,00р.

Гиль Павел Иванович

33 000,00р.

33 000,00р.

Итого по группе:

15 000,00р.

10 000,00р.

106 000,00р.

131000,00р.

Группа ФК-2

Лис Ольга Сергеевна

33 000,00р.

33 000,00р.

Репин Иван Ильич

33 000,00р.

33 000,00р.

Итого по группе:

0,00р.

0,00р.

66 000,00р.

66 000,00р.

Группа ФК-3

Жук Мария Петровна

20 000,00р.

20 000,00р.

Киров Юрий Семенович

40 000,00р.

40 000,00р.

Итого по группе:

20 000,00р.

40 000,00р.

60 000,00р.

Итого начислено:

35 000,00р.

10 000,00р.

212 000,00р.

257000,00р.

Рис. 5.3. Сводная ведомость начислений

Выполнение задания

Откройте окно Конструктора отчета, указав в качестве источника данных запрос НАЧИСЛЕНО ИЮНЬ. Затем выполните следующее:

настройте окно Конструктора для работы как в задании 5.1;

 так как в отчете нужны частные итоги, то включите еще и разделы "Заголовок группы" и "Примечание группы" по команде

Вид/Сортировка и группировка

Появится окно Сортировка и группировка. После щелчка в первой клетке его столбца "Поле/выражение" выберите из раскрывающегося списка поле ГРУП, по которому будет осуществляться группировка строк отчета, и оставьте порядок сортировки строк По возрастанию. В разделе "Свойства группы" для свойств "Заголовок группы" и "Примечание группы" выберите из раскрывающихся списков значение

Да. В результате окно Сортировка и группировка будет иметь вид как на рис. 5.4.

ПРАКТИКУМ В СУБД ACCESS

Рис. 5.4. Окно Сортировка и группировка

В окне Конструктора появятся два новых раздела;

установите альбомную ориентацию страницы по команде

Файл/Параметры страницы

задайте для разделов окна Конструктора ширину, равную максимальной ширине строки 247 мм (ширина страницы с альбомной ориентацией - 297 мм, размер левого и правого поля приблизительно 25 мм). Не превышайте ее в процессе конструирования;

сконструируйте заголовок отчета:

1-я строка заголовка. Введите при помощи элемента управления Надпись в раздел "Заголовок отчета" текст СВОДНАЯ ВЕДОМОСТЬ НАЧИСЛЕНИЙ (Arial Cyr, полужирный, 12);

 2-я строка заголовка. Введите текст за (Arial Cyr, полужирный, 8). За ним расположите поле ЗА_МЕСЯЦ, после которого разместите поле, содержащее выражение для выделения текущего года из системной даты;

произведите выравнивание элементов 2-й строки заголовка по верхнему краю и задайте их размер - по самому высокому;

 минимизируйте высоту раздела "Заголовок отчета";

сконструируйте строку отчета:

перетащите из списка полей в раздел "Область данных" поля, значения которых должны выводиться в строках отчета: Материальная помощь, Надбавка, Стипендия;

 создайте в этом разделе поле, позволяющее объединить значения полей ФАМ, ИМЯ, ОТЧ. Для этого вставьте свободное поле и через окно его свойств на вкладке Данные в строке Данные вызовите Построитель выражений и в нем сформируйте выражение:

=[ФАМ] & " " & [ИМЯ] & " " & [ОТЧ]

Установите ширину созданного поля равной 4,5 см;

Введите текст надписи, связанной с этим полем, - ФИО;

создайте в Области данных поле для расчета суммы начислений каждому студенту. Для этого вставьте свободное поле и в нем с помощью Построителя выражений введите выражение:

= Nz([Материальная помощь])+Nz([Надбавка])+ Nz([Стипендия])

Введите текст надписи, связанной с этим полем, - Всего;

выделите надписи всех полей в Области данных, вырежьте их в буфер обмена и вставьте в раздел "Верхний колонтитул";

 расположите поля в Области данных в строку в порядке согласно виду отчета, как на рис. 5.3;

 задайте сортировку строк в алфавитном порядке фамилий. Для этого активизируйте раздел "Область данных" и введите команду

Вид/Сортировка и группировка

В окне Сортировка и группировка щелкните в клетке под полем ГРУП, выберите из раскрывающегося списка поле ФАМ и оставьте порядок сортировки По возрастанию;

 минимизируйте высоту раздела "Область данных";

 сконструируйте шапку отчета:

преобразуйте надписи полей в Верхнем колонтитуле в названия столбцов отчета, как на рис. 5.3;

расположите названия столбцов в этом разделе в строку над соответствующими полями в Области данных;

выровняйте все названия столбцов отчета - по верхнему краю и задайте их размер - по самому высокому. Затем выровняйте названия столбцов по центру при помощи кнопки "По центру" панели Формат(форма/отчет);

 минимизируйте высоту раздела "Верхний колонтитул";

 сконструируйте заголовок группы:

перетащите поле ГРУП в раздел "Заголовок группы". В качестве его надписи задайте - Группа (Arial Сyr, полужирный, 8);

расположите надпись и поле с левого края строки;

 сконструируйте частные итоги:

вставьте в раздел "Примечание группы" четыре свободных поля и удалите их надписи;

 введите в эти поля, используя Построитель выражений, выражения для подсчета сумм начислений по их видам для каждой группы:

=Sum(Nz([Материальная помощь]))

=Sum(Nz([Надбавка]))

=Sum(Nz([Стипендия]))

и выражение для подсчета общей суммы начислений для каждой группы:

=Sum(Nz([Материальная помощь])+Nz([Надбавка])+ Nz([Стипендия]))

вычисляемые поля расположите в строку под соответствующими полями раздела "Область данных";

 задайте для них параметры шрифта: тип - Arial Сyr, начертание -полужирный курсив, размер - 8;

 введите текст при помощи элемента управления Надпись - Итого по группе: (Arial Сyr, полужирный курсив, 8) и расположите его с левого края строки;

выровняйте надпись и вычисляемые поля - по верхнему краю;

 проведите горизонтальную линию под строкой частных итогов;

 минимизируйте высоту раздела "Примечание группы";

 сконструируйте общий итог:

вставьте четыре свободных поля в раздел "Примечание отчета" и удалите их надписи;

 введите в эти поля выражения для подсчета сумм начислений по их видам для всех групп:

=Sum(Nz([Материальная помощь]))

=Sum(Nz([Надбавка]))

=Sum(Nz([Стипендия]))

и выражение для подсчета общей суммы начислений для всех групп:

=Sum(Nz([Материальная помощь])+Nz([Надбавка])+ Nz([Стипендия]))

Ввод этих выражений можно осуществить, скопировав их через буфер обмена из вычисляемых полей для частных итогов;

вычисляемые поля для общих итогов расположите в строку под соответствующими полями раздела "Примечание группы";

 задайте для этих полей параметры шрифта: тип - Arial Cyr, начертание - полужирный, размер - 8;

 введите текст надписи Итого начислено: (Arial Cyr, полужирный, курсив, 8) и расположите ее с левого края строки;

 выровняйте надпись и поля - по верхнему краю;

 проведите горизонтальную линию под общими итогами;

 минимизируйте высоту раздела "Примечание отчета";

 приведите к одинаковому размеру элементы управления для каждого столбца отчета. Для этого выделите их для каждого столбца в Верхнем колонтитуле, в Заголовке группы, в Области данных, в Примечании группы, в Примечании отчета и задайте для них размер - по самому широкому;

выполните выравнивание элементов управления для каждого столбца в Верхнем колонтитуле, в Заголовке группы, в Области данных, в Примечании группы, в Примечании отчета - по левому краю;

 задайте цвет границ черный для элементов управления в Верхнем колонтитуле;

 произведите нумерацию страниц отчета в Нижнем колонтитуле по команде

Вставка / Номера страницы

Вид сконструированного отчета в окне Конструктора представлен на рис. 5.5.

ПРАКТИКУМ В СУБД ACCESS

Рис. 5.5. Вид отчета в окне Конструктора

осуществите предварительный просмотр отчета. Если отчет соответствует виду отчета, приведенному в задании, то сохраните его с именем СВОДНАЯ ВЕДОМОСТЬ. В противном случае перейдите в режим Конструктора и внесите необходимые изменения.

6. СОЗДАНИЕ СТРАНИЦ ДОСТУПА К ДАННЫМ

В этом разделе Вы освоите

создание статических Web-страниц для объектов базы данных

 конструирование страниц доступа к данным, используемых для ввода, редактирования и удаления данных в базе

работу с данными базы с использованием страницы доступа к данным

 конструирование страниц доступа к данным с интерактивным отчетом

Вам необходимо знать

В Access возможно создание статических Web-страниц и страниц доступа к данным.

Статическая Web-страница - это Web-страница, которая отображает данные из базы в состоянии на момент создания Web-страницы.

Ее можно создавать для объектов базы данных - таблицы, запроса, отчета, экспортируя их содержимое в HTML-файл.

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

Страница доступа к данным сохраняется не в базе данных, а в HTML-файле. В базе данных хранится лишь указатель на этот файл - ярлык.

На странице доступа к данным может размещаться форма или интерактивный отчет.

Страницы, содержащие форму, позволяют вводить новые записи в базу данных, изменять значения полей в записях базы, удалять записи из базы.

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

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

Существует следующие способы создания страницы доступа к данным: в автоматическом режиме, с помощью Мастера, путем изменения существующей Web-страницы и с помощью Конструктора. Создание с помощью Конструктора требует навыков манипулирования объектами, расположенными на странице доступа к данным: их выделения, перемещения, выравнивания, изменения размеров.

Просмотреть созданную страницу можно в Access, а также в браузере Internet Explorer 5.0 и выше.

Чтобы статические Web-страницы и страницы доступа к данным были доступны пользователям Интернет или Интранет, они должны размещаться на Web-сервере сети, а база данных - на сервере сети.

Задание 6.1. Создать статическую Web-страницу для таблицы СПРАВОЧНИК и сохранить ее в своей папке.

Выполнение задания

В окне База данных выделите таблицу СПРАВОЧНИК. Затем выполните следующее:

введите команду

Файл /Экспорт

в окне Экспорт объекта:

 укажите свою папку для сохранения файла HTML;

оставьте заданное имя файла СПРАВОЧНИК;

 выберите из раскрывающегося списка "Тип файла" Документы HTML (HTML Documents);

 установите флажок "Сохранить формат";

нажмите кнопку [Сохранить];

в окне Параметры вывода в формате HTML нажмите кнопку [ОК].

Для загрузки созданной статической Web-страницы в Internet Explorer откройте файл СПРАВОЧНИК из своей папки.

Задание 6.2. Сконструировать страницу доступа к данным, на которой можно вводить, редактировать и удалять данные из таблицы СВЕДЕНИЯ. Заголовок страницы отобразить бегущей строкой.

Страницу сохранить с именем СВЕДЕНИЯ О СТУДЕНТАХ в своей папке.

Выполнение задания

Откройте окно Конструктора страницы, выполнив действия:

окно База данных Þ объект Страницы Þ [Создать] Þ

окно Новая страница доступа к данным Þ выбрать Конструктор и выбрать из раскрывающегося списка источник данных - таблицу СВЕДЕНИЯ Þ [ОК].

Затем выполните следующее:

включите (если не включены) по команде Вид инструментальные средства, необходимые для конструирования:

 список полей;

 сетку;

панель элементов;

панели инструментов Макет страницы и Формат (страница).

Данные средства отображены на рис.6.1;

задайте название страницы в виде бегущей строки. Для этого:

 щелкните по кнопке "Бегущая строка" панели элементов;

щелкните на метке-заполнителе НАЗВАНИЕ СТРАНИЦЫ;

введите текст бегущей строки СВЕДЕНИЯ О СТУДЕНТАХ;

в окне Список полей раскройте (если не раскрыта) папку Таблицы и выберите таблицу СВЕДЕНИЯ. Отобразятся ее поля. Последовательно выделяйте их, за исключением полей ПЛАТА и ПОДП, и нажимайте кнопку [Добавить на страницу];

поставьте надпись поля ОБУЧ перед полем;

Окно Конструктора страниц будет иметь вид как на рис. 6.1.

ПРАКТИКУМ В СУБД ACCESS

Рис. 6.1. Окно Конструктора страницы с проектом страницы
доступа к данным СВЕДЕНИЯ О СТУДЕНТАХ

перейдите в режим просмотра сконструированной страницы по команде

Вид/Просмотр страницы

Если необходимый вид достигнут, то сохраните страницу с именем СВЕДЕНИЯ О СТУДЕНТАХ в своей папке. В противном случае перейдите в режим Конструктора и внесите необходимые изменения;

закройте окно Конструктора. На вопрос о сохранении ответьте [Да]. В окне базы данных для страницы будет создан ярлык с таким же именем.

Задание 6.3. Пользуясь страницей СВЕДЕНИЯ О СТУДЕНТАХ в Internet Explorer:

добавить в таблицу СВЕДЕНИЯ запись о себе;

изменить семейное положение студента Перова Олега Николаевича на женат.

В среде Access удалить из таблицы СВЕДЕНИЯ запись о себе и, пользуясь страницей в Internet Explorer, убедиться в произведенном удалении.

Выполнение задания

Загрузите созданную страницу двойным щелчком по ее имени в своей папке. Она отобразится в Internet Explorer в виде как на рис. 6.2. Воспользуйтесь страницей для ввода, редактирования и удаления данных следующим образом:

ПРАКТИКУМ В СУБД ACCESS

Рис. 6.2. Вид страницы СВЕДЕНИЯ О СТУДЕНТАХ в Internet Explorer

добавьте в таблицу СВЕДЕНИЯ запись о себе при помощи кнопки [Новая запись] панели перехода и сохраните эту запись при помощи кнопки [Сохранить] этой панели;

перейдите при помощи кнопок панели перехода к записи, относящейся к студенту Перов Олег Николаевич, и измените его семейное положение на женат. Сохраните эту запись;

откройте таблицу СВЕДЕНИЯ, чтобы убедиться в наличии внесенных изменений;

 удалите из таблицы СВЕДЕНИЯ запись о себе. Связь страницы с таблицей динамическая. Загрузите страницу в Internet Explorer и убедитесь в отсутствии этой записи на странице.

Ä Для выполнения следующего задания создать запрос с именем СТРОКИ для вывода следующих полей:

| НОМ_ЗАЧ | ГРУП | ФАМ | ИМЯ | ОТЧ | ОЦ_ИНФ|

Задание 6.4. Сконструировать страницу доступа к данным с интерактивным отчетом вида как на рис. 6.3.

ПРАКТИКУМ В СУБД ACCESS

Рис. 6.3. Вид интерактивного отчета Результаты экзамена по информатике

В отчете вывести в качестве:

общего итога - количество студентов, сдававших информатику;

частных итогов:

количество студентов, получивших оценку по информатике 2;

количество студентов, получивших оценку по информатике 3;

количество студентов, получивших оценку по информатике 4;

количество студентов, получивших оценку по информатике 5;

строк:

| ГРУП | ФАМ | ИМЯ | ОТЧ | ОЦ_ИНФ |

Страницу сохранить с именем РЕЗУЛЬТАТЫ ЭКЗАМЕНА ПО ИНФОРМАТИКЕ в своей папке.

Выполнение задания

Откройте окно Конструктора страницы, указав в качестве источника данных запрос СТРОКИ, и выполните следующие действия:

включите (если не включены) по команде Вид инструментальные средства, необходимые для конструирования:

список полей;

сетку;

 панель элементов;

 панели инструментов Макет страницы, Формат (страница), Выравнивание и изменение размера;

введите текст названия страницы после щелчка на метке-заполнителе НАЗВАНИЕ СТРАНИЦЫ;

 выделяйте последовательно поля запроса СТРОКИ в окне со списком его полей и нажимайте кнопку [Добавить на страницу]. Эти поля вставляются в "Раздел:несвязанный", который после вставки первого поля получает название "Раздел:СТРОКИ". Если для надписи вызвать окно свойств, то в его заголовке отображается имя объекта_метка (например, НОМ_ЗАЧ_метка). Если для поля вызвать окно свойств, то в его заголовке отображается имя объекта (например, НОМ_ЗАЧ);

 добавьте аналогично поле ОЦ_ИНФ еще раз. Вновь добавленному объекту автоматически присваивается имя ОЦ_ИНФ1;

удалите метки объектов в "Разделе:СТРОКИ". Для этого выделяйте каждую метку и нажимайте клавишу Delete;

 задайте уровень группировки. Для этого выделите объект ОЦ_ИНФ1 и нажмите кнопку ПРАКТИКУМ В СУБД ACCESS (Повысить уровень) панели инструментов Макет страницы;

 расположите объекты в строку, по горизонтали, в порядке их следования в запросе, оставляя между ними небольшие промежутки;

 выровняйте их по верхнему краю. Для этого выделите крайний левый объект и дважды щелкните по кнопке ПРАКТИКУМ В СУБД ACCESS (По верхнему краю) панели Выравнивание и изменение размера, а затем последовательно щелкайте по остальным объектам. Объекты выровняются по верхнему краю, исходя из расположения первого объекта;

 минимизируйте высоту раздела "Заголовок:СТРОКИ";

 вставьте в раздел "Заголовок :СТРОКИ-ОЦ_ИНФ" объект для вычисления промежуточных итогов. Для этого щелкните по кнопке ПРАКТИКУМ В СУБД ACCESS (Связанный HTML) панели элементов, а затем - в указанном разделе;

 вызовите окно свойств для вставленного объекта. На вкладке Данные в строке ControlSource выберите из раскрывающегося списка объект ОЦ_ИНФ, а в строке TotalType - статистическую функцию Count;

 задайте надпись перед объектом ОЦ_ИНФ1 - Оценка по информатике и надпись перед объектом для вычисления промежуточных итогов - Количество студентов, воспользовавшись элементом управления Надпись панели элементов;

 выровняйте объекты в разделе "Заголовок:СТРОКИ-ОЦ_ИНФ" по верхнему краю;

 перетащите в этот раздел поле ОЦ_ИНФ из окна со списком полей. При выделенном объекте ОЦ_ИНФ нажмите кнопку ПРАКТИКУМ В СУБД ACCESS (Повысить уровень) панели Макет страницы;

 минимизируйте высоту раздела "Заголовок:СТРОКИ-ОЦ_ИНФ";

 выделенный объект в разделе "Заголовок:СТРОКИ-ОЦ_ИНФ1" предназначается для вычисления общего итога. Вызовите окно свойств для него и на вкладке Данные в строке TotalType выберите из раскрывающегося списка статистическую функцию Count;

 измените надпись перед этим объектом на другую - Всего студентов сдавало информатику;

 удалите все разделы кнопок перехода, расположенные в нижней части окна Конструктора.

Проект страницы доступа к данным с интерактивным отчетом в окне Конструктора будет выглядеть как на рис. 6.4.

ПРАКТИКУМ В СУБД ACCESS

Рис. 6.4. Окно Конструктора страницы с проектом страницы
доступа к данным Результаты экзамена по информатике

Для просмотра созданной страницы введите команду

Вид/Просмотр страницы

На странице первоначально отображается только общий итог. Для просмотра промежуточных итогов нажмите кнопку развертывания с изображением знака "+". Для просмотра группы строк, относящейся к некоторому промежуточному итогу, нажимайте кнопку развертывания при нем. Отчет на странице доступа к данным должен иметь вид как на рис. 6.3.

Если необходимый вид страницы достигнут, то сохраните ее в своей папке с именем РЕЗУЛЬТАТЫ ЭКЗАМЕНА ПО ИНФОРМАТИКЕ. В противном случае перейдите в режим Конструктора и внесите необходимые изменения.

Загрузите созданную страницу в Internet Explorer двойным щелчком по ее имени в своей папке. Просмотрите отчет в интерактивном режиме. Закройте окно браузера.

Для того, чтобы убедиться в динамической связи интерактивного отчета с базой данных, измените в таблице УСПЕВАЕМОСТЬ некоторые оценки по информатике и проследите, как это отразилось на данных интерактивного отчета.

7. КОНСТРУИРОВАНИЕ МАКРОСОВ

В этом разделе Вы освоите

 создание макросов, связанных с событиями и не связанных с ними

 создание макросов разной структуры - линейных, ветвящихся, с циклами, групповых

Вам необходимо знать

Макрос - это набор из одной или нескольких макрокоманд, каждая из которых выполняет определенное действие.

Макросы выполняют заданные пользователем действия и используются, главным образом, для автоматизации работы с формами и отчетами. Например, макрос позволяет найти и отфильтровать записи, выводимые в отчете; закрепить за кнопками формы нужные пользователю действия и др. Назначение макросов - автоматизация часто выполняемых операций без написания программ.

В макросах используются макрокоманды, которые можно классифицировать по назначению на:

 макрокоманды для работы с данными в формах и отчетах (например, НайтиЗапись);

 макрокоманды выполнения (например, ОткрытьЗапрос);

 макрокоманды импорта/экспорта (например, ОтправитьОбъект);

 макрокоманды для работы с объектами БД (например, КопироватьОбъект)

 др. (например, Сообщение).

Макросы могут быть разные по структуре. Макрос, в котором макрокоманды выполняются последовательно, одна за другой, называется линейным. Макрос, в котором отдельная макрокоманда или набор макрокоманд выполняются в зависимости от выполнения некоторого условия, называется макросом с условием. Макрос, в котором объединены несколько логически связанных макросов, называется групповым. Макрос, в котором есть многократное выполнение другого макроса, называется макросом с циклом.

Существуют макросы связанные с событиями и не связанные с ними. Событие - это изменение состояния объекта БД, в момент возникновения которого можно изменить стандартный порядок обработки объекта и определить свою, нестандартную реакцию. События делятся на восемь категорий:

события окна формы, отчета (например, Открытие);

 события данных (например, Изменение);

 события фокуса ввода (например, Вход);

 события клавиатуры (например, Нажатие клавиши);

 события мыши (например, Нажатие кнопки);

 события печати (например, Страница);

 события ошибки (например, Ошибка);

 события таймера (например, Таймер).

В Access только формы и отчеты являются объектами, для которых определены события. Для обработки событий разрабатываются макросы, которые классифицируются на:

макросы, связанные с событиями элементов управления в форме;

 макросы, связанные с событиями раздела формы;

 макросы, связанные с событиями формы;

 макросы, связанные с событиями раздела отчета;

 макросы, связанные с событиями отчета.

Макросы создаются с помощью Конструктора макросов.

7.1. Макросы, не связанные с событиями

Задание 7.1. Создать макрос, позволяющий автоматически открывать форму СВЕДЕНИЯ О СТУДЕНТЕ в режиме добавления записей.

Макрос сохранить с именем ДЛЯ ДОБАВЛЕНИЯ.

Выполнение задания

Откройте окно Конструктора макросов, произведя действия:

окно База данных Þ объект Макросы Þ [Создать]

Затем выполните следующее:

щелкните в первой клетке столбца Макрокоманда и выберите из раскрывающегося списка макрокоманду ОткрытьФорму. В качестве ее аргументов задайте следующие:

Имя формы

СВЕДЕНИЯ О СТУДЕНТЕ

Режим

Форма

Имя фильтра

Условие отбора

Режим данных

Добавление

Режим окна

Обычное

Примечание. Значения аргументов макрокоманд могут быть:

заданы по умолчанию;

 выбраны из раскрывающегося списка после щелчка в строке аргумента;

 введены с клавиатуры;

 сформированы с помощью Построителя выражений.

 сохраните макрос по команде

Файл/Сохранить

В окне Сохранение в поле "Имя макроса" введите имя ДЛЯ ДОБАВЛЕНИЯ. В результате сформированный макрос будет иметь вид как на рис.7.1.

 запустите макрос на выполнение по команде

Запуск/Запуск

или с помощью кнопки ПРАКТИКУМ В СУБД ACCESS (Запуск). В результате отобразится форма СВЕДЕНИЯ О СТУДЕНТЕ с пустыми полями. Закройте окно формы.

ПРАКТИКУМ В СУБД ACCESS

Рис.7.1. Окно Конструктора макроса с макросом ДЛЯ ДОБАВЛЕНИЯ

Ä Для выполнения следующего задания окно База данных сделайте неразвернутым полностью в окне Access.

Задание 7.2. Создать макрос, позволяющий отобразить на экране одновременно и форму, и таблицу. Макрос должен:

открывать форму СВЕДЕНИЯ О СТУДЕНТЕ1 в режиме - Только чтение;

задавать ее ширину - 20 см, высоту - 10 см;

открывать таблицу СВЕДЕНИЯ в режиме - Только чтение;

 задавать ее отступ от верхнего края - 9 см, ширину - 21 см, высоту - 4 см;

выводить сообщение - Для закрытия объектов нажмите ОК;

закрывать форму и таблицу.

Макрос сохранить с именем ОТКРЫТИЕ И ЗАКРЫТИЕ.

Выполнение задания

Откройте окно Конструктора макросов и введите нижеприведенный текст макроса, который по структуре является линейным.

Текст макроса ОТКРЫТИЕ И ЗАКРЫТИЕ

Макрокоманда

Аргументы макрокоманды

ОткрытьФорму

Имя формы

СВЕДЕНИЯ О СТУДЕНТЕ1

Режим

Форма

Имя фильтра

Условие отбора

Режим данных

Только чтение

Режим окна

Обычное

СдвигРазмер

По правому краю

0см

От верхнего края

0см

Ширина

20см

Высота

10см

ОткрытьТаблицу

Имя таблицы

СВЕДЕНИЯ

Режим

Таблица

Режим данных

Только чтение

СдвигРазмер

По правому краю

0см

От верхнего края

9см

Ширина

21см

Высота

4см

Сообщение

Сообщение

Для закрытия объектов нажмите ОК

Сигнал

Да

Тип

Информационное

Заголовок

ОТКРЫТИЕ И ЗАКРЫТИЕ

Закрыть

Тип объекта

Форма

Имя объекта

СВЕДЕНИЯ О СТУДЕНТЕ1

Сохранение

Подсказка

Закрыть

Тип объекта

Таблица

Имя объекта

СВЕДЕНИЯ

Сохранение

Подсказка

Сохраните макрос с указанным именем, а затем запустите его на выполнение. Проанализируйте результат работы макроса на предмет соответствия требованиям, приведенным в задании. Если он не удовлетворяет этим требованиям, то отладьте макрос, задав пошаговый режим его выполнения с целью локализации ошибки. Для этого введите команду

Запуск/По шагам

или нажмите кнопку ПРАКТИКУМ В СУБД ACCESS (По шагам), а затем запустите макрос на выполнение. Появится окно вида как на рис. 7.2.

ПРАКТИКУМ В СУБД ACCESS

Рис.7. 2. Окно Пошаговое исполнение макроса

В окне Пошаговое исполнение макроса последовательно нажимайте кнопку [Шаг] и анализируйте предоставляемую информацию о макрокоманде, а также результат ее выполнения на экране. При обнаружении ошибки в макрокоманде прервите пошаговое исполнение макроса нажатием кнопки [Прервать], вернитесь к окну макроса и внесите необходимые исправления. Затем опять запустите макрос на пошаговое выполнение. И так до тех пор, пока не будет получен требуемый результат. По завершении отладки выйдите из пошагового режима по команде

Запуск/По шагам

Кнопка [Продолжить] используется в процессе отладки для прерывания пошагового исполнения макроса и выполнения оставшейся его части.

Ä Для выполнения следующего задания создать по таблице УСПЕВАЕМОСТЬ автоформу в столбец и сохранить ее с именем УСПЕВАЕМОСТЬ.

Задание 7.3. Создать макрос, позволяющий отображать в форме УСПЕВАЕМОСТЬ записи о тех студентах, у которых оценки по трем предметам тройки; в противном случае - выводить сообщение Троечников нет.

Макрос сохранить с именем ТРОЕЧНИКИ.

Выполнение задания

Откройте окно Конструктора макросов. Так как данный макрос является макросом с условием, то добавьте столбец Условие по команде

Вид/Условия

Введите текст нижеприведенного макроса, приняв к сведению, что в дальнейшем в пособии с целью дачи пояснений к командам они нумеруются и к отдельным из них даются комментарии.

Текст макроса ТРОЕЧНИКИ

Условие

Макрокоманда

Аргументы макрокоманды

1

ОткрытьФорму

Имя формы

УСПЕВАЕМОСТЬ

Режим

Форма

Имя фильтра

Условие отбора

[УСПЕВАЕМОСТЬ]! [ОЦ_МАТЕМ]=3 And [УСПЕВАЕМОСТЬ]! [ОЦ_ИНФ]=3 And

[УСПЕВАЕМОСТЬ]! [ОЦ_ЭКОН]=3

Режим данных

Режим окна

Обычное

Условие отбора рекомендуется создавать с помощью Построителя выражений. Для его вызова щелкните в строке "Условие отбора", а затем по кнопке с изображением трех точек. В окне Построителя выражений раскройте папку Таблицы и выберите таблицу УСПЕВАЕМОСТЬ, являющуюся источником данных для формы УСПЕВАЕМОСТЬ. Затем сформируйте указанное для условия отбора выражение.

Условие отбора можно ввести и с клавиатуры. При этом для удобства ввода рекомендуется вызвать окно Область ввода нажатием комбинации клавиш Shift-F2.

2

[Forms]![УСПЕВАЕМОСТЬ]!

[НОМ_ЗАЧ]=0

Сообщение

Сообщение

Троечников нет

Сигнал

Да

Тип

Информационное

Заголовок

ТРОЕЧНИКИ

Условие рекомендуется сформировать с помощью Построителя выражений. Для его вызова щелкните в столбце "Условие", а затем по кнопке [Построить] панели инструментов. В окне Построителя выражений раскройте папку Forms, папку Все формы, выберите форму УСПЕВАЕМОСТЬ и раскройте <Список полей>. Затем сформируйте указанное в качестве условия выражение.

Условие можно ввести и с клавиатуры, используя для удобства ввода окно Область ввода.

3

...

Закрыть

Тип объекта

Форма

Имя объекта

УСПЕВАЕМОСТЬ

Сохранение

Подсказка

4

...

ОстановитьМакрос

Данная команда необходима для завершения работы макроса в случае, если условие, записанное в команде 2, истинно. При ее отсутствии будет осуществлен переход к макрокоманде 5, которая не должна выполняться в случае истинности указанного условия.

5

ПрименитьФильтр

Имя фильтра

Условие отбора

[УСПЕВАЕМОСТЬ]! [ОЦ_ИНФ]=3 And

[УСПЕВАЕМОСТЬ]! [ОЦ_МАТЕМ]=3 And [УСПЕВАЕМОСТЬ]! [ОЦ_ЭКОН]=3

Условие отбора формируется на основе полей таблицы-источника УСПЕВАЕМОСТЬ.

Пояснения к макросу

Если условие, записанное в макрокоманде 2 истинно, то выполняется группа макрокоманд 2, 3, 4; если ложно - то макрокоманда 5. Обратите внимание, что перед каждой из макрокоманд, за исключением первой, выполняемых в случае истинности условия, в столбце Условие вводится многоточие ().

Задание 7.4. Создать макрос, позволяющий выводить диалоговое окно с двумя кнопками [Да] и [Нет] и с вопросом к пользователю о виде открываемой формы СВЕДЕНИЯ О СТУДЕНТЕ1. По нажатии кнопки [Да] должна открываться эта форма без полей ПОДП и ПЛАТА, а по нажатии кнопки [Нет] - открываться с указанными полями.

Макрос сохранить с именем СКРЫТИЕ ПОЛЕЙ В ФОРМЕ.

Выполнение задания

Откройте окно Конструктора макросов. Добавьте столбец Условие, так как данный макрос является макросом с условием. Введите текст нижеприведенного макроса.

Текст макроса СКРЫТИЕ ПОЛЕЙ В ФОРМЕ

Условие

Макрокоманда

Аргументы макрокоманды

1

MsgBox("Открыть форму СВЕДЕНИЯ О СТУДЕНТЕ1 без полей ПОДП и ПЛАТА?";4)=6

Открыть-Форму

Имя формы

СВЕДЕНИЯ О СТУДЕНТЕ1

Режим

Форма

Имя фильтра

Условие отбора

Режим данных

Режим окна

Обычное

В качестве первого аргумента функции MsgBox указан текст, который должен выводиться в диалоговом окне; в качестве второго аргумента - число 4, которое указывает на то, что в окне должны быть две командные кнопки [Да] и [Нет]. Если функция возвращает число 6, то это означает, что была нажата кнопка [Да]; если не число 6, то была нажата кнопка [Нет]. Условие сформируйте с помощью Построителя выражений.

2

...

Задать- Значение

Элемент

[Forms]![СВЕДЕНИЯ О СТУДЕНТЕ1]! [ПОДП].[Visible]

Выражение

Нет

Для того, чтобы поле [ПОДП] не отображалось, его свойству Visible (Отображать) присваивается значение Нет. Выбор этого свойства осуществите в Построителе выражений по схеме: папка Forms Þ папка Все формы Þ форма СВЕДЕНИЯ О СТУДЕНТЕ1 Þ поле ПОДП Þ свойство Visible.

3

...

Задать-Значение

Элемент

[Forms]![СВЕДЕНИЯ О СТУДЕНТЕ1]! [ПЛАТА].[Visible]

Выражение

Нет

Для того, чтобы поле [ПЛАТА] не отображалось, его свойству Visible присваивается значение Нет.

4

Открыть- Форму

Имя формы

СВЕДЕНИЯ О СТУДЕНТЕ1

Режим

Форма

Имя фильтра

Условие отбора

Режим данных

Режим окна

Обычное

Пояснения к макросу

Если функция MsgBox возвращает значение 6, то выполняются команды 2,3; в противном случае - команда 4.

Ä Для выполнения следующего задания создать по таблице НАЧИСЛЕНИЯ автоформу в столбец и сохранить ее с именем НАЧИСЛЕНИЯ.

Задание 7.5 . Создать макрос, позволяющий увеличить размер стипендии студентам за июль на 20 %. Макрос должен обеспечивать просмотр размеров стипендий до и после увеличения.

Макрос сохранить с именем ПОВЫШЕНИЕ СТИПЕНДИИ.

Выполнение задания

Откройте окно Конструктора макросов. Так как данный макрос является групповым, то добавьте столбец "Имя макроса" по команде

Вид/Имена макросов

Введите текст нижеприведенного макроса.

Текст макроса ПОВЫШЕНИЕ СТИПЕНДИИ

Имя макроса

Макрокоманда

Аргументы макрокоманды

1

ОткрытьТаблицу

Имя таблицы

НАЧИСЛЕНИЯ

Режим

Таблица

Режим данных

Изменение

2

ПрименитьФильтр

Имя фильтра

Условие отбора

[НАЧИСЛЕНИЯ]! [ЗА_МЕСЯЦ]='июль' And [НАЧИСЛЕНИЯ]! [КОД_НАЧ]=10

В таблице НАЧИСЛЕНИЯ отбираются записи о начислениях стипендии за июль. Условие отбора задайте в Построителе выражений.

3

Сообщение

Сообщение

После просмотра стипендий в июле нажмите ОК

Сигнал

Да

Тип

Информационное

Заголовок

ПОВЫШЕНИЕ СТИПЕНДИИ

4

ОткрытьФорму

Имя формы

НАЧИСЛЕНИЯ

Режим

Форма

Имя фильтра

Условие отбора

[НАЧИСЛЕНИЯ]! [ЗА_МЕСЯЦ]='июль' And [НАЧИСЛЕНИЯ]! [КОД_НАЧ]=10

Режим данных

Режим окна

Обычное

Открывается форма НАЧИСЛЕНИЯ для отображения записей таблицы НАЧИСЛЕНИЯ, отобранных по условию.

5

ЗапускМакроса

Имя макроса

ПОВЫШЕНИЕ СТИПЕНДИИ.ПОВЫШЕНИЕ

Число повторов

=DCount("*";"НАЧИСЛЕНИЯ"; "[ЗА_МЕСЯЦ]='июль' And [КОД_НАЧ] =10")

Условие повтора

Запускается на выполнение макрос ПОВЫШЕНИЕ, который увеличивает размеры стипендий за июль на 20%. Он входит в состав макроса ПОВЫШЕНИЕ СТИПЕНДИИ. Поэтому его имя является составным. Макрос ПОВЫШЕНИЕ выполняется столько раз, сколько указано в аргументе "Число повторов". Число повторов подсчитывается с помощью функции Dcount и равно количеству записей о начислениях стипендии за июль в таблице НАЧИСЛЕНИЯ. Выражение для его расчета введите в окне Область ввода.

6

Закрыть

Тип объекта

Форма

Имя объекта

НАЧИСЛЕНИЯ

Сохранение

Подсказка

7

ПрименитьФильтр

Имя фильтра

Условие отбора

[НАЧИСЛЕНИЯ]! [ЗА_МЕСЯЦ]='июль' And [НАЧИСЛЕНИЯ]!

[КОД_НАЧ]=10

В таблице НАЧИСЛЕНИЯ отбираются записи о начислениях стипендии за июль (после повышения).

8

Сообщение

Сообщение

После просмотра новых стипендий в июле нажмите ОК

Сигнал

Д

Тип

Информационное

Заголовок

ПОВЫШЕНИЕ СТИПЕНДИИ

9

Закрыть

Тип объекта

Таблица

Имя объекта

НАЧИСЛЕНИЯ

Сохранение

Подсказка

1

ПОВЫШЕНИЕ

ЗадатьЗначение

Элемент

[Forms]![НАЧИСЛЕНИЯ]! [СУММА]

Выражение

[Forms]![НАЧИСЛЕНИЯ]! [СУММА]*1,2

Полю СУММА в текущей записи формы НАЧИСЛЕНИЯ присваивается новое значение.

2

НаЗапись

Тип объекта

Имя объекта

Запись

Следующая

Смещение

Осуществляется переход на следующую запись формы НАЧИСЛЕНИЯ.

3

ОстановитьМакрос

Происходит останов работы макроса ПОВЫШЕНИЕ и возврат к макросу ПОВЫШЕНИЕ СТИПЕНДИИ.

7.2. Макросы, связанные с событиями

7.2.1. Макросы, связанные с событиями элементов управления в форме

Ä Для выполнения следующего задания в форме ОЦЕНКИ СТУДЕНТА на вкладке Студент создать свободное поле. Полю дать имя ВВЕДЕННАЯ ФАМИЛИЯ в строке Имя на вкладке Все его окна свойств. В качестве его надписи ввести текст Введите интересующую Вас фамилию в строке Подпись на вкладке Все в окне ее свойств.

Задание 7.6. Создать макрос, осуществляющий поиск записи в форме ОЦЕНКИ СТУДЕНТА по введенной фамилии. При отсутствии такой записи макрос должен выдавать соответствующее сообщение.

Макрос сохранить с именем ПОИСК.

Выполнение задания

Создание макроса

Откройте окно Конструктора макросов. Добавьте столбец Условие, так как данный макрос является макросом с условием. Введите текст нижеприведенного макроса.

Текст макроса ПОИСК

Условие

Макрокоманда

Аргументы макрокоманды

1

КЭлементуУправления

Имя элемента

ФАМ

Осуществляется переход к полю ФАМ формы, чтобы поиск происходил среди значений этого поля.

2

НайтиЗапись

Образец поиска

=[ВВЕДЕННАЯ ФАМИЛИЯ]

Совпадение

Поля целиком

С учетом регистра

Да

Область поиска

Все

С учетом формата поиска

Нет

Только в текущее поле

Да

Первое вхождение

Да

Осуществляется поиск записи по введеннной фамилии. Если обнаружено совпадение фамилии с введенной, то найденная запись становится текущей; в противном случае текущая запись остается прежней.

3

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ФАМ]<> [Forms]![ОЦЕНКИ СТУДЕНТА]! [ВВЕДЕННАЯ ФАМИЛИЯ]

Сообщение

Сообщение

Запись с введенной фамилией не найдена

Сигнал

Да

Тип

Информационное

Заголовок

ПОИСК

Если после выполнения команды НайтиЗапись фамилия из текущей записи не совпадает с введенной, то это означает, что искомая запись не найдена и выводится соответствующее сообщение.

Связь макроса с событием элемента управления

Макрос ПОИСК должен начинать свою работу после ввода конкретной фамилии в поле ВВЕДЕННАЯ ФАМИЛИЯ формы ОЦЕНКИ СТУДЕНТА. Поэтому его следует связать с событием "После обновления" для этого поля. Для связи необходимо:

открыть форму ОЦЕНКИ СТУДЕНТА в режиме Конструктора;

открыть окно свойств для поля ВВЕДЕННАЯ ФАМИЛИЯ;

 выбрать имя макроса ПОИСК из раскрывающегося списка в строке "После обновления" на вкладке События;

 закрыть окно свойств.

Проверка работы макроса

Для проверки работы макроса необходимо форму ОЦЕНКИ СТУДЕНТА открыть в режиме формы и в поле ВВЕДЕННАЯ ФАМИЛИЯ ввести фамилию студента, сведения о котором имеются в базе данных СТУДЕНТЫ, а затем в этом поле ввести фамилию студента, сведения о котором отсутствуют в базе.

Задание 7.7. Создать макрос, позволяющий в форме ОЦЕНКИ СТУДЕНТА при установке курсора на поле СРЕДНИЙ_БАЛЛ просматривать его значение с другой точностью - с тремя знаками после запятой.

Макрос сохранить с именем СРЕДНИЙ БАЛЛ С ТОЧНОСТЬЮ.

Выполнение задания

Создание макроса

Откройте окно Конструктора макросов. Так как данный макрос является групповым, то добавьте столбец "Имя макроса" по команде

Вид/Имена макросов

Введите текст нижеприведенного макроса.

Текст макроса СРЕДНИЙ БАЛЛ С ТОЧНОСТЬЮ

Имя макроса

Макрокоманда

Аргументы макрокоманды

1

ТОЧНОСТЬ3

ЗадатьЗначение

Элемент

[Forms]![ОЦЕНКИ СТУДЕНТА]! [СРЕДНИЙ_БАЛЛ]. [DecimalPlaces]

Выражение

3

Свойству DecimalPlaces (Число десятичных знаков) поля СРЕДНИЙ_ БАЛЛ формы ОЦЕНКИ СТУДЕНТА присваивается значение 3.

2

ТОЧНОСТЬ1

ЗадатьЗначение

Элемент

[Forms]![ОЦЕНКИ СТУДЕНТА]! [СРЕДНИЙ_БАЛЛ]. [DecimalPlaces]

Выражение

1

Свойству DecimalPlaces поля СРЕДНИЙ_БАЛЛ формы ОЦЕНКИ СТУДЕНТА присваивается значение 1.

Связь макроса с событием элемента управления

При установке курсора на поле СРЕДНИЙ_БАЛЛ в форме ОЦЕНКИ СТУДЕНТА макрос СРЕДНИЙ БАЛЛ С ТОЧНОСТЬЮ.ТОЧНОСТЬ3 должен автоматически изменять количество цифр в дробной части значения среднего балла на 3. Поэтому данный макрос следует связать с событием "Получение фокуса" для поля СРЕДНИЙ_БАЛЛ. Для связи необходимо:

открыть форму ОЦЕНКИ СТУДЕНТА в режиме Конструктора;

 открыть окно свойств для поля СРЕДНИЙ_БАЛЛ;

 выбрать имя макроса СРЕДНИЙ БАЛЛ С ТОЧНОСТЬЮ.ТОЧНОСТЬ3 из раскрывающегося списка в строке " Получение фокуса" на вкладке События;

 закрыть окно свойств.

При установке курсора на другое поле макрос СРЕДНИЙ БАЛЛ С ТОЧНОСТЬЮ.ТОЧНОСТЬ1 должен восстанавливать прежнее количество цифр. Поэтому его следует связать с событием "Потеря фокуса" для поля СРЕДНИЙ_БАЛЛ. Связь выполнить аналогично вышеописанному алгоритму.

Проверка работы макроса

Для проверки работы макроса необходимо форму ОЦЕНКИ СТУДЕНТА открыть в режиме формы и установить курсор в поле СРЕДНИЙ_ БАЛЛ - значение поля отобразится с тремя знаками после запятой. Затем установить курсор в другое поле - значение поля СРЕДНИЙ_БАЛЛ отобразится с одним знаком после запятой.

Ä Для выполнения следующего задания необходимо:

создать по таблице УСПЕВАЕМОСТЬ ленточную автоформу УСПЕВАЕМОСТЬ1;

 открыть эту форму в режиме Конструктора и выключить кнопку [Мастера] Панели элементов (если она включена);

 вставить четыре кнопки в раздел "Примечание формы", пользуясь элементом управления [Кнопка] этой панели;

изменить подпись первой кнопки на ФК-1, второй - на ФК-2, третьей -на ФК-3, четвертой - на Все группы, набрав эти тексты в строке свойства Подпись на вкладке Все окна свойств для каждой из этих кнопок.

Вид формы УСПЕВАЕМОСТЬ1 с кнопками в режиме Конструктора должен быть как на рис. 7.3.

ПРАКТИКУМ В СУБД ACCESS

Рис. 7.3. Вид формы УСПЕВАЕМОСТЬ1

Задание 7.8. Создать групповой макрос, отдельные макросы которого позволяют за кнопками формы УСПЕВАЕМОСТЬ1 закреплять действие - просмотр сведений об успеваемости в отдельных группах или во всех группах.

Макрос сохранить с именем ДЛЯ ФИЛЬТРАЦИИ.

Выполнение задания

Создание макроса

Откройте окно Конструктора макросов. Так как данный макрос является групповым, то добавьте столбец "Имя макроса". Введите текст нижеприведенного макроса.

Текст макроса ДЛЯ ФИЛЬТРАЦИИ

Имя макроса

Макрокоманда

Аргументы макрокоманды

1

ФК-1

ПрименитьФильтр

Имя фильтра

Условие отбора

[УСПЕВАЕМОСТЬ]! [ГРУП]="ФК-1"

В таблице УСПЕВАЕМОСТЬ отбираются записи, относящиеся к группе ФК-1.

2

ФК-2

ПрименитьФильтр

Имя фильтра

Условие отбора

[УСПЕВАЕМОСТЬ]! [ГРУП]="ФК-2"

3

ФК-3

ПрименитьФильтр

Имя фильтра

Условие отбора

[УСПЕВАЕМОСТЬ]! [ГРУП]="ФК-3"

4

Все

ПоказатьВсеЗаписи

Связь макроса с событием элемента управления

Необходимо, чтобы при нажатии кнопок в форме УСПЕВАЕМОСТЬ1 отображались соответствующие записи. Поэтому каждый из макросов следует связать с событием "Нажатие кнопки" соответствующей кнопки. Для связи макроса ДЛЯ ФИЛЬТРАЦИИ.ФК-1 с событием "Нажатие кнопки" для кнопки с подписью "ФК-1" необходимо:

 открыть форму УСПЕВАЕМОСТЬ1 в режиме Конструктора;

 открыть окно свойств для кнопки с подписью "ФК-1";

 выбрать имя макроса ДЛЯ ФИЛЬТРАЦИИ.ФК-1 из раскрывающегося списка в строке " Нажатие кнопки" на вкладке События;

 закрыть окно свойств.

Связь остальных макросов - ДЛЯ ФИЛЬТРАЦИИ.ФК-2, ДЛЯ ФИЛЬТРАЦИИ.ФК-3, ДЛЯ ФИЛЬТРАЦИИ.ВСЕ - выполнить аналогично.

Проверка работы макроса

Для проверки работы макроса необходимо форму УСПЕВАЕМОСТЬ1 открыть в режиме формы и после нажатия каждой кнопки просмотреть соответствующие записи.

7.2.2. Макрос, связанный с событием раздела формы

Задание 7.9. Создать макрос, позволяющий при двойном щелчке в Области данных формы ОЦЕНКИ СТУДЕНТА, имеющей фон серого цвета, изменять его на голубой, а при двойном щелчке по голубому фону изменять его на серый.

Макрос сохранить с именем ЦВЕТ ОБЛАСТИ ДАННЫХ.

Выполнение задания

Создание макроса

Откройте окно Конструктора макросов. Так как данный макрос является макросом с условием, то добавьте столбец "Условие". Введите текст нижеприведенного макроса.

Текст макроса ЦВЕТ ОБЛАСТИ ДАННЫХ

Условие

Макрокоманда

Аргументы макрокоманды

1

[Forms]![ОЦЕНКИ СТУДЕНТА]. [Section](0).[BackColor]=12632256

ЗадатьЗначение

Элемент

[Forms]![ОЦЕНКИ СТУДЕНТА]. [Section](0). [BackColor]

Выражение

16777088

Если код цвета Области данных (Section 0) равен 12632256 (код серого цвета), то цвет этого раздела изменяется на голубой - свойству BackColor задается значение 16777088 (код голубого цвета).

2

...

ОстановитьМакрос

3

ЗадатьЗначение

Элемент

[Forms]![ОЦЕНКИ СТУДЕНТА]. [Section](0). [BackColor]

Выражение

12632256

Если цвет Области данных не серый, то он изменяется на серый.

Связь макроса с событием раздела формы

Данный макрос следует связать с событием "Двойное нажатие кнопки" для раздела "Область данных". Для связи необходимо:

 ткрыть форму ОЦЕНКИ СТУДЕНТА в режиме Конструктора;

 открыть окно свойств для раздела "Область данных";

 выбрать имя макроса ЦВЕТ ОБЛАСТИ ДАННЫХ из раскрывающегося списка в строке "Двойное нажатие кнопки" на вкладке События;

 закрыть окно свойств.

Проверка работы макроса

Для проверки работы макроса необходимо форму ОЦЕНКИ СТУДЕНТА открыть в режиме формы и дважды щелкнуть в Области данных - цвет фона раздела изменится на голубой. При повторном двойном щелчке в этом разделе цвет его фона изменится на серый.

7.2.3. Макросы, связанные с событиями формы

Задание 7.10. Создать макрос, позволяющий при открытии формы ОЦЕНКИ СТУДЕНТА устанавливать курсор на поле НОМ_ЗАЧ вкладки Успеваемость (по умолчанию курсор устанавливается на первое поле первой вкладки - поле ФАМ вкладки Студент).

Макрос сохранить с именем ПЕРЕВОД КУРСОРА.

Выполнение задания

Создание макроса

Откройте окно Конструктора макросов и введите текст нижеприведенного макроса.

Текст макроса ПЕРЕВОД КУРСОРА

Макрокоманда

Аргументы макрокоманды

КЭлементуУправления

Имя элемента

НОМ_ЗАЧ

Курсор устанавливается на поле НОМ_ЗАЧ.

Связь макроса с событием формы

Для связи макроса ПЕРЕВОД КУРСОРА с событием формы "Открытие" необходимо:

 открыть форму ОЦЕНКИ СТУДЕНТА в режиме Конструктора;

 открыть окно свойств для формы по команде

Вид/Свойства

 выбрать имя макроса ПЕРЕВОД КУРСОРА из раскрывающегося списка в строке "Открытие" на вкладке События;

закрыть окно свойств.

Проверка работы макроса

Для проверки работы макроса необходимо открыть форму ОЦЕНКИ СТУДЕНТА в режиме формы и убедиться, что курсор находится в поле НОМ_ЗАЧ.

Задание 7.11. Создать макрос, изменяющий в форме ОЦЕНКИ СТУДЕНТА цвет фона полей ОЦ_МАТЕМ, ОЦ_ИНФ, ОЦ_ЭКОН, имеющих значение 2, с белого на красный.

Макрос сохранить с именем ИЗМЕНЕНИЕ ЦВЕТА.

Выполнение задания

Создание макроса

Откройте окно Конструктора макросов. Так как данный макрос является макросом с условием, то добавьте столбец Условие. Введите текст нижеприведенного макроса.

Текст макроса ИЗМЕНЕНИЕ ЦВЕТА

Условие

Макрокоманда

Аргументы макрокоманды

1

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_ИНФ]=2

ЗадатьЗначение

Элемент

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_ИНФ].[BackColor]

Выражение

255

Для записей формы ОЦЕНКИ СТУДЕНТА, у которых значение поля ОЦ_ИНФ равно 2, цвет фона этого поля изменяется на красный - свойству BackColor задается значение 255 (код красного цвета).

2

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_ИНФ]<>2

ЗадатьЗначение

Элемент

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_ИНФ].[BackColor]

Выражение

16777215

Для фона поля ОЦ_ИНФ восстанавливается белый цвет.

3

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_МАТЕМ]=2

ЗадатьЗначение

Элемент

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_МАТЕМ]. [BackColor]

Выражение

255

4

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_МАТЕМ]<>2

ЗадатьЗначение

Элемент

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_МАТЕМ]. [BackColor]

Выражение

16777215

5

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_ЭКОН]=2

ЗадатьЗначение

Элемент

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_ЭКОН].

[BackColor]

Выражение

255

6

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_ЭКОН]<>2

ЗадатьЗначение

Элемент

[Forms]![ОЦЕНКИ СТУДЕНТА]! [ОЦ_ЭКОН].

[BackColor]

Выражение

1677721

Связь макроса с событием формы

Изменение цвета фона поля ОЦ_МАТЕМ (ОЦ_ИНФ, ОЦ_ЭКОН) должно происходить при переходе к записи, у которой это поле принимает значение 2 (когда такая запись становится активной). Поэтому макрос ИЗМЕНЕНИЕ ЦВЕТА следует связать с событием Текущая запись. Для связи необходимо:

открыть форму ОЦЕНКИ СТУДЕНТА в режиме Конструктора;

 открыть окно свойств формы;

 выбрать имя макроса ИЗМЕНЕНИЕ ЦВЕТА из раскрывающегося списка в строке "Текущая запись" на вкладке События;

 закрыть окно свойств.

Проверка работы макроса

Для проверки работы макроса необходимо открыть форму ОЦЕНКИ СТУДЕНТА в режиме формы и просмотреть записи. Обратить внимание на цвет фона полей, имеющих значение оценок 2.

7.2.4. Макросы, связанные с событиями раздела отчета

Ä Для выполнения следующего задания открыть отчет СВОДНАЯ ВЕДОМОСТЬ и сохранить его по команде

Файл/Сохранить как

с именем СВОДНАЯ ВЕДОМОСТЬ СО СКРЫТЫМИ СТРОКАМИ.

Задание 7.12. Создать макрос, позволяющий в отчете СВОДНАЯ ВЕДОМОСТЬ СО СКРЫТЫМИ СТРОКАМИ выводить только итоговые строки.

Макрос сохранить с именем СКРЫТИЕ СТРОК.

Выполнение задания

Создание макроса

Откройте окно Конструктора макросов. Введите текст нижеприведенного макроса.

Текст макроса СКРЫТИЕ СТРОК

Макрокоманда

Аргументы макрокоманды

1

ЗадатьЗначение

Элемент

[Reports]![СВОДНАЯ ВЕДОМОСТЬ СО СКРЫТЫМИ СТРОКАМИ]. [Section](0).[Visible]

Выражение

Нет

Свойству Visible (Отображать) раздела отчета "Область Данных" задается значение Нет.

2

ЗадатьЗначение

Элемент

[Reports]![СВОДНАЯ ВЕДОМОСТЬ СО СКРЫТЫМИ СТРОКАМИ]. [Section](0).[DisplayWhen]

Выражение

Нет

Свойству DisplayWhen (Отображать объект на время печати) раздела отчета "Область Данных" задается значение Нет. При отсутствии этой команды возможно, что строки, сконструированные в Области данных, будут отображаться и помечаться черным цветом.

Связь макроса с событием раздела отчета

В отчете СВОДНАЯ ВЕДОМОСТЬ СО СКРЫТЫМИ СТРОКАМИ не должны выводиться строки, которые сконструированы в разделе "Область данных" (изменяется внешний вид отчета). Поэтому макрос СКРЫТИЕ СТРОК следует связать с событием Форматирование для раздела "Область данных".

Для связи необходимо:

 открыть отчет СВОДНАЯ ВЕДОМОСТЬ СО СКРЫТЫМИ СТРОКАМИ в режиме Конструктора;

 активизировать раздел "Область данных";

 открыть для него окно свойств;

 выбрать имя макроса СКРЫТИЕ СТРОК из раскрывающегося списка в строке "Форматирование" на вкладке События;

 закрыть окно свойств.

Проверка работы макроса

Для проверки работы макроса необходимо осуществить просмотр отчета СВОДНАЯ ВЕДОМОСТЬ СО СКРЫТЫМИ СТРОКАМИ и убедиться в наличии в нем только итоговых строк.

Ä Для выполнения следующего задания открыть отчет ВЕДОМОСТЬ в режиме Конструктора и в разделе "Область данных", пользуясь кнопкой [Линия] панели элементов, провести линию под полем Стипендия. Созданному элементу управления дать имя Подчеркивание, пользуясь его окном свойств. Модифицированный отчет сохранить по команде

Файл/Сохранить как

с именем ВЕДОМОСТЬ С ПОДЧЕРКИВАНИЕМ.

Задание 7.13. Создать макрос, позволяющий в отчете ВЕДОМОСТЬ С ПОДЧЕРКИВАНИЕМ подчеркивать значения поля СТИПЕНДИЯ, меньшие 35000.

Макрос сохранить с именем ПОДЧЕРКИВАНИЕ В ОТЧЕТЕ.

Выполнение задания

Создание макроса

Откройте окно Конструктора макросов. Так как данный макрос является макросом с условием, то добавьте столбец Условие. Введите текст нижеприведенного макроса.

Текст макроса ПОДЧЕРКИВАНИЕ В ОТЧЕТЕ

Условие

Макрокоманда

Аргументы макрокоманды

1

[Reports]![ВЕДОМОСТЬ С ПОДЧЕРКИВАНИЕМ]! [Стипендия]<35000

ЗадатьЗначение

Элемент

[Reports]![ВЕДОМОСТЬ С ПОДЧЕРКИВАНИЕМ]! [Подчеркивание].[Visible]

Выражение

Да

Если значение поля Стипендия меньше 35000, то свойству Visible (Отображать) элемента управления Подчеркивание задается значение Да.

2

Not [Reports]![ВЕДОМОСТЬ С ПОДЧЕРКИВАНИЕМ]! [Стипендия]<35000

ЗадатьЗначение

Элемент

[Reports]![ВЕДОМОСТЬ С ПОДЧЕРКИВАНИЕМ]! [Подчеркивание].[Visible]

Выражение

Нет

Если значение поля Стипендия не меньше 35000, то свойству Visible элемента управления Подчеркивание задается значение Нет.

Связь макроса с событием раздела отчета

В отчете ВЕДОМОСТЬ С ПОДЧЕРКИВАНИЕМ линия должна выводиться или не выводиться в зависимости от значения поля Стипендия (изменяется внешний вид отчета). Поэтому макрос ПОДЧЕРКИВАНИЕ В ОТЧЕТЕ следует связать с событием Форматирование для раздела "Область данных".

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

Проверка работы макроса

Для проверки работы макроса необходимо осуществить просмотр отчета ВЕДОМОСТЬ С ПОДЧЕРКИВАНИЕМ. Обратить внимание на то, что значения стипендии, меньшие 35000, подчеркнуты.

7.2.5. Макросы, связанные с событиями отчета

Ä Для выполнения следующего задания необходимо создать запрос для отбора сведений о начислениях за июнь студентам группы ФК-3. Для этого в процессе создания запроса в окне Добавление таблицы на вкладке Запросы выберите запрос НАЧИСЛЕНО ИЮНЬ и в окне Конструктора задайте условие отбора ФК-3. Созданный запрос сохраните с именем НАЧИСЛЕНО ИЮНЬ ФК-3. Кроме того, откройте отчет СВОДНАЯ ВЕДОМОСТЬ и сохраните его по команде

Файл/Сохранить как

с именем СВОДНАЯ ВЕДОМОСТЬ С ФИЛЬТРАЦИЕЙ.

Задание 7.14. Создать макрос, позволяющий в отчете СВОДНАЯ ВЕДОМОСТЬ С ФИЛЬТРАЦИЕЙ выводить сведения только о студентах группы ФК-3.

Макрос сохранить с именем ФИЛЬТР ДО ПЕЧАТИ.

Выполнение задания

Создание макроса

Откройте окно Конструктора макросов. Введите текст нижеприведенного макроса.

Текст макроса ФИЛЬТР ДО ПЕЧАТИ

Макрокоманда

Аргументы макрокоманды

ПрименитьФильтр

Имя фильтра

НАЧИСЛЕНО ИЮНЬ ФК-3

Условие отбора

Фильтруются в отчете записи, которые отобраны в запросе НАЧИСЛЕНО ИЮНЬ ФК-3.

Связь макроса с событием отчета

С целью распечатки в отчете части записей применяется фильтр, результат которого просматривается при открытии отчета. Поэтому макрос ФИЛЬТР ДО ПЕЧАТИ следует связать с событием отчета Открытие.

Для связи необходимо:

 открыть отчет СВОДНАЯ ВЕДОМОСТЬ С ФИЛЬТРАЦИЕЙ в режиме Конструктора;

 открыть для него окно свойств;

 выбрать имя макроса ФИЛЬТР ДО ПЕЧАТИ из раскрывающегося списка в строке "Открытие" на вкладке События;

 закрыть окно свойств.

Проверка работы макроса

Для проверки работы макроса необходимо осуществить просмотр отчета СВОДНАЯ ВЕДОМОСТЬ С ФИЛЬТРАЦИЕЙ и обратить внимание на то, что в отчете отображаются только строки с информацией о студентах группы ФК-3.

Ä Для выполнения следующего задания открыть отчет СВОДНАЯ ВЕДОМОСТЬ и сохранить его по команде

Файл/Сохранить как

с именем СВОДНАЯ ВЕДОМОСТЬ С СООБЩЕНИЕМ. В режиме Конструктора в раздел "Примечание группы" вставить элемент управления "Разрыв страницы" ниже элемента управления Линия. В этом случае данные о каждой группе будут выводиться с новой страницы.

Задание 7.15. Создать макрос, позволяющий при просмотре отчета СВОДНАЯ ВЕДОМОСТЬ С СООБЩЕНИЕМ в случае перехода к новой странице выводить сообщение, содержащее номер этой страницы.

Макрос сохранить с именем ПЕРЕХОД К СТРАНИЦЕ.

Выполнение задания

Создание макроса

Откройте окно Конструктора макросов. Введите текст нижеприведенного макроса.

Текст макроса ПЕРЕХОД К СТРАНИЦЕ

Макрокоманда

Аргументы макрокоманды

Сообщение

Сообщение

="Просмотрите страницу " & [Page]

Сигнал

Да

Тип

Информационное

Заголовок

ПЕРЕХОД К СТРАНИЦЕ

Аргумент Сообщение включает системную переменную Page, значениями которой являются номера страниц.

Связь макроса с событием отчета

Данный макрос позволяет выводить сообщение при переходе к следующей странице. Поэтому его следует связать с событием отчета Страница.

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

Проверка работы макроса

Для проверки работы макроса необходимо осуществить постраничный просмотр отчета СВОДНАЯ ВЕДОМОСТЬ С СООБЩЕНИЕМ. Обратить внимание на то, что при переходе к следующей странице появляется окно с сообщением, содержащим номер этой страницы.


© 2010-2022