Método DataRecordset.GetAllRefreshConflicts (Visio)

Devuelve una matriz que contiene formas vinculadas a filas de datos que tienen conflictos no resueltos después de actualizar un 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. GetAllRefreshConflicts

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

Valor devuelto

Shape()

Comentarios

Al actualizar los datos desde un origen de datos que ha cambiado desde la última vez que se actualizaron los datos, se pueden producir conflictos. Los conflictos pueden producirse cuando una sola forma está vinculada a más de una fila del mismo origen de datos o cuando una forma está vinculada a una fila del origen de datos que se ha eliminado.

Para determinar qué filas de conjunto de registros de datos generaron el conflicto, pase las formas devueltas por GetAllRefreshConflicts al método GetMatchingRowsForRefreshConflict , que devuelve una matriz de filas en conflicto.

Ejemplo:

Esta macro de Microsoft Visual Basic para Aplicaciones (VBA) muestra el uso del método GetAllRefreshConflicts para determinar las formas, si las hay, que tienen conflictos después de actualizar un conjunto de registros de datos. Si no se detectan conflictos y se actualiza el último conjunto de registros de datos agregado, se imprime "No hay conflictos" en la ventana Inmediato. De lo contrario,se recorre en iteración la matriz de las formas devueltas y se imprimen los nombres de las formas que tienen conflictos en la misma ventana.

Antes de ejecutar esta macro, asegúrese de que el último conjunto de datos agregado es un conjunto de registros de datos conectado (no basado en XML) y que la conexión al origen de datos original aún está disponible. A continuación, elimine una fila del origen de datos o efectúe otro cambio para que se provoque un conflicto.

Public Sub GetAllRefreshConflicts_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intRecordsetCount As Integer 
    Dim intShapeCount As Integer         
    Dim avsoShapes() As Visio.Shape     
     
    intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count 
    Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount) 
 
    vsoDataRecordset.Refresh    
    avsoShapes = vsoDataRecordset.GetAllRefreshConflicts 
     
    If IsEmpty(avsoShapes) Then 
        Debug.Print "No conflict" 
    Else 
        For intShapeCount = LBound(avsoShapes) To UBound(avsoShapes) 
            Debug.Print avsoShapes(intShapeCount).Name 
        Next intShapeCount 
    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.