次の方法で共有


DataRecordset.GetDataRowIDs メソッド (Visio)

データ レコードセット内のすべての行の ID を取得します。

注:

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

構文

GetDataRowIDs (CriteriaString)

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

パラメーター

名前 必須 / オプション データ型 説明
CriteriaString 必須 String Microsoft ActiveX Data Object (ADO) API に指定されているガイドラインに従った ADO.Filter プロパティを設定する文字列です。

戻り値

Long()

注釈

GetDataRowIDs メソッドを使用して、データ レコードセット内のすべての行の ID の配列を取得します。各行は 1 つのデータ レコードを表します。 GetDataRowIDs メソッドは、パラメーターとして抽出条件文字列を受け取ります。これは、ADO を設定するための ADO API で指定されたガイドラインに準拠した文字列です。Filter プロパティ。 適切な条件を指定して AND 演算子、OR 演算子で句を区切ることにより、データ レコードセット内の情報をフィルタリングし、データ レコードセットの特定の行だけを選択的に取得することができます。 条件なし (すべての行を取得) の場合は空文字列 ("") を渡します。

条件文字列の詳細については、「ADO 2.8 API リファレンスの Filter プロパティ 」を参照してください。

この Microsoft Visual Basic for Applications (VBA) マクロは、GetDataRowIDs メソッドと GetRowData メソッドを使用して各行の行 ID を返し、指定したデータ レコードセットのすべての行に格納されているデータを取得する方法を示しています。 このマクロは、現在のドキュメントに関連付けられているすべてのデータ レコードセットの数を取得し、最後に追加されたデータの行データを取得します。 データ レコードセットのすべての行をループし、次に、各行のすべての列をループします。 取得した情報を [イミディエイト] ウィンドウに表示します。

このマクロを実行する前に、現在の図面に最低 1 つのデータ レコードセットを作成してください。

このマクロでは GetDataRowIDs メソッドに空の文字列を渡してフィルターを回避し、データ レコードセットのすべての行を取得します。 マクロを実行すると、(最初のデータ行に対応する) 最初のデータセットには、データ レコードセットのすべてのデータ列の見出しが含まれていることに注意してください。

Public Sub GetDataRowIDs_Example() 
 
     
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intCount As Integer 
    Dim lngRowIDs() As Long 
    Dim lngRow As Long 
    Dim lngColumn As Long 
    Dim varRowData As Variant 
 
    'Get the count of all data recordsets in the current document. 
    intCount = ThisDocument.DataRecordsets.Count 
 
    Set vsoDataRecordset = ThisDocument.DataRecordsets(intCount) 
 
    'Get the row IDs of all the rows in the data recordset 
    lngRowIDs = vsoDataRecordset.GetDataRowIDs("") 
 
    'Iterate through all the records in the data recordset. 
    For lngRow = LBound(lngRowIDs) To UBound(lngRowIDs) + 1 
        varRowData = vsoDataRecordset.GetRowData(lngRow) 
 
        'Print a separator between rows 
        Debug.Print "------------------------------" 
 
       'Print the data stored in each column of a particular data row. 
        For lngColumn = LBound(varRowData) To UBound(varRowData) 
            Debug.Print varRowData(lngColumn) 
        Next lngColumn 
    Next lngRow 
 
End Sub

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

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