Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA_Labs.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
8.08 Mб
Скачать

Задание для самостоятельной работы

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

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

  1. Какого типа объектная переменная используется для ссылки на описа­ние таблицы, поля, индекса?

  2. Какой метод, какого объекта используется для создания таблицы?

  3. Какой метод, какого объекта используется для создания поля таблицы?

  4. В какое семейство, какого объекта необходимо добавить вновь созданное поле?

  5. Какое свойство индекса и какое значение объявляет его первичным ключом?

  6. Какие методы используются для создания индекса?

  7. Можно ли включить новую таблицу в семейство TabieDefs прежде чем определены ее поля?

Лабораторная работа №5 Фильтрация записей формы по значению, выбранному из списка другой формы

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

Пусть в форме Группа_1 (рис. 5.1.) имеется элемент управления со списком зна­чений (номеров групп) и при выборе номера группы должна выводиться на экран форма Студент со списком студентов, обучающихся в этой группе. Источ­ником записей формы Студент является таблица СТУДЕНТ.

Рис. 5.1. Форма Группа_1 со списком номеров групп

1. Для решения этой задачи сначала создайте в режиме конструктора форму Группа_1 (рис. 5.1). В свойствах формы на вкладке события напротив строки После обновления выберите значение [Процедура обработки событий] и щелкните на кнопке Построить. Если элемент управления имеет имя ПолеСоСписком0, процедура обработки события будет иметь имя ПолеСоСписком0_AfterUpdate()._AfterUpdate()

Private Sub ПолеСоСписком0_AfterUpdate()

End Sub

2. Используйте функцию MsgBox для организации диалога с пользователем, уточняющего правильность его выбора:

• определите строковую переменную Dim otvet as string

• присвойте этой переменной значение, возвращаемое функцией MsgBox

Otvet = MsgBox("Вас интересуют студенты,обучающиеся в группе " _

& Me![ПолеСоСписком0] & " ?", vbOKCancel)

В текст первого аргумента функции включите ссылку на значение, выбранное в списке. При обращении к значению элемента управления ПолеСоСписком0 используйте ссылку на текущий объект – Mе!. Текущим объ­ектом является форма Группа_1.

В качестве второго аргумента используйте константу VBA, которая оп­ределит вывод в окне диалога двух кнопок ОК и Отмена (Cancel).

• Используйте инструкцию условного перехода if ... End if для про­верки возвращаемого функцией значения и завершения выполнения процедуры Exit Sub, если вы решили, что группа выбрана не верно, и нажали кнопку Отмена.

If Otvet = vbCancel Then

Exit Sub

End If

3. Для открытия формы Студент, построенной на таблице СТУДЕНТ, воспользуйтесь объектом DoCmd и его методом ОpenForm. В качестве аргументов, указывающих имя открываемой формы и условия отбора записей используйте строковые значения:

DoCmd.OpenForm "СТУДЕНТ", , , "СТУДЕНТ!НГ = Forms!Группа_1![ПолеСоСписком0]"

Окончательно процедура обработки события После обновления управления ПолеСоСписком0 запишется в виде:

Сообщение, выданное в результате выполнения в процедуре функции MsgBox при выбранном в списке групп значения [102], приведено на рис. 5.2.

Рис. 5.2. Сообщение формируемое функцией MsgBox

Форма с записями, отфильтрованными в соответствии с заданными через выбор в списке условиями отбора, приведена на рис.5.3.

Рис. 5.3. Форма СТУДЕНТ открытая процедурой при выборе группы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]