Поделиться через


Метод DataRecordsets.GetLastDataError (Visio)

Возвращает код ошибки объектов данных Active X (ADO), описание ADO и идентификатор набора записей данных, связанные с ошибкой, возникающей в результате добавления нового набора записей данных или обновления данных в существующем.

Примечание.

Этот объект или элемент Visio доступен только лицензированным пользователям Visio профессиональный 2013.

Синтаксис

expression. GetLastDataError (DataErrorCode, DataErrorDescription, RecordsetID)

Выражение Выражение, возвращающее объект DataRecordsets .

Параметры

Имя Обязательный или необязательный Тип данных Описание
DataErrorCode Обязательный Long Параметр Out. Код ошибки ADO последней ошибки.
DataErrorDescription Обязательный String Параметр Out. Описание последней ошибки в ADO.
RecordsetID Обязательный Long Параметр Out. Идентификатор набора записей данных, который создал или вызвал ошибку.

Возвращаемое значение

Отсутствует

Примечания

Операции, связанные с данными, которые могут создавать ошибки ADO в Microsoft Visio, включают добавление нового объекта DataRecordset в коллекцию DataRecordsets активного документа и обновление данных в существующем наборе записей данных.

Если операция, связанная с данными, успешно выполнена, метод GetLastDataError возвращает RecordsetID = 0, DataErrorCode = 0 и DataErrorDescription = "" (пустая строка).

Если при попытке добавить набор записей данных возникает ошибка, метод возвращает RecordsetID = 0, а также код и описание ошибки.

Если попытка обновить данные в существующем наборе записей данных приводит к ошибке и если Visio знает, какой набор данных вызвал ошибку, GetLastDataError возвращает идентификатор набора записей данных.

Однако возможно, что Visio может не знать конкретно, какой набор записей данных вызвал ошибку. Это может произойти только при попытке обновить набор записей данных, который входит в группу наборов записей данных, которые используют одно и то же подключение к источнику данных. Это связано с тем, что при обновлении данных в одном наборе записей данных в такой группе (так называемых транзакционированных наборов данных) обновляются все наборы записей данных в группе. В этой ситуации, если операция обновления завершается сбоем до обновления всех наборов данных в группе, Visio откатит обновление всех наборов данных, успешно завершенных до этого момента.

При вызове Метода GetLastDataError метод возвращает следующее:

  • Идентификатор набора записей данных, для которого был вызван метод Refresh для запуска операции обновления, которая впоследствии завершилась ошибкой.

  • Сообщение об ошибке, созданное неудачной операцией обновления, хотя невозможно узнать, связан ли сбой конкретно с набором записей данных, идентификатор которого передан методу GetLastDataError .

Пример

В следующем макросе Microsoft Visual Basic для приложений (VBA) показано, как использовать метод GetLastDataError для получения кода и описания ошибки ADO, а также идентификатора набора записей, связанных с последней ошибкой данных.

Public Sub GetLastDataError_Example() 
 
    Dim vsoDataRecordsets As Visio.DataRecordsets 
    Dim lngCode As Long 
    Dim strDescription As String 
    Dim lngID As Long 
     
    Set vsoDataRecordsets = Visio.ActiveDocument.DataRecordsets 
     
    vsoDataRecordsets.GetLastDataError lngCode, strDescription, lngID 
     
    Debug.Print "Error code: ", lngCode 
    Debug.Print "Error description: ", strDescription 
    Debug.Print "Data recordset ID: ", lngID 
 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.