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

После загрузки формы, данные в таблице 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

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

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

Хорошей иллюстрацией использования метода UpdateControls является предоставление пользователю возможности подтвердить сделанные изменения содержимого текущей записи. Для этого необходимо вмешаться в процедуру обработки события Validate объекта Data.

1. Откройте проект, который использовался для демонстрации удаления записи и добавьте следующий фрагмент кода в процедуру обработки события Validate:

Private Sub Data1_Validate(Action As Integer, Save As Integer)

If Save = False Then Exit Sub

End If

If MsgBox("Coxpaнить сделанные изменения",vbYesNo,"","",0)=vbNo Then

Data1.UpdateControls

Exit Sub

End If

End Sub

2. Запустите приложение.

3. Измените содержимое какого-нибудь связанного текстового окна, например, года издания, и, используя кнопки перемещения по набору записей, измените положение текущей записи. В результате, на экран будет выдано диалоговое окно, в котором можно подтвердить или отменить сделанные изменения.

4. Закройте приложение.


• UpdateRecord

Метод UpdateRecord сохраняет в базе данных содержимое текущей записи, отображаемое в связанных элементах управления.

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

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

Следующий пример показывает, как использовать в приложениях метод UpdateRecord:

1. Откройте проект, использованный для демонстрации метода UpdateControls.

2. Разместите на форме командную кнопку, измените ее свойство Caption на “Обновить данные” и добавьте следующий код в процедуру обработки события Click:

Private Sub Command2_Click

Data1.UpdateRecord End Sub

3. Запустите проект. Отредактируйте содержимое связанных элементов управления и нажмите кнопку “Обновить данные”. Теперь, сделанные вами изменения сохранены в базе данных.



События


• Error

Событие Error происходит, когда при использовании объекта Data возникает какая-либо ошибка доступа к данным, причем в это время программный код, написанный программистом не выполняется. Примером такой ситуации может быть случай, когда база данных, определенная свойством DatabaseName объекта Data, не найдена. Здесь не выполняется написанного программистом кода и, поэтому, обработка такого рода ошибки невозможна с использованием стандартных средств Visual Basic. К счастью, в этом случае происходит событие Error, в процедуру обработки которого программист имеет полное право вмешаться.

Синтаксис: Private Sub Data1 Error (DataErr As Integer, Response As Integer)

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

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

Занимательная электроника
Занимательная электроника

Скрасить свой досуг можно разными способами. Электронные устройства, созданные своими руками, питающиеся от «безопасного» напряжения 9-15 Вольт, не только успешно замещают китайские «гаджеты», но и позволяют культивировать собственную творческую жилку, преобразовывая свободное время досуга в весьма полезное развивающее занятие.Перед вами хорошо структурированная книга, разделенная на три тематические главы самого «свежего» радиолюбительского опыта, позволяющая нешаблонно решить задачи, с которыми мы ежедневно сталкиваемся в быту. Особое, отличительное назначение книги в описании проверенных, именно практических, легко повторяемых схем и устройств; в каждой главе имеется специальный раздел – описание вариантов практического применения предложенных к повторению разработок.Книга для любителей радио всех возрастов, лиц любых профессий, склонных к занятиям техническим творчеством и широкого круга читателей, ценящих свой досуг и новые перспективные идеи его заполнения. Эта книга – для вас.

Андрей Петрович Кашкаров

Сделай сам / Хобби и ремесла / Дом и досуг