Freigeben über


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.