次の方法で共有


DataRecordset.Refresh メソッド (Visio)

接続された (XML ベースではない) DataRecordset に関連付けられたクエリ文字列を実行し、クエリによって返されたデータ ソースから新しいデータを使用してリンクされた図形を更新します。

注:

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

構文

expression.Refresh

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

戻り値

なし

解説

特定の DataRecordset オブジェクトに対して Refresh メソッドを呼び出すと、同じ DataConnection オブジェクトに関連付けられている他のすべての DataRecordset オブジェクト (つまり、DataConnection プロパティの値が同じ) が更新されます。 同じ DataConnection プロパティ値を共有する DataRecordset オブジェクトは、トランザクション データ レコードセットと呼ばれます。 Refresh メソッドは、DataConnection オブジェクトに関連付けられているデータ レコードセットで呼び出す必要があります。

DataConnection オブジェクトに関連付けられていないデータ レコードセット (DataRecordsets.AddFromXML メソッドを使用して作成されたオブジェクト) に対して Refresh メソッドを呼び出すと、Refresh メソッドによってエラーが返されます。

Refresh メソッドを呼び出すことによって競合が発生した場合、Visio ユーザー インターフェイスに [競合のリフレッシュ] 作業ウィンドウが表示されます。ただし、DataRecordset.RefreshSettings プロパティに visRefreshNoReconciliationUI 列挙の値が含まれるように設定している場合は、表示されません。

リンクされたデータを更新する前に、Visio が同じデータベース内の別のテーブルに対してクエリを実行するために使用するクエリ文字列を変更する場合は、 DataRecordset.CommandString プロパティを新しい値に設定します。 まったく新しいデータ ソースに接続するには、 DataRecordset.CommandString プロパティと DataConnection.ConnectionString プロパティ値の両方を設定します。

データを更新して競合が発生した場合は、 DataRecordset.GetAllRefreshConflicts メソッドと DataRecordset.GetMatchingRowsForRefreshConflict メソッドを 使用して、競合が発生した理由を判断できます。

次の Microsoft Visual Basic for Applications (VBA) マクロは、Refresh メソッドを使用して、現在の図面の DataRecordsets コレクションの DataRecordset オブジェクトのデータをリフレッシュする方法を示します。 このマクロは、現在の図面に関連付けられているすべてのデータ レコードセットをカウントし、最後に追加されたレコードセットをリフレッシュします。 また、現在の図面に関連付けられ、リフレッシュされるデータ接続と接続を共有するその他のデータ レコードセットも、リフレッシュされます。

このマクロを実行する前に、現在の図面に少なくとも 1 つのデータ レコードセットがあり、最後に追加されたデータ レコードセットが接続された (非 XML ベースの) レコードセットであることを確認してください。

Public Sub Refresh_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intCount As Integer 
 
    intCount = ThisDocument.DataRecordsets.Count 
    Set vsoDataRecordset = ThisDocument.DataRecordsets(intCount) 
    vsoDataRecordset.Refresh 
 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。