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