Insert dans Access

Signaler
Messages postés
53
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
13 octobre 2006
-
Messages postés
53
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
13 octobre 2006
-
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

Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
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
Messages postés
53
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
13 octobre 2006

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