DataRecordsets.GetLastDataError メソッド (Visio)

新しいデータ レコードセットを追加した場合、または既存のレコードセット内のデータを更新した結果、生じたエラーと関連付けられた ActiveX Data Object (ADO) エラー コード、ADO の記述、データ レコードセットの ID を取得します。

注:

この Visio オブジェクトまたはメンバーは Visio Professional 2013 のライセンス ユーザーのみが使用できます。

構文

GetLastDataError (DataErrorCode,DataErrorDescription, RecordsetID)

DataRecordsets オブジェクトを返す式。

パラメーター

名前 必須 / オプション データ型 説明
DataErrorCode 必須 Long 出力パラメーターです。 最新のエラーの ADO エラー コードです。
DataErrorDescription 必須 String 出力パラメーターです。 最新のエラーの ADO 記述です。
RecordsetID 必須 Long 出力パラメーターです。 エラーが生成された、またはエラーの原因となったデータ レコードセットの ID です。

戻り値

なし

解説

Microsoft Office Visio 内で ADO エラーが発生する可能性のあるデータ関連の操作として、作業中の図面の DataRecordsets コレクションに新しい DataRecordset オブジェクトを追加した場合や、既存のデータ レコードセット内のデータを更新した場合があります。

データ関連の操作が成功した場合、 GetLastDataError メソッドは RecordsetID = 0、DataErrorCode = 0、DataErrorDescription = "" (空の文字列) を返します。

データ レコードセットを追加しようとするとエラーが生成された場合、メソッドは RecordsetID = 0 とエラー コードと説明を返します。

既存のデータ レコードセット内のデータ更新を試みてエラーが発生した場合で、Visio がエラーの原因となったデータ レコードセットを特定できた場合、GetLastDataError はそのデータ レコードセットの ID を返します。

ただし、エラーの原因となったデータ レコードセットを特定できない場合があります。 これは、データ ソースへの同じ接続を共有するデータ レコードセットのグループの 1 つであるデータ レコードセットの更新を試みる場合にのみ発生します。 これは、そのグループ (transacted データ レコードセット) の 1 つのデータ レコードセット内のデータが更新されると、グループ内のすべてのデータ レコードセットが更新されるためです。 この状況で、グループ内のすべてのデータ レコード セットが更新される前に更新操作が失敗した場合、Visio は、その時点まで正常に完了したデータ レコード セットの更新をロールバックします。

その後、GetLastDataError を呼び出すと、次の値が返されます。

  • 失敗することとなった更新操作を開始するために Refresh メソッドを呼び出したデータ レコードセットの ID。

  • 失敗した更新操作によって生成されたエラー メッセージ。ただし、GetLastDataError メソッドに渡された ID を持つデータ レコードセットに特に関連があるエラーかどうかは特定できません。

次の Microsoft Visual Basic for Applications (VBA) マクロは、GetLastDataError メソッドを使用して、最新のデータ エラーに関連付けられた ADO エラー コード、ADO の記述、データ レコードセットの ID を取得する方法を示しています。

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 のサポートおよびフィードバックを参照してください。