Freigeben über


DataRecordset.RemoveRefreshConflict-Methode (Visio)

Löscht Informationen zu einem Konflikt für ein mit Daten verknüpftes Shape aus dem aktuellen Dokument.

Hinweis

Dieses Visio-Objekt oder dieses Visio-Mitglied ist nur für lizenzierte Benutzer von Visio Professional 2013 verfügbar.

Syntax

Ausdruck. RemoveRefreshConflict (ShapeInConflict)

Ausdruck Ein Ausdruck, der ein DataRecordset-Objekt zurückgibt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
ShapeInConflict Erforderlich [IVSHAPE] Ein Shape, das mit Daten verknüpft ist und nach dem Aktualisieren des Datenrecordsets einen Konflikt aufweist.

Rückgabewert

Nichts

Bemerkungen

Wenn ShapeInConflict tatsächlich keine Konflikte aufweist, hat die Methode keine Auswirkungen.

Wenn Sie Konfliktinformationen nicht entfernen, bleiben diese Informationen unbegrenzt im aktuellen Dokument enthalten.

Beispiel

Mit diesem VBA-Makro (Microsoft Visual Basic für Applikationen) wird gezeigt, wie die RemoveRefreshConflict-Methode zum Entfernen von Konflikten verwendet wird. Die GetAllRefreshConflicts-Methode wird aufgerufen, um zu ermitteln, welche Shapes nach dem Aktualisieren eines Datenrecordsets Konflikte aufweisen. Anschließend wird die GetMatchingRowsForRefreshConflict-Methode aufgerufen, um zu bestimmen, welche Zeile des Datenrecordsets den Konflikt verursacht.

Es aktualisiert das zuletzt hinzugefügte Datenrecordset. Wenn keine Konflikte gefunden werden, wird im Direktfenster "Keine Konflikte" ausgegeben. Wenn Konflikte gefunden werden, wird jede der Shapes mit Konflikten an die GetMatchingRowsForRefreshConflict-Methode übergeben und die resultierenden Zeilen-IDs im selben Fenster ausgegeben. Anschließend werden die Shapes mit Konflikten an die RemoveRefreshConflict-Methode übergeben, um die Konflikte zu entfernen.

Stellen Sie vor dem Ausführen dieses Makros sicher, dass es sich bei dem zuletzt hinzugefügten Datenrecordset um ein verbundenes (nicht auf XML basierendes) Datenrecordset handelt und dass die Verbindung zur ursprünglichen Datenquelle weiterhin verfügbar ist. Löschen Sie dann eine Zeile in der Datenquelle, oder nehmen Sie eine andere Änderung vor, die beim Aktualisieren des Datenrecordsets einen Konflikt verursacht.

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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.