DataRecordset.GetDataRowIDs 方法 (Visio)
获取数据记录集内所有行的 ID 组成的数组。
注意
此 Visio 对象或成员仅供 Visio Professional 2013 的授权用户使用。
语法
表达式。GetDataRowIDs (CriteriaString)
表达 返回 DataRecordset 对象的表达式。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
CriteriaString | 必需 | 字符串 | 一个字符串,符合 Microsoft ActiveX 数据对象 (ADO) API 中指定的用于设置 ADO.Filter 属性的准则 |
返回值
Long ()
备注
使用 GetDataRowIDs 方法可获取数据记录集中所有行的 ID 数组,其中每一行表示单个数据记录。 GetDataRowIDs 方法将一个条件字符串用作其参数,该字符串符合 ADO API 中指定的用于设置 ADO.Filter 属性的准则。 通过指定适当的条件并使用 AND 和 OR 运算符分隔各子句,可以对数据记录集内的信息进行筛选,以便有选择性地只返回某些数据记录集行。 若要不应用筛选器(即获取所有行),则传递一个空字符串 ("") 即可。
有关条件字符串的详细信息,请参阅 ADO 2.8 API 参考中的 Filter 属性 。
示例
此 Microsoft Visual Basic for Applications (VBA) 宏显示如何使用 GetDataRowIDs 和 GetRowData 方法返回每一行的行 ID,然后获取存储在指定数据记录集的每一行的每一列中的数据。 宏获取与当前文档关联的所有数据记录集的计数,并获取最近添加的记录集的行数据。 该宏循环访问该数据记录集内的所有行,然后对每一行循环访问该行中的所有列。 这段代码将在“即时”窗口中显示返回的信息。
在运行该宏前,请在当前文档中至少创建一个数据记录集。
请注意,该宏将一个空字符串传递给 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。