Insert dans Access

GrosLolo Messages postés 53 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 13 octobre 2006 - 4 nov. 2002 à 15:40
GrosLolo Messages postés 53 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 13 octobre 2006 - 7 nov. 2002 à 15:00
Bonjour à tous,

Quelqu'un peut-il me dire comment récupérer un id en auto-increment après un insert ? Je m'explique, dans access j'ai une table du style :

-----------------------------------------------
Id AutoNumber
Nom Text
Prenom Text
-----------------------------------------------

dans mon programme VB j'ai

-----------------------------------------------
Dim cmd As New ADODB.Command
Dim sql As String

With cmd
sql = "Insert into MaTable(Nom,Prenom) " & _
"VALUES (?,?)"

.ActiveConnection = gConnection.Connection
.CommandType = adCmdText
.CommandText = sql
'
.Parameters.Append .CreateParameter("Nom", adVarChar, adParamInput, 50)
.Parameters.Append .CreateParameter(Prenom", adVarChar, adParamInput, 50)

.Parameters("Nom") = nom
.Parameters("Prenom") = prenom

.Execute
End With
-----------------------------------------------

Comment récupérer cet Id après mon execute ????

Please Help !!!

PS : J'aimerai pouvoir le récuperer directement après l'execute et pas avec un nouveau query !

GrosLolo

2 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
7 nov. 2002 à 14:42
facile !!

s'il s'agit d'un auto increment , le Tuple (ca s'appelle comme ca !! ) que tu viens d'inserer porte comme id la plus grande valeur de tous les Tuples présents dans ta table !!

il te suffit donc de demander le Tuple avec le plus grand id , juste apres avoir insere celui-ci :

SELECT MAX(ID) FROM MaTable;

retourne l'Id en question...

meme en supprimant des Tuples , Access ne réutiliseras JAMAIS un id qui a ete utilisé. Tu n'a donc aucun soucis a te faire de ce coté la....

(Pour Info , si tu veux que tes id se suivent (amusant jeu de mot !! ) , il te faut détruire purement et simplement le champs id , et le rajouter a nouveau... )

By Renfield

thomas.reynald@caramail.com

Aucune touche n'a été bléssée lors de la saisie de ce texte..........
0
GrosLolo Messages postés 53 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 13 octobre 2006
7 nov. 2002 à 15:00
Merci Renfield mais c'est déjà comme ça que je récupère cet ID. Apparement il n'est pas possible de le récupérer directement lors de l'execute... snif !

Merci quand même,

GrosLolo.
0
Rejoignez-nous