DataRecordset.GetAllRefreshConflicts-Methode (Visio)
Gibt ein Array zurück, das Shapes enthält, die mit Datenzeilen verknüpft sind, die nach dem Aktualisieren eines Datenrecordsets nicht aufgelöste Konflikte aufweisen. .
Hinweis
Dieses Visio-Objekt oder dieses Visio-Mitglied ist nur für lizenzierte Benutzer von Visio Professional 2013 verfügbar.
Syntax
Ausdruck. GetAllRefreshConflicts
Ausdruck Ein Ausdruck, der ein DataRecordset-Objekt zurückgibt.
Rückgabewert
Shape()
Hinweise
Konflikte können auftreten, wenn Sie Daten aus einer Datenquelle aktualisieren, die nach der letzten Datenaktualisierung geändert wurde. Konflikte können auftreten, wenn ein einzelnes Shape mit mehr als einer Zeile in derselben Datenquelle verknüpft ist oder wenn ein Shape mit einer Zeile in der Datenquelle verknüpft ist, die gelöscht wurde.
Um zu bestimmen, welche Datenrecordsetzeilen den Konflikt verursacht haben, übergeben Sie die von GetAllRefreshConflicts zurückgegebenen Formen an die GetMatchingRowsForRefreshConflict-Methode , die ein Array von Zeilen zurückgibt, die in Konflikt stehen.
Beispiel
Dieses VBA-Makro (Microsoft Visual Basic for Applications) zeigt, wie die GetAllRefreshConflicts-Methode verwendet wird, um zu bestimmen, welche Shapes nach dem Aktualisieren eines Datenrecordsets Konflikte aufweisen. Es aktualisiert das zuletzt hinzugefügte Datenrecordset. Wenn keine Konflikte gefunden werden, wird im Direktfenster "Keine Konflikte" ausgegeben. Wenn Konflikte gefunden werden, durchläuft es das zurückgegebene Shape-Array und gibt die Namen der Shapes, die Konflikte aufweisen, im selben Fenster aus.
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 aus der Datenquelle, oder nehmen Sie eine andere Änderung vor, die einen Konflikt verursacht.
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
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.