Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические задания / Prakticheskaya_rabota_12

.docx
Скачиваний:
23
Добавлен:
09.12.2018
Размер:
16.98 Кб
Скачать

Практическая работа №12

Создание формы средствами VBA.

Цель работы: научиться создавать процедуру для создания формы средствами VBA на основе таблицы, размещения в ней элементов управления, научиться размещать процедуру в стандартном модуле, организовывать её выполнение. Теоретическая часть

Создайте в базе данных Учебный процесс средствами VBA новую форму на основе таблицы ГРУППА, отображающую содержимое поля НГ (номер группы).

Новая форма может быть создана в процедуре Access VBA методом CreateForm объекта Application, который возвращает объект Form. Метод CreateForm открывает пустую новую форму в режиме конструктора.

Практическая часть

Чтобы указать источник данных новой формы, используется свойство формы RecordSource В качестве значения свойства может быть использовано имя таблицы, запроса или SQL-оператор. Присваиваемое свойству значение должно иметь текстовый (string) тип данных

Для размещения в форме различных элементов управления используется метод CreateControl, с помощью которого можно создать и поле (элемент TextBox) с присоединенной надписью (элемент Label). Аргументы этого метода указывают:

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

• второй — тип создаваемого элемента управления;

• третий — область формы, в которой следует разместить элемент; по умолчанию это область данных (Detail section);

• четвертый — имя родительского элемента, к которому присоединяется создаваемый;

• пятый — имя поля, которое должно отображаться элементом управления TextBox, или подпись для элемента bеl;

• шестой — координаты размещения левого верхнего угла элемента,

• седьмой — ширину и высоту элемента.

Для записи аргументов используются константы Access.

Перед созданием элемента управления переменным intLabelX, intLabelY intDataX, intDataY присваиваются значения, которые определяют координаты его размещения.

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

Sub НоваяФорма ()

    • Определение объектной переменной для формы

Dim frmAs Form

    • Создание новой формы и сохранение ссыпки на нее в объектной переменной

Set frm = CreateForm

    • Определение в качестве источника данных формы таблицы ГГРППА

frm.RecordSource = "ГРУППА"

Определение объектных переменных для поля и надписи в форме Dim ctlLabel As Control, ctlText As Control

    • Определение переменных для координат размещения элементов

Dim intDataX As Integer, intDataY As Integer

Dim intLabelX As Integer, intLabelY As Integer

    • Присваивание значений координатам размещения элементов управления форма

intLabelX = 100

intLabelY =100

intDataX = 100

intDataY = 500

    • Создание в форме элемента управления — поле НГ по умолчанию в разделе данных и стандартного размера

Set ctlText = CreateControl(frm.Name, acTextBox,, "", "НГ",intDataX, intDataY)

    • Создание элемента управления — надпись поля НГ

setctlLabel = CreateControl(frm.Name, acLabel,,ctlText.Name,"Номер группы",intLabelX, intLabelY)

    • Восстановить форму из свернутого состояния

DoCmd.Restore

End Sub

Дополните процедуру следующими инструкциями:

Эта инструкция выведет в окно отладки имя вновь созданной формы Debug.Print frm.Name

Изменение имени поля (по умолчанию поле имеет имя поле)

сtlText.Name = "полюшко"

Эта инструкция выведет в окно Immediate Windows имя поля

Debug. Print ctlText. Name

Закрытие формы с сохранением

DoCmdCloseacForm, frm.Name, acSaveYes

Разместите процедуру в стандартном модуле. Для выполнения активной процедуры выберите в редакторе Visual Basic команду Run Sub/UserForm в меню Run. В противном случае выберите команду RunMacro | Run. При выполнении последней команды отобразится окно с полным списком процедур всех стандартных модулей проекта. Выберите процедуру Новая Форма и выполните ее. Напомним, что окно отладки Immediate открывается в редакторе Visual Basic командой View | ImmediateWindow.

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

Контрольные вопросы

  1. Как создать новую форму с помощью VBA?

  2. Чтобы указать источник данных новой формы, используется…?

  3. Какой используется метод для размещения в форме различных элементов управления?

  4. Что используется для записи аргументов?

  5. Перед созданием элемента управления что делается с переменными?

  6. Как записывается инструкция процедуры Создание новой формы и сохранение ссылки на нее в объектной переменной?

  7. Как записывается инструкция процедуры Восстановить форму из свернутого состояния?

  8. Как записывается инструкция процедуры Закрытие формы с сохранением?

  9. Для выполнения активной процедуры необходимо?

  10. Как проверить правильность работы процедуры?

Соседние файлы в папке Практические задания