Читаем Интернет-журнал "Домашняя лаборатория", 2007 №4 полностью

Data1.Recordset Close

Data1.RecordsetType=vbRSTypeSnapshot

Data1.DatabaseName= “C: \VB5\BIBLIO.MDB”

Data1.RecordSource= “select * from Titles”

Data1.Refresh.


• RecordSource

Свойство RecordSource определяет источник данных для набора записей, создаваемого объектом Data.

Синтаксис:data1 RecordSource=string.

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

Установка ∙ Описание

Имя таблицы ∙ Имя одной из таблиц, содержащихся в базе данных.

SQL-запрос ∙ Текстовая строка, представляющая собой SQL-запрос к базе данных. Причем синтаксис SQL выражения должен соответствовать типу базы данных.

Объект QueryDef ∙ Имя одного из объектов QueryDef из набора QueryDefs объекта Database. Этот источник данных поддерживается только для баз данных MS Access.


Чтобы проиллюстрировать использование свойства RecordSource объекта Data, построим приложение для просмотра полей базы данных BIBLIO2.MDB, в котором предусмотрим возможность отображать данные на экране компьютера упорядоченным образом. Для этого требуется выполнить следующие действия:

1. Откройте новый проект.

2. Добавьте на форму объект управления данными Data1 и определите его свойство DatabaseName, как C: \VB5\ BIBLI02.MDB. Не устанавливайте свойство RecordSource.

3. Добавьте на форму объект DBGrid и определите его свойство RecordSource, как Data1.

4. Добавьте на форму метку “Упорядочить по” и объект ComboBox.

5. Добавьте в раздел General следующий код:

Dim х As Integer

Dim A(4) As String Dim B(4) As String

6. Добавьте в процедуру загрузки формы следующий код:

Private Sub Form_Load()

А(0) = "Названиям"

А(1) = "Году издания"

А(2) = "ISBN"

А(3) = "Ид. Издателя"

For i = 0 То 3 Combol.AddItem A(i)

Next i

Combo1.Listlndex = 0 B(0) = "Title"

B(l) = "[Year Published]"

B(2) = "ISBN"

B(3) = "PubID"

End Sub

7. Добавьте в процедуру обработки события Click элемента управления ComboBox следующий код: Private Sub Combol_Click()

Dim strl As String strl = "select * From titles order by " & B(Combo1.Listlndex)

If Combo1.Listlndex = Empty Then strl = "select * From titles"

End If

Data1.RecordSource = strl

Data1.Refresh

End Sub

8. Запустите проект на выполнение.

После загрузки формы, данные в таблице DBGrid будут отображены в неупорядоченном виде, вернее, данные будут размещены в физическом порядке, то есть в том, в котором они были введены в базу данных, хотя в элементе управления ComboBox будет показано “По названиям”. Затем выберите из списка другой доступный способ упорядочения, например, “По году издания”. После обработки события Click будет создан новый набор записей, источником данных для которого будет служить результат выполнения следующего SQL-запроса select * From titles order by [Year Published].

На рис. 4.3 представлена библиографическая информации из базы данных BIBLIО2.MDB, упорядоченная по году издания книги.



Рис. 4.3.Библиографические данные, упорядоченные по году издания книги.


Методы объекта Data


• Refresh

После изменения свойства объекта Data во время выполнения приложения, ядро системы управления базами данных Jet database engine сразу не меняет ранее уже установленные свойства. Вообще говоря, просто изменить в программе одно установленное свойство на другое невозможно. Необходимо заново инициализировать объект управления данными, который затем автоматически создаст другие объекты доступа к данным (например, DataBase или Recordset) с уже новыми свойствами. Для этого необходимо применить метод Refresh. Таким образом, метод Refresh используется для того, чтобы во время выполнения приложения переинициализировать объект управления данными, но уже с новыми свойствами.

Синтаксис:Data1.Refresh.

После применения метода Refresh указатель текущей записи устанавливается на первой записи в наборе, созданном объектом Data.


• UpdateControls

Перейти на страницу:

Похожие книги