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


Метод DataRecordset.GetPrimaryKey (Visio)

Возвращает параметр первичного ключа и имя столбца первичного ключа или столбцов для набора записей данных.

Примечание.

Этот объект или элемент Visio доступен только лицензированным пользователям Visio профессиональный 2013.

Синтаксис

expression. GetPrimaryKey (PrimaryKeySettings, PrimaryKey())

Выражение Выражение, возвращающее объект DataRecordset .

Параметры

Имя Обязательный или необязательный Тип данных Описание
PrimaryKeySettings Обязательный VisPrimaryKeySettings Параметр Out. Параметр первичного ключа для набора записей данных. Возможные значения см. в разделе Примечания.
PrimaryKey() Обязательный String Параметр Out. Массив переменных String .

Возвращаемое значение

Отсутствует

Примечания

Используйте метод GetPrimaryKey , чтобы определить существующий параметр первичного ключа для набора записей данных и имя столбца или столбца первичного ключа, если был указан первичный ключ. Метод возвращает параметр первичного ключа для набора записей данных в параметре PrimaryKeySettings out в качестве значения из перечисления VisPrimaryKeySettings . Значение по умолчанию (если первичный ключ не указан) — visKeyRowOrder, что означает, что Microsoft Visio определяет строки набора данных по порядку строк.

Набор записей данных, для которого указан первичный ключ, может содержать отдельные или составные столбцы первичного ключа. Первичный ключ с одним столбцом основывается на идентификации строк на значениях в одном столбце. Составной первичный ключ использует несколько столбцов для уникальной идентификации строки. В этой таблице показаны возможные значения для PrimaryKeySettings.

Константа Значение Описание
visKeyRowOrder 1 Используйте порядок строк в качестве первичного ключа.
visKeySingle 2 Используйте один столбец в качестве первичного ключевого столбца.
visKeyComposite 3 Используйте несколько столбцов в качестве первичных ключевых столбцов.

Для параметра PrimaryKey() out передайте массив строк без измерений. Если возвращается параметр первичного ключа visKeySingle или visKeyComposite, метод также возвращает массив строк имен столбцов первичного ключа в параметре PrimaryKey() out. Если параметр первичного ключа — visKeyRowOrder, то по умолчанию метод возвращает пустой массив.

Используйте метод DataRecordset.SetPrimaryKey , чтобы указать параметр первичного ключа для набора записей данных, а также имя столбца или столбца, которые необходимо задать в качестве столбца или столбца первичного ключа. При установке первичных ключей убедитесь, что столбец или столбцы, выбранные как столбцы первичного ключа, содержат уникальные значения (или наборы значений) для каждой строки.

Пример

В этом макросе Microsoft Visual Basic для приложений (VBA) показано, как можно использовать метод GetPrimaryKey для определения параметра первичного ключа для набора записей данных, а также имени первого столбца первичного ключа. Макрос находит последний созданный набор записей данных, связанный с документом, и если указан первичный ключ, выводит в окне Интерпретация значение параметра первичного ключа и имя первого столбца первичного ключа для набора записей данных. Если первичный ключ не существует, он выводит параметр первичного ключа и инструкцию "Нет первичного ключа".

Перед выполнением этого макроса создайте по крайней мере один набор записей данных в текущем документе и при необходимости укажите первичный ключ с помощью метода SetPrimaryKey .

Public Sub GetPrimaryKey_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intCount As Integer 
    Dim astrPrimaryKeyColumns() As String 
    Dim vsoKeySettings As VisPrimaryKeySettings 
 
 
    intCount = ThisDocument.DataRecordsets.Count 
    Set vsoDataRecordset = ThisDocument.DataRecordsets(intCount) 
    vsoDataRecordset.GetPrimaryKey vsoKeySettings, astrPrimaryKeyColumns 
 
    If vsoKeySettings = visKeyRowOrder Then 
        Debug.Print vsoKeySettings, "No primary key" 
    Else 
        Debug.Print vsoKeySettings, astrPrimaryKeyColumns(0) 
    End If 
    
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.