Salve a tutti!
Con questo Post vorrei chiedervi un consiglio su quale sia il modo migliore per ottenere un certo risultato.
Premessa: Mrs_A e Msr_B sono nomi di maschere
Supponiamo che io mi trovo in Msr_A e voglio aprire la Msr _B dove il campo ID di Msr _B è uguale al campo ID di Msr_A. In questo caso il codice potrebbe essere:
DoCmd.OpenForm "Msr _B", acNormal, , "[ID] =" & Me.ID.Value
Oppure:
DoCmd.OpenForm "MascheraElencoDetenuti", acNormal, , "[IDDETENUTO] =" & [Forms]![ Msr _A]![ID]
Apro solo una curiosità riguardo le due sintassi:
[Forms]![ Msr _A]![ID]
Form_ Msr _A.ID
Credo che siano due modi diversi per definire la stessa cosa ma volevo solo la conferma perché non si sa mai
Ora passiamo alla domanda:
quando scrivo
DoCmd.OpenForm "Msr _B", acNormal, , "[ID] =" & Me.ID.Value
mi apre Msr_B e sul campo ID trovo lo stesso record di Msr_A però non posso spostarmi tra i record successivi e precedenti in quanto la Form è filtrata.
Per ovviare a questo io scrivo:
DoCmd.OpenForm "Msr _B", acNormal
Dim rst As Object
Set rst = Form_ Msr _A.RecordsetClone
rst.FindFirst "[ID]=" & Me.ID.Value
Form_ Msr _B.Bookmark = rst.Bookmark
Set rst = Nothing
Tutto questo per dire che non voglio aprire una maschera filtrata su quel record ma voglio aprire la Msr_B in modo tale che si porti direttamente allo stesso ID di Msr_A consentendomi sempre gli spostamenti tra i Record precedenti e successivi.
Detto questo, ci sono altri modi per ottenere lo stesso risultato, caso mai scrivendo anche qualcosa in meno?
Grazie a tutti per il supporto!!