Bonjour,

Je cherche à résoudre un problème de bookmark sur un formulaire de consultation dont la source de données porte sur plusieurs tables.
L'utilisateur peut filtrer ce formulaire de consultation sur une information donnée.

L'utilisateur peut modifier l'enregistrement courant ce qui se fait par un appel vers un formulaire de modification.
Ce dernier doit effectuer un requery sur le formulaire de consultation avant sa fermeture.

Je souhaite retrouver la position avant appel.

J'avais implémenté ceci dans la formulaire de consultation :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
     ' bkmark est une variable globale de type variant
      bkmark = Me.bookmark
      DoCmd.OpenForm "F_MODIFIER", acNormal, , , , , Me.Numero_auto
      ....
et ceci dans le formulaire de modification

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Private Sub CmdeAnnuler_Click()
    If Not IsNull(Me.OpenArgs) Then
        'Actualise le formulaire de consultation avec les donnees modifiées
        Forms("F_CONSULTER").Requery
        'Positionnement du formulaire de consultation
        Forms("F_CONSULTER").Recordset.Bookmark = bkmrk
    End If
    DoCmd.Close
End Sub

Mais cela m'indique à chaque fois que bkmrk est un signet non valide.

Merci d'avance de votre aide...en espérant ne pas être trop "à coté de la plaque" !