В качестве связанных объектов управления могут выступать некоторые стандартные объекты Visual Basic, например такое как Text box (текстовое окно).
Кроме свойств, присущих обычным элементам управления Visual Basic, эти элементы управления имеют несколько общих свойств, специально предназначенных для связи с базами данных:
DataField — Определяет имя поля в наборе записей, созданном объектом управления данными.
DataSource — Определяет имя объекта управления данными, с которым связывается элемент управления.
DataChanged — Показывает, было ли изменено содержимое связанного элемента управления.
Таким образом, чтобы добавить связанный элемент управления в приложение, необходимо выполнить следующие действия:
Перетащите необходимый объект управления из панели инструментов на вашу экранную форму и установите требуемые размеры.
Установите свойство DataSource для связи с объектом управления данными.
Установите свойство DataField для связи с требуемым полем набора записей.
Кроме стандартных связанных элементов управления, в Visual Basic предусмотрено несколько специальных связанных элементов управления, которые, кроме как для работы с данными обычно не используются:
Data-bound list box,
Data-bound combo box,
Data-bound grid.
Тот факт, что они используются вместе с данными, отражен в самих их названиях. Их детальное описание и примеры использования в приложениях будут рассмотрены в отдельнх уроках.
Источником данных для любого связанного элемента управления всегда является объект управления данными. Когда пользователь при помощи кнопок со стрелками на объекте Data перемещает указатель текущей записи с одной записи на другую, обновление данных в связанных элементах управления происходит автоматически. Любое изменение данных в связанных элементах управления, сделанное пользователем, немедленно отображается в наборе записей и затем в базе данных (если, конечно, не предусмотреть специальных мер).
В таблице 3.3 представлены типы данных, которые могут отображаться в связанных объектах управления.
Таблица 3.3
Название объекта ∙ Типы данных
Picture box ∙ Long Binary
Image ∙ Binary
Label ∙ Text, Numeric, Date
Text box ∙ Text, Numeric, Date
Check box ∙ True/False, Yes/No
List box ∙ Text, Numeric, Date
Combo box ∙ T ext, Numeric, Date
Data bound list box ∙ Text, Numeric, Date
Data bound combo box ∙ Text, Numeric, Date
Data bound grid ∙ Text, Numeric, Date
Masked edit ∙ Text, Numeric, Date
Для демонстрации использования объекта управления данными и связанных элементов управления создадим очень простое приложение, которое, тем не менее, позволит нам просматривать библиографическую информацию из базы данных BIBLIO.MDB. Для этого вы должны последовательно выполнить следующие действия:
1. Откройте новый проект и измените свойство Caption формы Form1 на “Книги по программированию”.
2. Перенесите из панели инструментов на форму объект управления данными Data1.
3. В окне свойств объекта Data1 измените свойство Caption на “Книги”.
4. В окне свойств объекта Data1 установите свойство DatabaseName, как имя файла базы данных с указанием полного пути C: \VB5\BIBLIO.MDB.
5. В окне свойств объекта Data1 определите свойство RecordSource, как следующий SQL-запрос:
SELECT * FROM TITLES, AUTHORS, PUBLISHERS, [TITLE AUTHOR] WHERE TITLES.ISBN = [TITLE AUTHOR].ISBN AND [TITLE AUTHOR].AU_ID = AUTHORS.AU_ID AND TITLES.PUBID= PUBLISHERS.PUBID
Этот запрос выбирает все поля из всех четырех таблиц базы данных BIBLIO.MDB, связанных между собой с помощью совпадающих значений ключевых полей.
6. Разместите на форме восемь меток и, соответственно, восемь текстовых окон как показано на рис. 3.6 и установите их свойства следующим образом:
Label1.Сарtion=Название
Text1.DataSource=Data1
Text1.DataField=Title
Label2.Caption=ABTop
Text2.DataSource=Data1
Text2.DataField=Author
Label3.Caption=год издания
Text3.DataSource=Data1
Text3.DataField=Year Published
Label4.Caption=Teмa книги
Text4.DataSource=Data1
Text4.DataField=Subject
Label5.Caption=Описание
Text5.DataSource=Data1
Text5.DataField=Description
LаЬеl6.Caption=Международный код ISBN
Text6.DataSource=Data1
Text6.DataField=TITLES.ISBN
LаЬеl7.Caption=Издательство
Text7.DataSource=Data1
Text7.DataField=Name
LаЬеl8.Caption=Примечание
Text8.DataSource=Data1
Text8.DataField=Notes
Рис. 3.6. Вид экранной формы.
7. Предусмотрим средство для завершения работы приложения. Для этого добавьте на форму командную кнопку, определите ее свойство Caption как “Выход” и установите следующий код в процедуре обработки события Click:
Private Sub Command1 Click ()
Unload Me
End Sub
8. Запустите проект на выполнение выбором команды Start из меню Run, или нажмите клавишу F5. Результат работы программы показан на рис. 3.7. С помощью кнопок со стрелками на объекте управления данными можно перемещать текущий указатель по набору записей и содержимое соответствующих полей будет автоматически отображаться на форме в связанных элементах управления.
9. Закройте приложение нажатием кнопки “Выход”.
Рис. 3.7. Результат работы приложения.
Урок 4
Свойства, методы и события объекта управления данными
Объект Data, как и любой другой элемент управления в Visual Basic, имеет несколько стандартных, общих для многих элементов управления, свойств, методов и событий. Наряду с ними, он имеет целый ряд свойств, методов и событий, предназначенных для работы с данными. Именно они и будут последовательно рассмотрены ниже.
• BOFAction
Свойство BOFAction определяет действие объекта Data, если свойство BOF (beginning of file — начало файла) у созданного им набора записей установлено в True.
Синтаксис: data1.BOFaction=value.
Значение value может быть выбрано из двух альтернатив: MoveFirst или BOF.
При создании объекта Data свойство BOFAction устанавливается по умолчанию как MoveFirst. При этом текущей становится первая запись в наборе записей.