Método DataRecordset.GetPrimaryKey (Visio)

Obtiene la configuración de la clave principal y el nombre de la columna o columnas de clave principal del conjunto de registros de datos.

Nota:

Este objeto o miembro Visio solo se encuentra disponible para los usuarios con licencia de Visio Professional 2013.

Sintaxis

expresión. GetPrimaryKey (PrimaryKeySettings, PrimaryKey())

Expresión Expresión que devuelve un objeto DataRecordset .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
PrimaryKeySettings Obligatorio VisPrimaryKeySettings Parámetro de salida. Configuración de la clave principal del conjunto de registros de datos. Vea la sección Comentarios para obtener los posibles valores.
PrimaryKey() Obligatorio String Parámetro de salida. Matriz de variables de tipo String.

Valor devuelto

Nothing

Comentarios

Use el método GetPrimaryKey para determinar la configuración de clave principal existente para un conjunto de registros de datos y el nombre de la columna o columnas de clave principal si se ha especificado una clave principal. El método devuelve la configuración de la clave principal del conjunto de registros de datos en el parámetro de salida PrimaryKeySettings como un valor de la enumeración VisPrimaryKeySettings. El valor predeterminado (cuando no se ha especificado ninguna clave principal) es visKeyRowOrder, lo que significa que Microsoft Visio identifica las filas del conjunto de registros de datos por orden de fila.

Un conjunto de registros de datos para el que se ha especificado una clave principal puede tener columnas de clave principal única o compuesta. Una clave principal de una sola columna basa la identificación de las filas en los valores de una sola columna. Una clave principal compuesta usa dos o más columnas para identificar una fila de forma única. Los posibles valores de PrimaryKeySettings se muestran en la siguiente tabla.

Constante Valor Descripción
visKeyRowOrder 1 Se usa el orden de fila como clave principal.
visKeySingle 2 Se usa una sola columna como clave principal.
visKeyComposite 3 Se usan varias columnas como columnas de clave principal.

Para el parámetro de salida PrimaryKey(), pase una matriz sin dimensiones de cadenas. Si la configuración de clave principal devuelta es visKeySingle o visKeyComposite, el método también devuelve una matriz de cadenas de nombre de columna de clave principal en el parámetro de salida PrimaryKey(). Si la configuración de la clave principal es visKeyRowOrder, el valor predeterminado, el método devuelve una matriz vacía.

Use el método DataRecordset.SetPrimaryKey para especificar la configuración de clave principal para el conjunto de registros de datos, así como el nombre de la columna o columnas que desea establecer como columna o columnas de clave principal. Cuando establezca los valores de las claves principales, asegúrese de que la columna o las columnas elegidas para ser las columnas de clave principal contienen valores (o conjuntos de valores) únicos para todas las filas.

Ejemplo:

Esta macro de Microsoft Visual Basic para Aplicaciones (VBA) muestra cómo se puede usar el método GetPrimaryKey para determinar la configuración de la clave principal de un conjunto de registros de datos, así como el nombre de la primera columna de clave principal. La macro busca el conjunto de registros de datos creado más recientemente asociado al documento y, si se ha especificado una clave principal, imprime en la ventana Inmediato el valor de la configuración de clave principal y el nombre de la primera columna de clave principal para el conjunto de registros de datos. Si no existe ninguna clave principal, imprime la configuración de la clave principal y la frase "No primary key".

Antes de ejecutar esta macro, cree al menos un conjunto de registros de datos en el documento actual y, si lo desea, especifique una clave principal mediante el método 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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.