Bonjour,
J'ai un formulaire continu qui liste les notifications de maintenance d'un site et une variable publique qui stocke la notification en cours d''edition (Vloc.item dans le code ci-dessous). Quand j'ouvre le formulaire, j'aimerais que le curseur aille directement sur l'enregistrement en cours dans la liste. Pour cela, j'utilise, sur l'événement Open du formulaire, le code suivant :
Comme on peut le constater, ce formulaire est inclus dans un autre (code me.parent ...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 'Déclarations Dim Vloc As New ObjVariables Dim strSQL As String Dim rst As DAO.Recordset strSQL = "OprMntBox1 = " & Chr(34) & Vloc.Item("VpTwParam1") & Chr(34) Me.Filter = strSQL Me.FilterOn = True 'Se positionner sur la notification actuelle si elle est correspondante Set rst = Me.Recordset rst.FindFirst "OprMntKey = " & Chr(34) & Vloc.Item("VpOprRefActuel") & Chr(34) If Not rst.NoMatch Then 'Notification concordante Me.Bookmark = rst.Bookmark End If Me.Parent.OprMntRef = Me.OprMntRef
Si je piège ma notification, elle est bien trouvée et elle est bonne puisque j'ouvre un autre formulaire à partir justement du code me.parent.oprMntRef. De plus, en debug.print, le numéro de notification est bien trouvé et correct.
Seulement, mon formulaire continu pointe toujours le premier enregistrement de la liste, disons qu'il pointe un autre enregistrement que celui qu'il trouve avec l'instruction rst.findFisrt .... il se positionne bien mais pointe mal !
Je ne comprends pas surtout que j'utilise ce code ailleurs dans l'application et que là, ça fonctionne bien !
Partager