2010-12-10 58 views
0

La question que j'ai posée à over here était en fait une question en deux parties. J'ai accepté une réponse parfaite pour la première partie, mais je suis toujours perplexe sur la seconde.Recherche de l'ID de numérotation automatique pour un nouvel enregistrement dans Access 2007

J'ai un formulaire lié à une table. L'utilisateur (toujours juste moi, en mode développement, mais quand même ...), entre un nouvel enregistrement dans le formulaire. Comment puis-je obtenir l'identifiant (Autonumber) de cet enregistrement? Même après avoir forcé un sauvetage, il ne semble pas être partout où je sais comment le trouver.

L'ID ne figure nulle part sur le formulaire, bien qu'il figure dans le jeu d'enregistrements sous-jacent. D'ailleurs, le jeu d'enregistrements semble pointer vers le premier enregistrement, pas le nouveau ajouté (je sais que ce comportement est documenté pour les jeux d'enregistrements DAO pur-code, mais je m'attendrais à l'enregistrement actuel de form.recordset à être celui qui est représenté sur l'écran).

Répondre

3

Vous pouvez utiliser l'événement Après insertion:

Private Sub Form_AfterInsert() 
MsgBox Me.ID ''Name of autonumber field 
End Sub 
+0

Cela semble être la façon la plus straight-forward pour obtenir le nouveau ID Autonumber . –

+0

Accepté parce qu'il a résolu mon problème - je n'ai même pas besoin d'utiliser l'événement, cependant. Je n'ai juste pas réalisé que le champ ID serait une propriété de la forme de cette façon. Comme je l'ai dit quelque part dans la chaîne des questions connexes, je ne suis pas vraiment habitué à lier des éléments d'interface. – RolandTumble

+0

J'aurais dû dire sur votre question précédente, c'était évident pour moi, donc je n'ai pas vu que ce n'est pas clair pour quelqu'un de nouveau à Access. – Fionnuala

0

Vous pouvez également utiliser la commande .movelast

Set rstTemp etc < rstTemp.addnew

remplir les champs

rstTemp.update rsttemp.movelast

La valeur de rstTemp!ID où ID est le champ NuméroAuto sera la valeur NuméroAuto