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.