Поделиться через


Метод 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 и обратная связь.