Параметр DataErr содержит код ошибки. Различные варианты действия после возникновения ошибки определяются параметром Response, и приведены в следующей таблице:
Постоянная • Значение • Действие
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 происходит, когда запись в наборе записей становится текущей.
После загрузки объекта Data и открытия соответствующего набора записей, первая запись в наборе становится текущей и происходит событие Reposition. Это событие также происходит, когда пользователь нажимает кнопки на объекте Data для перемещения по набору записей, а также при использовании методов Move или Find. Вообще говоря, применение любых методов, при которых происходит изменение положения текущей записи, вызывает событие Reposition.
В отличие от события Validate, которое происходит перед изменением текущей записи, событие Reposition всегда происходит после того, как следующая запись стала текущей.
• Validate
Событие Validate происходит перед изменением положения текущей записи, а так же перед выполнением методов Update (за исключением случая, когда данные сохраняются с помощью метода UpdateRecord), Delete, Unload, или Close.
Аргумент Save определяет состояние связанных элементов управления. Если аргумент Save установлен в True, то содержимое связанных элементов управления было изменено. Если же аргумент Save установлен в False, то никаких изменений в связанных элементах управления не произошло.
Аргумент Action определяет действие, которое вызвало событие Validate. Возможные значения этого параметра и их краткие описания приведены в следующей таблице.
Постоянная • Значение • Описание
В процедуре обработки события 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