Método DataRecordset.RemoveRefreshConflict (Visio)

Borra del documento actual la información sobre un conflicto correspondiente a una forma con vínculos de datos.

Nota:

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

Sintaxis

expresión. RemoveRefreshConflict (ShapeInConflict)

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

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
ShapeInConflict Obligatorio [IVSHAPE] Forma vinculada a datos que tiene un conflicto después de actualizar el conjunto de registros de datos.

Valor devuelto

Nothing

Comentarios

Si ShapeInConflict realmente no tiene conflictos, el método no tendrá ningún efecto.

Si decide no quitar la información relativa a un conflicto, esta información se conservará en el documento actual por tiempo indefinido.

Ejemplo:

En esta macro de Microsoft Visual Basic para Aplicaciones (VBA) se muestra cómo utilizar el método RemoveRefreshConflict para quitar conflictos. Se llama al método GetAllRefreshConflicts para determinar qué formas (si las hay) tienen conflictos después de actualizar un conjunto de registros de datos. A continuación, llama al método GetMatchingRowsForRefreshConflict para determinar qué filas o filas del conjunto de registros de datos están causando el conflicto.

Si no se detectan conflictos al actualizar el último conjunto de registros de datos agregado, se imprime "No hay conflictos" en la ventana Immediate (Inmediato). Si se encuentra alguno, se pasa cada una de las formas que los tienen al método GetMatchingRowsForRefreshConflict y se imprimen en la misma ventana los identificadores de fila resultantes. A continuación, se pasan las formas con conflictos al método RemoveRefreshConflict, para quitarlos.

Antes de ejecutar esta macro, asegúrese de que el último conjunto de registros de datos agregado es un conjunto de registros de datos conectado (no basado en XML) y de 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 al actualizar el conjunto de registros de datos.

Public Sub RemoveRefreshConflicts_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intRecordsetCount As Integer 
    Dim intShapeCount As Integer 
    Dim vsoShapes() As Visio.Shape 
     
    Dim intRowCount As Integer 
    Dim vsoShapeInConflict As Visio.Shape 
     
    Dim alngRowIDs() As Long 
    Dim lngvsoRowID As Long 
         
    intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count 
    Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount) 
     
    vsoDataRecordset.Refresh 
    vsoShapes = vsoDataRecordset.GetAllRefreshConflicts 
     
    If IsEmpty(vsoShapes) Then 
        Debug.Print "No conflict" 
    Else 
        For intShapeCount = LBound(vsoShapes) To UBound(vsoShapes) 
            Set vsoShapeInConflict = vsoShapes(intShapeCount) 
            alngRowIDs = vsoDataRecordset.GetMatchingRowsForRefreshConflict(vsoShapeInConflict) 
             
            If IsEmpty(alngRowIDs) Then 
                Debug.Print "For shape:", vsoShapeInConflict.Name, "Row deleted." 
            Else 
                For intRowCount = LBound(alngRowIDs) To UBound(alngRowIDs) 
                    lngvsoRowID = alngRowIDs(intRowCount) 
                    Debug.Print "For shape:", vsoShapeInConflict.Name, "Row ID of row in conflict:", lngvsoRowID 
                Next intRowCount 
            End If 
             
            Call vsoDataRecordset.RemoveRefreshConflict (vsoShapeInConflict) 
            
        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.