Методические указания к лабораторной работе №3. >>
Создание форм и отчётов>>
> >
Задание
на лабораторную работу:>>
|
Основываясь на результатах лабораторных работ
1 и 2, разработать:>>
- отчёты, содержащие результаты выполнения
запросов к БД;>>
- отчёты, отображающие содержимое таблиц БД;>>
- форму, содержащую необходимый набор
компонентов управления. Форма должна позволять открытие каждой из
таблиц для редактирования, а также запускать имеющиеся в базе запросы и
открывать отчёты для просмотра.>>
|
> >
Указания
к выполнению работы>>
Формы и отчёты являются типами объектов базы данных (БД), которые
обычно используются для отображения её данных. >>
Кроме того, форму можно также использовать как интерфейсное окно
(с кнопками и другими элементами), открывающее другие формы или отчеты БД,
а также как пользовательское диалоговое окно для ввода данных и
выполнения действий, определяемых введенными данными.>>
Форму или отчёт можно создать одним из 3
способов:>>
1) При помощи автоформ
на основе таблицы или запроса. С помощью автоформ можно создавать формы, в которых выводятся
все поля и записи базовой таблицы или запроса. >>
Если выбранный источник записей имеет связанные таблицы или
запросы, то в форме также будут присутствовать все поля и записи этих
источников записей. >>
Действия по созданию:>>
>1.
>В окне базы данных выберите Формы
в списке Объекты. >>
- Нажмите кнопку Создать
на панели инструментов окна базы данных. >>
- В диалоговом окне Новая форма
выберите мастера (рис.1). >>
- Автоформа: в столбец. Каждое поле располагается на
отдельной строке; подпись находится слева от поля. >>
- Автоформа: ленточная. Поля, образующие одну
запись, расположены в одной строке; их подписи выводятся один раз в
верхней части формы. >>
- Автоформа: табличная. Поля записей расположены в
формате таблицы, где каждой записи соответствует одна строка, а
каждому полю один столбец. Имена полей служат заголовками столбцов.
>>
- Автоформа: сводная таблица. Форма открывается в режиме
сводной таблицы. Имеется возможность добавлять поля путем их
перетаскивания из списка полей в различные области макета. >>
- Автоформа: сводная диаграмма. Форма открывается в режиме
сводной диаграммы. Имеется возможность добавлять поля путем их
перетаскивания из списка полей в различные области макета. >>
- Выберите таблицу или запрос, содержащие
данные, на основе которых создается форма. (рис.1)>>
- Нажмите кнопку OK. >>
Microsoft Access применяет к
форме автоформат,
который использовался последним. Если до этого
формы с помощью мастера не создавались и не
использовалась команда Автоформат в меню
Формат, будет применяться стандартный автоформат.>>
!-->>>>>
Рис.1. Создание формы с помощью механизма автоформ>>
!-->>>>>
Рис.2. Внешний вид формы после её запуска>>
!-->>>>>
Рис.3. Вид созданной формы в режиме конструктора>>
Как видно из рис.2, содержимое формы
похоже на таблицу. Однако возможности форм не ограничены только лишь
выводом таблиц на экран.>>
2) При помощи мастера на основе одной или
нескольких таблиц или запросов. Мастер задает
подробные вопросы об источниках записей, полях, макете, требуемых
форматах и создает форму на основании полученных ответов. >>
Действия по созданию:>>
- В окне базы данных выберите Формы
в списке Объекты. >>
- Нажмите кнопку Создать
на панели инструментов окна базы данных. >>
- В диалоговом окне Новая форма
выберите нужного мастера. Описание мастера появляется в левой части
диалогового окна. (рис.4)>>
- Выберите имя
таблицы или другого источника записей, содержащего данные, на
которых должна быть основана форма. (рис.4)>>
Примечание. Если в списке выбран «Мастер форм» или «Сводная
таблица», то этот шаг не обязателен — источник записей для формы
можно указать позднее. >>
- Нажмите кнопку
OK. >>
>6.
>Следуйте
инструкциям мастера. >>
Созданную форму можно изменить в режиме конструктора, сводной таблицы или сводной диаграммы (рис.5). >>
!-->>>>>
Рис.4. Создание формы с помощью мастера форм>>
!-->>>!-->>>>>
Рис.5. Внешний вид (слева) и внутреннее
устройство (справа) «мастерской» формы>>
Примечания>>
>·
>Для
добавления полей из нескольких таблиц или запросов в форму не нажимайте
кнопки Далее или Готово
после выбора полей из первой таблицы или запроса в мастере форм.
Повторяйте шаги, которые необходимы для выбора таблицы или запроса и
указания полей, пока в форму не будут включены все нужные поля.>>
>·
>Если была
выбрана одна из автоформ, то к новой
форме будет применен автоформат, который использовался последним (либо в
мастере форм, либо с помощью команды Автоформат
меню Формат в режиме конструктора).>>
> >
3) Вручную в режиме конструктора.
Сначала создается базовая форма, которая затем изменяется в соответствии
с требованиями в режиме конструктора.>>
Действия по созданию:>>
>1.
>В окне базы данных в списке Объекты
выберите Формы. >>
- На панели инструментов окна базы данных
нажмите кнопку Создать. >>
- В диалоговом окне Новая форма
выберите строку Конструктор (рис.6). >>
- (Необязательный
шаг) Выберите имя таблицы
или другого источника записей,
содержащего данные, на которых нужно основать форму. Если форма не
будет содержать данные (например, если нужно создать кнопочную форму
для открытия других форм или отчетов или если нужно создать
пользовательское диалоговое окно), не выбирайте ничего из этого
списка. (рис.6)>>
Чтобы создаваемая форма использовала значения из нескольких
таблиц, она должна быть основана на запросе.>>
>5.
>Нажмите
кнопку OK. >>
!-->>>>>
Рис.6. Выбор таблицы и режима конструктора при создании новой
формы>>
В
результате форма будет открыта в режиме конструктора. После этого на неё
можно добавлять элементы управления, привычные по Visual Basic:>>
Элементы
управления располагаются на панели инструментов «Панель элементов».
Обычно она располагается слева или сверху от основного окна. Если её на
экране нет, то необходимо её включить: «Вид / Панели инструментов /
Панель элементов» (рис.7, 8).>>
> >
!-->>>>>
Рис.7. Путь к подключению «Панели элементов»>>
!-->>>>>
Рис.8. Внешний вид и компоненты «Панели
элементов»>>
> >
Для размещения компонента на форме
в режиме конструктора делаем
следующие шаги:>>
- Выбираем
нужный компонент на панели элементов.>>
- Переводим
курсор на форму.>>
- Одним левым
кликом указываем начальную точку элемента.>>
- Перемещая
курсор, определяем размер элемента.>>
- Одним левым
кликом фиксируем размер элемента.>>
> >
Для некоторых компонентов после
фиксации размера запустится «мастер». Рассмотрим его работу для компонента «Кнопка»:>>
- Откроется окно
типа действия. Действия сгруппированы по категориям (рис.9). Ищем
среди них и выбираем наиболее подходящее. Например – «Разное»/«Выполнить
запрос» (рис.10).>>
- В окне №2
предложено уточнить, с каким объектом БД будет иметь дело кнопка.
Если на шаге 1 выбран пункт «Выполнить запрос», то здесь нужно
выбрать непосредственно выполняемый запрос (рис.11).>>
- Окно №3
позволяет выбрать внешний вид кнопки: с надписью или с картинкой
(рис.12).>>
- Окно №4 предлагает
изменить имя создаваемой кнопки, если пользователь хочет (рис.13).>>
> >
Для каждого элемента можно просмотреть программу-макрос,
выполняющую его главную функцию. Для этого выбираем элемент, а затем в
меню «Вид» выбираем пункт
«Программа». Откроется окно редактора Visual Basic, в котором например
для созданной нами кнопки будет отображён вот такой код:>>
> >
Private Sub Кнопка16_Click()>>
‘ Эта строка отвечает
за реакцию на ошибки в работе кнопки>>
On Error GoTo Err_Кнопка16_Click>>
> >
‘ Здесь объявляется
строка для имени открываемого запроса.>>
Dim stDocName As String>>
> >
‘ Здесь в строку
записывается имя запроса. >>
‘ Оно представлено в
виде кодов каждой буквы.>>
stDocName = ChrW(1040)
& ChrW(1083) & ChrW(1092)
& ChrW(1072) & ChrW(1074)
& ChrW(1080) & ChrW(1090)
& ChrW(1085) & ChrW(1099)
& ChrW(1081) & ChrW(32)
& ChrW(1074) & ChrW(1099)
& ChrW(1073) & ChrW(1086)
& ChrW(1088)>>
> >
‘ но задать имя
запроса можно и как обычный текст:>>
stDocName = “Алфавитный выбор”>>
> >
‘ Здесь DoCmd – объект, объединяющий группу команд >>
‘ для работы с БД, а OpenQuery – непосредственно команда >>
‘ на открытие запроса.
Ей указываются имя запроса, >>
‘ способ просмотра и
способ доступа: добавление, >>
‘ удаление или только
чтение.>>
DoCmd.OpenQuery stDocName, acNormal, acEdit>>
> >
‘ Здесь выполнение подпрограммы
закончится>>
Exit_Кнопка16_Click:>>
Exit Sub>>
> >
‘ а здесь в случае
ошибки будет выдано сообщение о ней.>>
Err_Кнопка16_Click:>>
MsgBox
Err.Description>>
Resume Exit_Кнопка16_Click>>
>>
End Sub>>
> >
(продолжение см. ниже)>>
!-->>>>>
Рис.9. Выбор типа действия создаваемой кнопки>>
> >
!-->>>>>
Рис.10. Действие «выполнить запрос»>>
!-->>>>>
Рис.11. Выбор запроса>>
> >
!-->>>>>
Рис.12. Выбор внешнего оформления кнопки>>
!-->>>>>
Рис.13. Окно задания имени кнопки>>
> >
> >
Создание кнопки для открытия
таблицы на редактирование:>>
> >
Чтобы при нажатии на кнопку могла открыться таблица для
редактирования её записей, нам необходимо сделать следующие шаги:>>
- Создать
кнопку. Сделать это можно так, как уже рассматривалось выше.>>
- Открыть
программный код её выполнения (меню «Вид/Программа»).>>
- Вписать вместо
имеющегося там кода команду на открытие таблицы.>>
В результате код для этой кнопки может выглядеть так:>>
> >
Private Sub Кнопка17_Click()>>
On Error GoTo Err_Кнопка17_Click>>
> >
‘ OpenTable открывает таблицу. Ей надо указать имя
таблицы,>>
‘ способ просмотра и
один из способов доступа: >>
‘ добавление,
редактирование или только чтение.>>
DoCmd.OpenTable "КАТЕГОРИИ", acViewNormal, acEdit>>
> >
Exit_Кнопка17_Click:>>
Exit Sub>>
> >
Err_Кнопка17_Click:>>
MsgBox
Err.Description>>
Resume Exit_Кнопка17_Click>>
>>
End Sub>>
> >
|