Méthode DataRecordset.RemoveRefreshConflict (Visio)
Efface du document actif les informations de conflit relatives à une forme liée aux 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. RemoveRefreshConflict (ShapeInConflict)
Expression Expression qui renvoie un objet DataRecordset .
Parameters
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
ShapeInConflict | Requis | [IVSHAPE] | Forme liée à des données qui a un conflit après l’actualisation du jeu d’enregistrements de données. |
Valeur renvoyée
Aucune
Remarques
Si ShapeInConflict n’a pas de conflits, la méthode n’aura aucun effet.
Si vous décidez de ne pas supprimer des informations de conflit, celles-ci seront conservées indéfiniment dans le document actif.
Exemple
Cette macro Microsoft Visual Basic pour Applications (VBA) illustre comment utiliser la méthode RemoveRefreshConflict pour supprimer des conflits. Elle appelle la méthode GetAllRefreshConflicts pour déterminer quelles sont les formes (le cas échéant) pour lesquelles il existe des conflits après l'actualisation d'un jeu d'enregistrements de données. Ensuite, il appelle la méthode GetMatchingRowsForRefreshConflict pour déterminer la ou les lignes du jeu d’enregistrements de données qui sont à l’origine du conflit.
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 détecte des conflits, elle transmet chaque forme pour laquelle il existe un conflit à la méthode GetMatchingRowsForRefreshConflict, puis affiche les ID de ligne dans la même fenêtre. Elle transmet enfin les formes pour lesquelles il existe un conflit à la méthode RemoveRefreshConflict pour supprimer les conflits.
Avant d'exécuter cette macro, vérifiez que le jeu d'enregistrements de données dernièrement ajouté est un jeu connecté (non XML) et que la connexion à la source de données d'origine est toujours disponible. Supprimez ensuite une ligne dans la source de données ou apportez toute autre modification qui générera un conflit après l'actualisation du jeu d'enregistrements de données.
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
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.