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