Метод DataRecordset.GetDataRowIDs (Visio)
Возвращает массив идентификаторов всех строк в наборе записей данных.
Примечание.
Этот объект или элемент Visio доступен только лицензированным пользователям Visio профессиональный 2013.
Синтаксис
expression. GetDataRowIDs (CriteriaString)
Выражение Выражение, возвращающее объект DataRecordset .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
CriteriaString | Обязательный | String | Строка, соответствующая рекомендациям, указанным в API объекта данных Microsoft ActiveX (ADO), для настройки ADO. Свойство Filter |
Возвращаемое значение
Long()
Замечания
Используйте метод GetDataRowIDs , чтобы получить массив идентификаторов всех строк в наборе записей данных, где каждая строка представляет одну запись данных. Метод GetDataRowIDs принимает в качестве параметра строку условия, которая является строкой, которая соответствует рекомендациям, указанным в API ADO для установки ADO. Свойство Filter . Указав соответствующие условия и используя операторы AND и OR для разделения предложений, можно отфильтровать сведения в наборе записей данных, чтобы возвратить только определенные строки набора данных. Чтобы не применять фильтр (т. е. для получения всех строк), передайте пустую строку ("").
Дополнительные сведения о строках условий см. в разделе Свойство фильтра справочника по API ADO 2.8.
Пример
В этом макросе Microsoft Visual Basic для приложений (VBA) показано, как можно использовать методы GetDataRowIDs и GetRowData, чтобы вернуть идентификатор каждой строки, а затем получить данные, хранящиеся в каждом столбце в каждой строке указанного набора записей данных. Макрос получает количество всех наборов записей данных, связанных с текущим документом, и получает данные строк для последнего добавленного. Он выполняет итерацию по всем строкам в наборе записей данных, а затем для каждой строки выполняет итерацию по всем столбцам в этой строке. Код выводит сведения, возвращаемые в окне интерпретации.
Перед выполнением этого макроса создайте по крайней мере один набор записей данных в текущем документе.
Обратите внимание, что макрос передает пустую строку методу 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 и обратная связь.