次の方法で共有


DataRecordset オブジェクト (Visio)

Microsoft Visio のデータベースからクエリしたデータを保存、書式設定、更新、および公開します。

注:

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

注釈

Microsoft Office Visio は、次のようなさまざまなソースのデータに接続できます。

  • Excel ワークシート
  • Access データベース
  • SQL Server データベース
  • SharePoint リスト
  • その他の OLEDB/ODBC データ ソース (Oracle データベースなど)
  • ADO クラシック XML スキーマに準拠する XML ファイル

すべての Visio Document オブジェクトには DataRecordsets コレクションがあり、データ ソースへの接続が確立されるまでは空です。 Visio 図面をデータ ソースに接続するには、DataRecordset オブジェクトを図面の DataRecordsets コレクションに追加します。

DataRecordset オブジェクトを DataRecordsets コレクションに追加するには、接続するデータ ソースの種類 (OLEDB/ODBC または XML) と、接続文字列とクエリ コマンド文字列を Visio に渡す方法に応じて、次の 3 つのメソッドのいずれかを使用できます。 次を使用します。

  • DataRecordsets.Add メソッドを使用すると、OLEDB または ODBC データ ソースに接続し、接続とクエリ コマンド文字列情報をメソッド パラメーターとして Visio に直接渡すことができます。

  • DataRecordsets.AddFromConnectionFile メソッドでは、Visio に指定する接続とクエリ コマンド文字列情報を含む Office Data Connection (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 つの図形が同じデータ ソース内の複数の行にリンクされている場合、または削除されたデータ ソース内の行に図形がリンクされている場合です。 最新のデータに更新することで発生する競合を発見して解決するには、GetAllRefreshConflictsGetMatchingRowsForRefreshConflict、および RemoveRefreshConflict の各メソッドを使用します。

注:

1 つまたは複数のデータ レコードセットを含む Visio 図面を保存すると、レコードセットのすべてのデータが Visio ファイルに保存されます。 大量のデータを格納したレコードセットの場合は大きな Visio ファイルが作成され、パフォーマンスに影響することがあります。 したがって、大きなデータ ソースを Visio にインポートする前に、フィルター処理について考慮する必要があります。

イベント

メソッド

プロパティ

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

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