Partager via


Méthode DataRecordset.GetAllRefreshConflicts (Visio)

Retourne un tableau qui contient des formes liées à des lignes de données qui ont des conflits non résolus après l’actualisation d’un jeu d’enregistrements de données. .

Remarque

Cet objet ou ce membre Visio est disponible uniquement pour les titulaires d’une licence d’utilisation de Visio Professionnel 2013.

Syntaxe

expression. GetAllRefreshConflicts

Expression Expression qui renvoie un objet DataRecordset .

Valeur renvoyée

Shape()

Remarques

Des conflits peuvent se produire lorsque vous actualisez des données d'une source de données qui a été modifiée depuis la dernière actualisation de données. Des conflits peuvent se produire lorsqu’une seule forme est liée à plusieurs lignes dans la même source de données, ou lorsqu’une forme est liée à une ligne de la source de données qui a été supprimée.

Pour déterminer quelles lignes de jeu d’enregistrements de données ont produit le conflit, transmettez la ou les formes retournées par GetAllRefreshConflicts à la méthode GetMatchingRowsForRefreshConflict , qui retourne un tableau de lignes en conflit.

Exemple

Cette macro Microsoft Visual Basic pour Applications (VBA) indique comment utiliser la méthode GetAllRefreshConflicts pour déterminer les formes qui, le cas échéant, présentent des conflits après l'actualisation d'un jeu d'enregistrements. Elle actualise le dernier jeu d'enregistrements de données ajouté et, si elle ne détecte aucun conflit, imprime « Aucun conflit » dans la fenêtre Exécution. Si elle trouve des conflits, elle parcourt le tableau de formes renvoyé et imprime les noms des formes en conflit dans la même fenêtre.

Avant d'exécuter cette macro, vérifiez que le dernier jeu d'enregistrements de données ajouté est un jeu d'enregistrements de données connecté (pas basé sur XML), et que la connexion à la source de données d'origine est toujours disponible. Supprimez ensuite une ligne de la source de données, ou effectuez une autre modification qui engendre un conflit.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.