- •Программирование в среде Microsoft Office 2000
- •1. Основные сведения о vba
- •1.2. Макрорекордер в Office 2000
- •2.Основные сведения о программировании на vba
- •2.1. Алфавит и лексика языка vba
- •2.2.Правила записи текста программы на vba.
- •2.4. Данные в vba
- •2.4.1. Типы данных в vba
- •Т ипы данных в vba
- •Встроенные типы данных показаны в таблице 2.1.
- •2.4.2.Объявление переменных и констант простых типов
- •2.4.3. Массивы
- •2.5.Использование стандартных диалоговых окон для организации ввода-вывода данных
- •2.5.1.Функция MsgBox
- •2.5.2.Функция InputBox
- •2.6. Управляющие конструкции vba
- •2.6.1.Условный оператор if
- •2.6.2.Оператор выбора Select Case
- •2.6.3.Оператор цикла For … Next
- •2.6.4.Оператор цикла While…Wend
- •2.6.5.Оператор цикла Do…Loop
- •2.6.6. Оператор перехода GoTo
- •2.7. Основные сведения об объектах
- •2.7.1.Основные понятия объектно-ориентированного программирования.
- •2.7.2. Особенности использования объектов.
- •2.7.3. Коллекции в vba
- •2.7.4. Объект Application
- •2.7.5. Объекты Range и Selection
- •2.7.6. Оператор With для операций с одним объектом.
- •2.8.Обработка ошибок
- •3.Программирование в приложениях ms Office 2000.
- •3.1.Объекты excel, их свойства и методы.
- •3.1.1. Объектная модель excel
- •3.1.2. Коллекция Workbooks
- •3.1.3. Объект Workbook
- •3.1.4.Объект Worksheet
- •3.1.5.Объект Chart
- •3.1.6.Объекты Range и Selection
- •3.1.7. Пример решения задачи в excel на основе построения vba-кода.
- •3.2. Объекты word, их свойства и методы.
- •3.2.1. Модель объектов word
- •3.2.2.Объект Appication
- •3.2.3. Объект Document
- •3.2.4. Классы, задающие структуризацию текста документа.
- •3.2.5. Классы, составляющие части документа
- •3.2.5.1. Объект Range
- •3.2.5.2. Объект Selection
- •3.2.6. Классы, представляющие структуру документа
- •3.3. Автоматизация работы в Access на основе использования Access vba
- •3.3.1. Средства автоматизации работы в Access.
- •3.3.2. Объектная модель Microsoft Access
- •3.3.3.Особенности программирования в Access vba
- •3.3.3.1. Модель программирования Access
- •3.3.3.2. Особенности работы с объектами в Access vba.
- •3.3.4. Манипулирование в Access объектами Application
- •3.3.5. Объекты доступа к данным
- •3.3.5.1. Объекты dao
- •3.3.5.2. Объекты ado
- •3.3.6. Использование объектов доступа к данным в Access
- •3.3.6.1. Соединение с текущей базой данных
- •3.3.6.2. Открытие базы данных
- •3.3.6.3. Создание базы данных
- •3.3.6.4. Выполнение операций с записями
- •3.3.6.5. Перемещение по набору записей
- •3.3.6.6. Поиск записей в объектах Recordset
- •3.3.7. Пример решения задачи в Access на основе построения vba-кода
- •3.4.Совместная работа приложений Microsoft Office 2000
- •4.Список рекомендуемой литературы
3.3.6.3. Создание базы данных
DAO
Создать и открыть новую базу данных можно с помощью методов:
CreateDatabase объекта Workspace
CreateDatabase объекта DBEngine
Метод CreateDatabase создает новый объект Database, добавляет его в семейство Databases открытых баз данных в рабочей области, сохраняет базу данных на диске и возвращает ссылку на открытый объект Database.
Set база_данных = workspace.CreateDatabase (name, locale, options)
где:
workspace - ссылка на существующий объект Workspace, содержащий базу данных;
name - строковое выражение длиной до 255 символов, задающее имя создаваемого файла базы данных (.mdb);
locale - обязательная строка, задающая язык.
options - необязательное целое число, задающее формат файла БД Jet и определяющее, будет ли шифроваться база данных.
Пример использования метода объекта Workspace:
Set newdb=.Workspaces(0).CreateDatabase ("c:\w.mdb", dbLangGeneral)
Пример использования метода объекта DBEngine:
Set db1=CreateDatabase(“C:\NewDB.mdb”)
Set db2= DBEngine.CreateDatabase(“C:\NewDB.mdb”,DbLangCyrillic)
ADO
Для создания новой базы данных Access и установления соединения с ней используется метод Create объекта Catalog модели ADOX. Синтаксис этого метода следующий:
Catalog.Create connectionString
При выполнении метода создается и открывается новый объект Connection к источнику данных, который описывается строкой соединения.
Пример:
Dim cat As New ADOX.Catalog
cat.Create “Provider=Microsoft.Jet.OLEDB.4.0; _ Data Source=c:\new.mdb”
3.3.6.4. Выполнение операций с записями
К операциям с данными относятся операции: поиск, обновление, добавление и удаление данных. В объектных моделях DAO и ADO для выполнения этих операций имеются соответствующие свойства и методы объектов Recordset и Field.
DAO
Чтобы работать с данными на уровне записей, сначала нужно создать объект Recordset.
Oбъект Recordset представляет набор записей в основной таблице или набор записей, который получается в результате выполнения запроса.
Данные, хранимые в таблицах базы данных, доступны как значения характеристики Value объекта Field объекта Recordset. Объект доступа к данным Recordset представляет набор записей, состоит из записей и полей.
Существует пять типов объектов Recordset.
Для создания нового объекта Recordset в существующей таблице, в запросе или в операторе SQL, возвращающем записи, Access позволяет использовать метод OpenRecordset для объектов Databaseи Connection:
Set набор_записей = объект.OpenRecordset (источник, [типОбъекта], [параметры], [типБлокировки])
где
объект - ссылка на существующий объект Database; (объектная переменная для данного объекта);
источник - строка, специфицирующая имя таблицы, имя запроса, или оператор SQL SELECT, возвращающий записи. Для объектов Recordset табличного типа источником данных должна быть таблица в базе данных.
Объект Recordset можно создавать также на основе существующих объектов TableDef или QueryDef и другого Recordset. Эти объекты имеют свои собственные методы OpenRecordset:
Set набор_записей = объект.OpenRecordset ([типОбъекта], [параметры], [типБлокировки])
объект - существующий объект TableDef, QueryDef или Recordset.
ADO
Объект Recordset может быть создан тремя различными способами с помощью следующих методов:
Execute объекта Connection;
Execute объекта Command;
Open объекта Recordset.
Обычно для создания объекта Recordset используется метод Open, т.к. именно в этом случае есть возможность управлять свойствами этого метода. Этот метод имеет следующий синтаксис:
Recordset.Open Source, ActiveConnection, CursorType, LockType, Options
В качестве источника набора записей могут быть использованы:
инструкция SQL, имя таблицы, имя запроса Access и др.
В качестве аргумента ActiveConnection могут быть использованы:
объектная переменная объекта Connection; строка соединения; выражение CurrentProject.Connection, если источник находится в текущей базе данных.
Пример создания объекта Recordset на базе таблицы:
Dim cn As ADODB.Connection, rst As ADODB.Recordset
Set cn=CurrentProject.Connection
Set rst=New ADODB.Recordset
With rst
.ActiveConnection=cn
.CursorType=adOpenKeyset
.Open Source:=”Кадры”
End With