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