Средствами VBA в программном режиме можно создавать не только объекты Access: таблицы, формы, запросы, но и такие элементы управления, как Кнопки, Надпись и др., что позволяет существенно повысить уровень автоматизации работы приложения. Ниже даны примеры создания некоторых объектов и элементов управления, приведены программы. По тексту программ даны необходимые пояснения.
Создание таблицы.Пусть, требуется создать в текущей базе данных таблицу Elise со следующими полями: Код, Фамилия вкладчика, Домашний адрес, Сумма вклада, Срок заключения договора, мес. Для решения данной задачи необходимо:
- в процедуре создать объектные переменные db, tb типа Database, TableDef и f1, f2, f3, f4 типа Field, предназначенные для хранения ссылок на соответствующие объекты базы данных;
- для создания нового объекта TableDef – таблицы с именем Elise нужно применить метод CreateTableDef к объектной переменной db. Для создания новых объектов Field – полей таблицы, нужно применить метод CreateField к объектным переменным f1, f2, f3, f4;
- для добавления этих полей в семейство Fields, входящих в объект TableDef нужно использовать метод Append;
- для добавления таблицы – объекта TableDef в семейство TableDefs нужно использовать метод Append;
Процедура решения этой задачи с использованием библиотеки DAO приведена ниже
Public Sub Создание_таблицы()
‘ Описание переменных
Dim db As Database
Dim tb As TableDef
Dim f1, f2, f3, f4, f5 As field
Set db = CurrentDb
‘Создание таблицы и ее полей
Set tb = db.CreateTableDef("Elise")
Set f1 = tb.CreateField("Код", dbInteger)
Set f2 = tb.CreateField("Фамилия вкладчика", dbText)
Set f3 = tb.CreateField("Домашний адрес", dbText)
Set f4 = tb.CreateField("Сумма вклада", dbCurrency)
Set f5 = tb.CreateField("Срок заключения договора, мес", dbInteger)
‘Добавление полей в таблицу
tb.Fields.Append f1
tb.Fields.Append f2
tb.Fields.Append f3
tb.Fields.Append f4
tb.Fields.Append f5
‘Добавление таблицы в БД
db.TableDefs.Append tb
End Sub
Создание формы.При создании форм за единицу измерениявMicrosoft Accessберут Твип (twip).Один твип равен 1/1440 дюйма. В одном сантиметре содержится 567 твипов.
Пусть требуетсясредствами VBA создать форму на основе таблицы КАФЕДРА только без фото. Процедура решения этой задачи с использованием библиотеки DAO приведена ниже
Public Sub Создание_формы()
Dim frm As Form 'Определение объектной переменной для формы
Set frm = CreateForm 'Создание новой формы и ссылки на переменную
frm.RecordSource = "КАФЕДРА" 'Источник данных в форме
'Определение объектных переменных для элементов управления
Результат работы программы представлен на рис.2.7.
Рис.2.7. Форма, созданная средствами VBA
Создание запроса.Требуетсясредствами VBA создать запрос МАКС по таблице ТОВАРЫ для выборки записей в которых Стоимость товара больше определенной нижней границы. Граница вводится в окно диалога. Процедура решения этой задачи с использованием библиотеки DAO приведена ниже
Public Sub Создание_запроса_VBA()
Dim db As Database
Dim q As QueryDef
Set db = CurrentDb
' Создается запрос с именем Макс
Set q = db.CreateQueryDef("Макс", "Select *" _
& "from Товары where [Стоимость товара] >” & _
“ [Введите нижнюю границу стоимости товара];")
End Sub
3. СПИСОК ЛИТЕРАТУРЫ
1. Джон Вейскас. Эффективная работа с Microsoft Access 7.0 для Windows .- С-Пб.:Питер, 1997.
2. М.Хэлворсян, М.Янг. Эффективная работа с Microsoft Office 97.- С-Пб.:Питер, 1997.
3. МакФедризг Пол и др. Microsoft Office 97. Энциклопедия пользователя: пер. с англ.-К.: Издательство "ДиаСофт", 1998.
4. К. Гетц, М. Джилберт. Программирование в Microsoft Office. Полное руководство по VBA: пер. с англ.-К.: Издательская группа BHV, 1999.
5. Киммел, Пол. Освой самостоятельно программирование для Microsoft Access 2000 за 24 часа.: пер. с англ.-М.:"Вильямс". 2000.
6. Король В.И. Visual Basic 6.0, Visual Basic for Application 6.0. Язык программирования. Справочник с примерами.-М.: КУДРИЦ-ОБРАЗ, 2000.
7. Каммингс С. VBA для “чайников”: Пер. с англ.: М.:”Вильямс”, 2000.
8. Кен Гетц, Майк Джилберт. Программирование в Microsoft Office: пер. с англ.-К:”Ирина”. BHV, 2000.