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

Параметр DataErr содержит код ошибки. Различные варианты действия после возникновения ошибки определяются параметром Response, и приведены в следующей таблице:

Постоянная • Значение • Действие

vbDataErrContinue • 0 • После возникновения ошибки приложение продолжает выполняться.

vbDataErrDisplay • 1• После возникновения ошибки появляется диалоговое окно с соответствующим сообщением. Этот вариант действия установлен по умолчанию.

1. Откройте любой проект и измените свойство DatabaseName объекта управления данными Data1 на С: \BIBLIO.MDB.

2. Запустите проект и убедитесь, что на экране появляется сообщение об ошибке.

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

Private Sub Data1_Error(DataErr As Integer, Response As Integer)

Response = vbDataErrContinue

End Sub

4. Запустите приложение. В этом случае сообщения об ошибке не возникает.


• Reposition

Событие Reposition происходит, когда запись в наборе записей становится текущей.

Синтаксис:Private Sub Data1 Reposition .

После загрузки объекта Data и открытия соответствующего набора записей, первая запись в наборе становится текущей и происходит событие Reposition. Это событие также происходит, когда пользователь нажимает кнопки на объекте Data для перемещения по набору записей, а также при использовании методов Move или Find. Вообще говоря, применение любых методов, при которых происходит изменение положения текущей записи, вызывает событие Reposition.

В отличие от события Validate, которое происходит перед изменением текущей записи, событие Reposition всегда происходит после того, как следующая запись стала текущей.


• Validate

Событие Validate происходит перед изменением положения текущей записи, а так же перед выполнением методов Update (за исключением случая, когда данные сохраняются с помощью метода UpdateRecord), Delete, Unload, или Close.

Синтаксис:Private Sub Data1 Validate (Action As Integer, Save As Integer)

Аргумент Save определяет состояние связанных элементов управления. Если аргумент Save установлен в True, то содержимое связанных элементов управления было изменено. Если же аргумент Save установлен в False, то никаких изменений в связанных элементах управления не произошло.

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

Постоянная • Значение • Описание

vbDataActionCancel • 0 • Отменяет операцию при выходе из процедуры обработки события.

vbDataActionMoveFirst • 1 • Нажата кнопка перехода к первой записи на объекте Data или применен метод MoveFirst объекта Recordset.

vbDataActionMovePrevious • 2 • Нажата кнопка перехода к предыдущей записи на объекте Data или применен метод MovePrevious объекта Recordset.

vbDataActionMoveNext • 3 • Нажата кнопка перехода к следующей записи на объекте Data или применен метод MoveNext объекта Recordset.

vbDataActionMoveLast • 4 • Нажата кнопка перехода к последней записи на объекте Data или применен метод MoveLast объекта Recordset.

vbDataActionAddNew • 5 • Применен метод AddNew объекта Recordset или указатель текущей записи перемещен за конец файла при установленном свойстве EOFAction объекта Data в AddNew.

vbDataActionUpdate • 6 • Применен метод Update объекта Recordset (но не UpdateRecord объекта Data).

vbDataActionDelete • 7 • Применен метод Delete объекта Recordset.

vbDataAction • 8 • Применен один из методов Find объекта Recordset.

vbDataActionBookmark • 9 • Изменено свойство Bookmark объекта Recordset.

vbDataActionClose • 10 • Применен метод Close объекта Recordset.

vbDataActionUnload • 11 • Выгружена экранная форма, содержащая объект управления данными.


В процедуре обработки события Validate можно заменить действие, вызвавшее это событие, на другое действие при помощи установки свойства Action соответствующим образом. При этом совершенно свободно можно менять любой из методов Move на метод AddNew и обратно. Отмена любого действия производится установкой аргумента Action в 0 (Action = vbDataActionCancel).

Примером обработки события Validate можно найти в уже рассмотренном ранее проекте, посвященном применению метода UpdateControls. Только теперь, вместо метода UpdateControls для отмены результатов редактирования, вы можете использовать установку аргумента Action в vbDataActionC ancel:

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

Action=vbDataActionCancel

Exit Sub

End If

End Sub

Урок 5


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

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

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

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

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

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