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

Базы и банки данных. Сборник описаний практических работ

.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
454 Кб
Скачать

Dim my Db As Database

•Определяем стандартный объект Workspace (рабочее пространство) Set my Ws = DBEngine, Work spaces (O)

• Создаем новую базу данных с указанным используемым порядком символов dbLangGeneral

Set my Db = my Ws. CreateDatabase («C: / NewDB.mdb», dbLang General)

My Db Close

End Sub

В результате на диске С должна появиться новая база данных с названием NewDB. mdb .

2.Напишите процедуру, создающую в текущей базе данных таблицу Студенты с полями Номер студента, Фамилия И.О., Предмет 1, Предмет 2,

Предмет 3, Предмет 4, Средний балл в соответствии с приведенным примером:

• Создание новой таблицы Студенты в текущей базе данных

Sub Create TableDefXO

• Определяем переменные

Dim myDb As Database

Dim my Tab As TableDef

Dim myF As Field

30

Set my Db = CurrentDbO

• Создаем новый объект TableDef – Таблицу «Студенты»,

Set myTab = myDb. CreateTableDef («Cтуденты»)

• Создаем новый объект Field –текстовое поле «Номер студента» и

добавляем его к семейству полей объекта таблицы «Студенты»

Set myF = my Tab CreateField («Номер студента», dbInteger) myTab. Fields. Append myF

• Создаем новый объект Field - текстовое поле «Фамилия И.О.» и до-

бавляем его к семейству полей объекта таблицы «Студенты»

Set myF =myTab.Create Field («Фамилия И.О.», dbText) myTab. Fields. Append myF

• Создаем новый объект Field – поле «Предмет 1» и добавляем его к семейству полей объекта таблицы «Студенты»

Set myF = myTab. CreateField («Предмет 1», dblnteger) myTab. Fields. Append myF

• Аналогично с другими полями

Set myF = myTab. CreateField ( «Предмет 2», dblnteger) myTab. Fields. Append myF

Set myF = myTab.CreateField (I»Предмет3», dblnteger) myTab. Fields. Append myF

Set myF = myTab. CreateField (Предмет 4, dblnteger) myTab. Fields. Append myF

31

Set myF = myTab.CreateField («Средний балл», dbDouble) myTab. Fields. Append myF

• Добавляем объект таблицу «Студенты» к семейству таблиц базы данных

myDb. TableDefs. Append myTab

End Sub

3.Откройте созданную таблицу и внесите пять записей во все поля,

кроме поля Средний балл.

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

Private Sub SB ()

Dim myDb As Datаbase - объектная переменная типа базы данных

Dim myRec As Recordset -объектная переменная типа набора записей

Dim sb As Double – переменная для вычисления среднего балла

Dim i As Integer – переменная цикла

Dim max As Integer – переменная для хранения числа записей в таблице

Set myDb = CurrentDbO – работаем с текущей базой данных.

• Открываем набор записей таблицы «Студенты» и присваиваем ссылку на него объектной переменной myRec.

Set myRec = myDb.OpenRecordset («Студенты») i = 0

32

myRec. MoveLast Идем к последней записи таблицы.

max = my Rec RecordCount. При этом RecordCount содержит число записей в таблице, которое нужно нам для вычисления среднего балла в каждой строке таблицы.

myRec. MoveFist Переходим к первой записи таблицы и вычисляем средний балл.

Do While i < max

sb = (myRec! Предмет 1 + myRec! Предмет 2 + myRec! Предмет 3 + (myRec! Предмет 4) /4

myRec Edit Заносим значение среднего балла в одноименное поле

myRec [ Средний балл ] = sb

myRec. Update Для внесения данных в поля таблицы обязательно используются команды Edit и Update.

myRec. MoveNext Переходим к следующей записи таблицы и повторяем все,

i = i + l пока не достигнем последней записи.

Loop

• Закрываем набор записей, my RecClose

End Sub

5.Создайте форму, отображающую данные таблицы «Студенты» и

содержащую кнопку, запускающую процедуру расчета среднего балла.

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

33

1.Дайте определение макроса. Какими возможностями они обладают?

2.Дайте определение модуля. Какими возможностями они обладают? 3.Опишите технологию создания процедур на VBA.

4.Опишите технологию создания баз данных на VBA.

5.Опишите технологию создания таблиц на VBA.

6.Опишите технологию создания процедуры обработки событий на VBA.

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

Использование языка VBA для фильтрации данных в базе.

34

Целью практической работы является ознакомление студентов с возможностями фильтрации данных в базе с помощью языка Visual Basic for Applications (VBA).

Задание на практическую работу

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

2.Создать простой запрос к таблицам базы данных

3.Создать требуемые формы, образующие сложную форму с подчиненной. 4.Разместить в форме элемент управления Набор вкладок и написать процедуру обработки события, осуществляющую отбор (фильтрацию)

данных в форме в соответствии с выбором соответствующей вкладки.

Технология выполнения работы

1.Откройте новую базу данных (можно использовать уже имеющуюся).

Создайте таблицу Категория источника с полями Код категории

(ключевое поле) и Наименование категории (книги, журналы, статьи,

справочники и т.д.)..

Создайте таблицу Каталог источников с полями Код источника

(ключевое поле), Код категории, Автор, Наименование, Год издания, число страниц и т.д.

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

Занесите в таблицы непротиворечивые данные.

2.Создайте простой запрос к таблицам Каталог источников и Категория источника, отбирающий все поля и все записи.

3.Создайте форму на основе запроса предыдущего пункта.

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

35

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

журналы и т.д.). Нажатие на соответствующую вкладку набора должно вызывать отбор (фильтрацию) данных в подчиненной форме.

5.В окне свойств элемента управления Набор вкладок в графе Изменение выберите опцию Процедура обработки события, которая будет реагировать на выбор соответствующей вкладки и выводить в подчиненной форме только записи, соответствующие выбранной категории. В теле процедуры должен содержаться набор вариантов типа:

If Me! [Категория] = I Then

Me ! [ Каталог источников]. Form .RecordSource = SELECT * FROM [Каталог источников Запрос] WHERE [Каталог источников Запрос] [Наименование категории] Like «Книги»

End If

If Me ! [Категория] = 2 Then

………..

End If

…………

Здесь выражение Me! [Категория] = 1 указывает, что если в текущей форме, в элементе управления Набор вкладок с именем Категория выбрана вкладка с индексом вкладки 1 (в данном случае вкладка Книги имеет индекс 1, вкладка Журналы – 2 и т.д.), то источником строк

(RecordSource) для подчиненной формы с именем Каталог источников является запрос с именем Каталог источников Запрос с условием отбора записей по наименованию категории, соответствующему категории Книги.

6.Проверьте правильность работы формы с отбором записей по категории.

36

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

1.Опишите технологию создания процедуры обработки событий на VBA.

2.Напишите процедуру создания формы на VBA

3. Напишите процедуру создания отчета на VBA

4.Опишите основные свойства форм, доступные при программировании на

VBA

Список литературы

1. Кузин А.В., Демин В.М. Разработка баз данных в системе Microsoft Access. Учебник. – М.: Форум: Инфра – М., 2005.

4.Васильев А., Андреев А. VBA в Office 2000: учебный курс. - СПб.:

Питер, 2001

.

37

38

Миронов Юрий Маркианович

БАЗЫ И БАНКИ ДАННЫХ

СБОРНИК описаний практических работ

Подписано в печать 02 апреля 2007г

Формат 60х90 / 16 Объем 2,5 п.л. Заказ № . Тираж 60 экз.

Московская государственная академия водного транспорта

117105 г.Москва, Новоданиловская набережная, д.2, кор.1

39

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