Visual Basic 6. Руководство разработчика

Проектирование с использованием конструктора


ActiveX DataEnvironment

Создадим простое приложение для работы с базами данных с использованием конструктора ActiveX DataEnvironment. Проект Denvl — это простая форма, которая позволяет перемещаться по записям таблицы Customers в базе данных NWIND. Для разработки формы, показанной на рис. 18.1, нужно выполнить подклю­чение к базе данных NWIND, затем получить данные из таблицы Customers и отобразить их в элементах управления, связанных с данными.

Для этого необходимо выполнить следующие действия.

1. Открыть новый проект и в окне типа проекта выбрать Data Project.

2. Выполнить двойной щелчок на объекте DataEnvironmentI в проводнике проекта, для того чтобы открыть окно DataEnvironment.

Рис. 18.1. Проект Denv1: основы использования конструктора элементов ActiveX DataEnvironment

Окно приложения DataEnvironment содержит объект

Connection и один или больше объектов Commandю Папка Commands пуста, но она будет заполнена позже при создании объектов Commandю

3. Щелкните правой кнопкой мыши на объекте Connection 1 и выберите Properties из контекстного меню, чтобы открыть окно Data Link Properties. Используйте вкладки в этом окне для задания базы данных, к которой нужно подключиться.

4. На вкладке Provider выберите драйвер связи между приложением и базой данных.

Большинство баз данных использует OLE DB-провайдер, являющийся для баз данных тем же, чем является OLE для других приложений. Выберите Microsoft OLE DB-Provider. Это простейший провайдер, который подключает приложение к базам данных Microsoft Access.



5. Выберите вкладку Connection.

6. Щелкните на кнопке с многоточием, чтобы указать путь к базе данных NWIND (в папке VB98).

7. Щелкните на кнопке Test Connection, чтобы убедиться в том, что подключение работает.

8. Если база данных требует указания имени пользователя и пароля, то будет выдано приглашение для их ввода. Введите ту же информацию в соответст вующие редактируемые поля вкладки Connection.

9. Выберите вкладку Advanced, чтобы выбрать способ открытия базы данных и опции доступа к ней для других пользователей.


6. Щелкните на кнопке ОК, чтобы перейти к окну DataEnvironmentI, в котором информация представлена в виде дерева.

7. Нажмите на знаке плюс перед объектом Command 1, чтобы отобразить имена полей таблицы Customers.

8. Выберите форму проекта (если вы не переименовывали ее, то это Form1).

9. Перетащите на форму объект Command 1 из окна DataEnvironmentI. Visual Basic создаст столько пар "метка-текстовое поле", сколько понадобится для отображения всех полей объекта Command 1. Если вы не хотите, чтобы были показаны все поля, перетащите только выделенные поля.

10. Выберите форму и разместите на ней элементы управления. В этой форме отсутствуют кнопки навигации. Разместите четыре кнопки на форме (см. рис. 18.1) и введите следующие команды для их событий Click.

Программа 18.1. Программирование кнопок навигации

Private Sub Commandl_Click ()

DataEnvironment1.rsCommand1.MoveFirst

End Sub

Private Sub Command2_Click()

If DataEnvironment1.rsCommand1.BOF Then

Beep

Else

DataEnvironment1.rsCommand1.MovePrevious

If DataEnvironment1.rsCommand1.BOF Then

DataEnvironment1.rsCommand1.MoveFirst

End If

End If

End Sub

Private Sub Command3_Click()

If DataEnvironment1.rsCommand1.EOF Then

Beep

Else

DataEnvironment1.rsCommand1.MoveNext

If DataEnvironment1.rsCommand1.EOF Then

                DataEnvironment1.rsCommand1.MoveLast

           End If

End  If

End Sub

Private    Sub Command4_Click ()

DataEnvironment1.rsCommand1.MoveLast

End Sub

Если вы прочитали предыдущую главу, то вам должен быть понятен этот код. Объект DataEnvironmentI предоставляет набор данных rsCommandl типа RecordSet, который содержит записи, извлеченные из таблицы Customers объектом Command 1. Имя набору данных назначается автоматически в соответствии с именем объекта Command (с префиксом "rs"). Объект DataEnvironmentI.rsCommandl — это набор данных, который поддерживает большую часть методов и свойств объекта DAO.

Для перемещения по записям используются методы Move (MoveFirst, MoveNext, MovePrevious и MoveLast). Чтобы предотвратить перемещение к несуществующей записи (перед первой или после последней), проверьте свойства BOF и EOF набора данных rsCommand 1.

Совет

Информация о свойствах EOF и BOF и об их использовании методами приведена в гл. 17.

Используя конструктор ActiveX DataEnvironment и несколько строк кода, можно разработать форму, способную перемещаться по набору записей. Этот пример не производит должного впечатления. Используя элемент управления Data это можно сделать гораздо быстрее. В следующем примере создается более сложный объект Command способом комбинирования трех таблиц из одной и той же базы данных (и все внутри конструктора ActiveX DataEnvironment) без единой строки кода.


Содержание раздела