Microsoft Visio のデータベースからクエリしたデータを保存、書式設定、更新、および公開します。
注:
この Visio オブジェクトまたはメンバーは Visio Professional 2013 のライセンス ユーザーのみが使用できます。
注釈
Microsoft Office Visio は、次のようなさまざまなソースのデータに接続できます。
- Excel ワークシート
- Access データベース
- SQL Server データベース
- SharePoint リスト
- その他の OLEDB/ODBC データ ソース (Oracle データベースなど)
- ADO クラシック XML スキーマに準拠する XML ファイル
すべての Visio ドキュメント オブジェクトには DataRecordsets コレクションがあります。このコレクションは、データ ソースへの接続が確立されるまで空です。 Visio 図面をデータ ソースに接続するには、DataRecordset オブジェクトを図面の DataRecordsets コレクションに追加します。
DataRecordset コレクションに DataRecordset オブジェクトを追加するには、接続するデータ ソースの種類 (OLEDB/ODBC または XML) と、接続文字列とクエリ コマンド文字列を Visio に渡す方法に応じて、次の 3 つの方法のいずれかを使用できます。 使用する演算子:
DataRecordsets.Add メソッドを使用すると、OLEDB または ODBC データ ソースに接続し、接続およびクエリ コマンド文字列の情報をメソッド パラメーターとして Visio に直接渡すことができます。
DataRecordsets.AddFromConnectionFile メソッドを使用すると、Visio に提供する接続およびクエリ コマンド文字列情報を含む Office データ接続 (ODC) ファイルをメソッドに渡すことにより、OLEBD または ODBC データ ソースに接続できます。
DataRecordsets.AddFromXML メソッドに渡す場合は、データ レコードセットに含めるすべてのデータを含む ADO クラシック XML 文字列をメソッドに渡します。
データ レコードセットが作成されると、データ レコードセットに関連付けられた接続文字列とクエリ コマンド文字列は、それぞれ DataConnection.ConnectionString プロパティと CommandString プロパティによって表されます。
データ レコードセットが DataConnection オブジェクトに関連付けられている場合 (つまり、Add または AddFromConnectionFile メソッドのいずれかを使用して DataRecordsets コレクションに追加した場合)、DataConnection プロパティを使用して関連付けられている DataConnection オブジェクトを取得できます。
DataRecordset オブジェクトの既定のプロパティは ID です。 ID プロパティの値は、DataRecordsets コレクションの DataRecordset を識別し、特定の図面に対するコレクションの中で一意です。
Name プロパティを使用して、表示名をデータ レコードセットに関連付けます。
GetDataRowIDs メソッドを使用して、データ レコードセットのすべての行の ID の配列を取得します。各行は 1 つのデータ レコードを表します。 この方法でデータ行 ID を取得したら、 GetRowData メソッドを使用して、データ行の各列に格納されているすべてのデータを取得できます。
DataColumns プロパティを使用して、データ レコードセットに関連付けられている DataColumn オブジェクトを取得します。 DataColumn オブジェクトは、データにリンクされている図形の Visio シェイプシートの [Shape Data] セクションのセルへの、データ列からのマッピングのカスタマイズに使用するメソッドとプロパティを公開します。
データ レコードセットの主キーの列を設定すると、データが更新されるときに、図形とデータのリンクが解除されるのを防ぐことができます。 主キーの列の取得と設定には、それぞれ GetPrimaryKey メソッドと SetPrimaryKey メソッドを使用します。
データ ソースでデータが変更された場合、接続された (非 XML) データ レコードセットのデータを更新して、それらの変更を反映することができます。 RefreshInterval プロパティを設定して Visio が指定の間隔で自動的に最新のデータに更新するように指定するか、Refresh メソッドを呼び出して、プログラムで最新のデータに更新することができます。
最後にデータを更新してから変更されたデータ ソースからデータを更新すると、競合が発生する可能性があります。 競合は、1 つの図形が同じデータ ソース内の複数の行にリンクされている場合、または図形がデータ ソース内の削除された行にリンクされている場合に発生する可能性があります。 最新のデータに更新することで発生する競合を発見して解決するには、GetAllRefreshConflicts、GetMatchingRowsForRefreshConflict、および RemoveRefreshConflict の各メソッドを使用します。
注:
1 つまたは複数のデータ レコードセットを含む Visio 図面を保存すると、レコードセットのすべてのデータが Visio ファイルに保存されます。 大量のデータを格納したレコードセットの場合は大きな Visio ファイルが作成され、パフォーマンスに影響することがあります。 したがって、大きなデータ ソースを Visio にインポートする前に、フィルター処理について考慮する必要があります。
イベント
メソッド
- Delete
- GetAllRefreshConflicts
- GetDataRowIDs
- GetMatchingRowsForRefreshConflict
- GetPrimaryKey
- GetRowData
- Refresh
- RefreshUsingXML
- RemoveRefreshConflict
- SetPrimaryKey
プロパティ
- Application
- CommandString
- DataAsXML
- DataColumns
- DataConnection
- Document
- EventList
- ID
- LinkReplaceBehavior
- Name
- ObjectType
- RefreshInterval
- RefreshSettings
- Stat
- TimeRefreshed
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。