Bonjour,
C'est sympa d'avoir des idées (à une époque ça devait remplacer le pétrole...) mais consulter la doc c'est mieux.
1) ne fait aucun traitement de données sur l'événement Load, le formulaire est en cours de chargement, donc les données ne sont pas encore présentes. Utilise form_Open plutôt.
2) Si tu fonctionnes avec le . tu accès à l'autocomplétion, donc Name.setfocus, je ne pense pas que ça existe . A de rares exceptions ce qu'il y a dans une liste, c'est ce que tu peux utiliser, et rien de plus, inutile de t'inventer des méthodes/propriétés.
Me.sbfrm_tblEmetteurs_AddItems.setfocus devrait mieux fonctionner.
3) Docmd est la commande qu'il te faut. encore faut-il utiliser les bons arguments et connaitre sa vrai fonction :
docmd.GoToRecord acDataForm,"sbfrm_tblEmetteurs_AddItems",acNewRec
PS : Le setfocus est inutile pour invoquer cette commande, elle n'est utile que pour "l'activation" du contrôle.
Si tu lis la doc sur cette commande (F1 sur GotoRecord) tu verras que c'est juste un placement sur le nouvel enregistrement, rien n'est créé.
Pour créer véritablement un enregistrement, soit tu utilises une requête (dans ton code c'est possible) soit tu le fais avec des recordset addnew et update.
1 2 3
| me.sbfrm_tblEmetteurs_AddItems.form.recordset.addnew
me.sbfrm_tblEmetteurs_AddItems.form.moncontrole = valeur
me.sbfrm_tblEmetteurs_AddItems.form.recordset.update |
Il y a un tuto sur DAO.
Bref comme tu le vois, ACCESS et très différent d'EXCEL.
Cordialement,
Partager