J'essaie d'utiliser le code suivant, pour me repositionner sur un
enregistrement apès avoir effectué un DoCmd.ShowAllRecords (en utilisant la
clé primaire LocId)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles MOUGNOZ
Bonjour, J'essaie d'utiliser le code suivant, pour me repositionner sur un enregistrement apès avoir effectué un DoCmd.ShowAllRecords (en utilisant la clé primaire LocId) DoCmd.OpenForm "formLoc", , , "LocId =" & Mid(objTree.SelectedItem.Key, 2) Dim rst As DAO.Recordset Dim CleEnreg As Long CleEnreg = DLookup("LocId", "tblLoc") DoCmd.ShowAllRecords With Forms!formLoc.RecordsetClone .FindFirst "[LocId] = " & CleEnreg End With Je n'ai aucun message d'erreur, mais cela reste sans effet, le premier enregistrement reste affiché. Si quelqu'un peut m'aider... Merci d'avance Domi
Bonjour, Domi
Deux choses qui ne vont pas: 1) si j'ai bien compris, CleEnreg est sensé contenir la clé primaire courante. Or, tu la remplis avec un DLookUp sur la table. Cette instruction retourne le premier enregistrement qu'elle trouve sans se soucier de tri. Il vaudrait mieux récupérer directement la valeur de la clé sur le formulaire: CleEnreg = Me!LocId
2) l'instruction FindFirst change bien l'enregistrement courant pour correspondre à la recherche. Toutefois, tu l'utilises sur le RecordsetClone, il faut donc appliquer la même position sur le Recordset "réel": With Forms!formLoc.RecordsetClone .FindFirst "[LocId] = " & CleEnreg If .NoMatch = False Then Forms!formLoc.Bookmark = .Bookmark End With
L'instruction NoMatch permet de tester si la recherche a échoué et Bookmark renvoie la position de l'enregsitrement courant.
Voila, ce n'est qu'une solution possible, il y en a sûrement d'autres...
Bonne continuation
Bonjour,
J'essaie d'utiliser le code suivant, pour me repositionner sur un
enregistrement apès avoir effectué un DoCmd.ShowAllRecords (en utilisant
la
clé primaire LocId)
DoCmd.OpenForm "formLoc", , , "LocId =" & Mid(objTree.SelectedItem.Key, 2)
Dim rst As DAO.Recordset
Dim CleEnreg As Long
CleEnreg = DLookup("LocId", "tblLoc")
DoCmd.ShowAllRecords
With Forms!formLoc.RecordsetClone
.FindFirst "[LocId] = " & CleEnreg
End With
Je n'ai aucun message d'erreur, mais cela reste sans effet, le premier
enregistrement reste affiché.
Si quelqu'un peut m'aider...
Merci d'avance
Domi
Bonjour, Domi
Deux choses qui ne vont pas:
1) si j'ai bien compris, CleEnreg est sensé contenir la clé primaire
courante. Or, tu la remplis avec un DLookUp sur la table. Cette instruction
retourne le premier enregistrement qu'elle trouve sans se soucier de tri. Il
vaudrait mieux récupérer directement la valeur de la clé sur le formulaire:
CleEnreg = Me!LocId
2) l'instruction FindFirst change bien l'enregistrement courant pour
correspondre à la recherche. Toutefois, tu l'utilises sur le RecordsetClone,
il faut donc appliquer la même position sur le Recordset "réel":
With Forms!formLoc.RecordsetClone
.FindFirst "[LocId] = " & CleEnreg
If .NoMatch = False Then Forms!formLoc.Bookmark = .Bookmark
End With
L'instruction NoMatch permet de tester si la recherche a échoué et Bookmark
renvoie la position de l'enregsitrement courant.
Voila, ce n'est qu'une solution possible, il y en a sûrement d'autres...
Bonjour, J'essaie d'utiliser le code suivant, pour me repositionner sur un enregistrement apès avoir effectué un DoCmd.ShowAllRecords (en utilisant la clé primaire LocId) DoCmd.OpenForm "formLoc", , , "LocId =" & Mid(objTree.SelectedItem.Key, 2) Dim rst As DAO.Recordset Dim CleEnreg As Long CleEnreg = DLookup("LocId", "tblLoc") DoCmd.ShowAllRecords With Forms!formLoc.RecordsetClone .FindFirst "[LocId] = " & CleEnreg End With Je n'ai aucun message d'erreur, mais cela reste sans effet, le premier enregistrement reste affiché. Si quelqu'un peut m'aider... Merci d'avance Domi
Bonjour, Domi
Deux choses qui ne vont pas: 1) si j'ai bien compris, CleEnreg est sensé contenir la clé primaire courante. Or, tu la remplis avec un DLookUp sur la table. Cette instruction retourne le premier enregistrement qu'elle trouve sans se soucier de tri. Il vaudrait mieux récupérer directement la valeur de la clé sur le formulaire: CleEnreg = Me!LocId
2) l'instruction FindFirst change bien l'enregistrement courant pour correspondre à la recherche. Toutefois, tu l'utilises sur le RecordsetClone, il faut donc appliquer la même position sur le Recordset "réel": With Forms!formLoc.RecordsetClone .FindFirst "[LocId] = " & CleEnreg If .NoMatch = False Then Forms!formLoc.Bookmark = .Bookmark End With
L'instruction NoMatch permet de tester si la recherche a échoué et Bookmark renvoie la position de l'enregsitrement courant.
Voila, ce n'est qu'une solution possible, il y en a sûrement d'autres...
Bonne continuation
Domi
Bonjour,
Effectivement, j'avais déjà progressé un peu (ajout de l'L'instruction NoMatch ), mais c'est bien au niveau de la récupération de la clé que j'avais encore un problème.
Ca fonctionne parfaitement maintenant.
Merci pour tes précieux conseils.
Domi
Bonjour, J'essaie d'utiliser le code suivant, pour me repositionner sur un enregistrement apès avoir effectué un DoCmd.ShowAllRecords (en utilisant la clé primaire LocId) DoCmd.OpenForm "formLoc", , , "LocId =" & Mid(objTree.SelectedItem.Key, 2) Dim rst As DAO.Recordset Dim CleEnreg As Long CleEnreg = DLookup("LocId", "tblLoc") DoCmd.ShowAllRecords With Forms!formLoc.RecordsetClone .FindFirst "[LocId] = " & CleEnreg End With Je n'ai aucun message d'erreur, mais cela reste sans effet, le premier enregistrement reste affiché. Si quelqu'un peut m'aider... Merci d'avance Domi
Bonjour, Domi
Deux choses qui ne vont pas: 1) si j'ai bien compris, CleEnreg est sensé contenir la clé primaire courante. Or, tu la remplis avec un DLookUp sur la table. Cette instruction retourne le premier enregistrement qu'elle trouve sans se soucier de tri. Il vaudrait mieux récupérer directement la valeur de la clé sur le formulaire: CleEnreg = Me!LocId
2) l'instruction FindFirst change bien l'enregistrement courant pour correspondre à la recherche. Toutefois, tu l'utilises sur le RecordsetClone, il faut donc appliquer la même position sur le Recordset "réel": With Forms!formLoc.RecordsetClone .FindFirst "[LocId] = " & CleEnreg If .NoMatch = False Then Forms!formLoc.Bookmark = .Bookmark End With
L'instruction NoMatch permet de tester si la recherche a échoué et Bookmark renvoie la position de l'enregsitrement courant.
Voila, ce n'est qu'une solution possible, il y en a sûrement d'autres...
Bonne continuation
Bonjour,
Effectivement, j'avais déjà progressé un peu (ajout de l'L'instruction
NoMatch ), mais c'est bien au niveau de la récupération de la clé que j'avais
encore un problème.
Ca fonctionne parfaitement maintenant.
Merci pour tes précieux conseils.
Domi
Bonjour,
J'essaie d'utiliser le code suivant, pour me repositionner sur un
enregistrement apès avoir effectué un DoCmd.ShowAllRecords (en utilisant
la
clé primaire LocId)
DoCmd.OpenForm "formLoc", , , "LocId =" & Mid(objTree.SelectedItem.Key, 2)
Dim rst As DAO.Recordset
Dim CleEnreg As Long
CleEnreg = DLookup("LocId", "tblLoc")
DoCmd.ShowAllRecords
With Forms!formLoc.RecordsetClone
.FindFirst "[LocId] = " & CleEnreg
End With
Je n'ai aucun message d'erreur, mais cela reste sans effet, le premier
enregistrement reste affiché.
Si quelqu'un peut m'aider...
Merci d'avance
Domi
Bonjour, Domi
Deux choses qui ne vont pas:
1) si j'ai bien compris, CleEnreg est sensé contenir la clé primaire
courante. Or, tu la remplis avec un DLookUp sur la table. Cette instruction
retourne le premier enregistrement qu'elle trouve sans se soucier de tri. Il
vaudrait mieux récupérer directement la valeur de la clé sur le formulaire:
CleEnreg = Me!LocId
2) l'instruction FindFirst change bien l'enregistrement courant pour
correspondre à la recherche. Toutefois, tu l'utilises sur le RecordsetClone,
il faut donc appliquer la même position sur le Recordset "réel":
With Forms!formLoc.RecordsetClone
.FindFirst "[LocId] = " & CleEnreg
If .NoMatch = False Then Forms!formLoc.Bookmark = .Bookmark
End With
L'instruction NoMatch permet de tester si la recherche a échoué et Bookmark
renvoie la position de l'enregsitrement courant.
Voila, ce n'est qu'une solution possible, il y en a sûrement d'autres...
Effectivement, j'avais déjà progressé un peu (ajout de l'L'instruction NoMatch ), mais c'est bien au niveau de la récupération de la clé que j'avais encore un problème.
Ca fonctionne parfaitement maintenant.
Merci pour tes précieux conseils.
Domi
Bonjour, J'essaie d'utiliser le code suivant, pour me repositionner sur un enregistrement apès avoir effectué un DoCmd.ShowAllRecords (en utilisant la clé primaire LocId) DoCmd.OpenForm "formLoc", , , "LocId =" & Mid(objTree.SelectedItem.Key, 2) Dim rst As DAO.Recordset Dim CleEnreg As Long CleEnreg = DLookup("LocId", "tblLoc") DoCmd.ShowAllRecords With Forms!formLoc.RecordsetClone .FindFirst "[LocId] = " & CleEnreg End With Je n'ai aucun message d'erreur, mais cela reste sans effet, le premier enregistrement reste affiché. Si quelqu'un peut m'aider... Merci d'avance Domi
Bonjour, Domi
Deux choses qui ne vont pas: 1) si j'ai bien compris, CleEnreg est sensé contenir la clé primaire courante. Or, tu la remplis avec un DLookUp sur la table. Cette instruction retourne le premier enregistrement qu'elle trouve sans se soucier de tri. Il vaudrait mieux récupérer directement la valeur de la clé sur le formulaire: CleEnreg = Me!LocId
2) l'instruction FindFirst change bien l'enregistrement courant pour correspondre à la recherche. Toutefois, tu l'utilises sur le RecordsetClone, il faut donc appliquer la même position sur le Recordset "réel": With Forms!formLoc.RecordsetClone .FindFirst "[LocId] = " & CleEnreg If .NoMatch = False Then Forms!formLoc.Bookmark = .Bookmark End With
L'instruction NoMatch permet de tester si la recherche a échoué et Bookmark renvoie la position de l'enregsitrement courant.
Voila, ce n'est qu'une solution possible, il y en a sûrement d'autres...