Recuperer le numero auto d'un champ apres ajout

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 430 fois - Téléchargée 35 fois

Contenu du snippet

Permet de recuperer la valeur d'un champ numero auto après ajout d'un enregistrement.
Très utile si l'on désire utiliser la valeur recuperee pour une autre operation.Par exemple concatener ce champ et un autre pour une mise à jour.

Source / Exemple :


dim req
dim varr
dim sar
 set conn=server.createobject("adodb.connection")
  conn.open "nom_du_dsn"

'Requete ajout ou methode Addnew...Update
  req="Requete_d'ajout_d'enregistrement;"
  var=conn.execute (req) 'execution requete

'recuperation du champ numero auto  
  rst="select max(Champ_numeroauto) from  
  nom_de_table;"
  set sar=conn.execute (rst) 'execution requete

  recup=rst.fields("Champ_numeroauto")

Conclusion :


Marche avec une requete SQL(insert into) ou apres avoir utilise la methode Addnew...Update.

A voir également

Ajouter un commentaire

Commentaires

medicair
Messages postés
37
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
25 juin 2010
2 -
Quelqu'un à une idée ? pour récupérer cet ID auto ?

D'avance merci
medicair
Messages postés
37
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
25 juin 2010
2 -
bonjour, effectivement, j'utilise la méthode de MCJO seulement apres l' insert j'arrive à récupérer n'importe quel champs sauf l'Id auto-incrémenté (ASP/MySQL) :
Dim flat
Dim tito
'définit le Recordset
Dim chaine
set objconn=server.createobject("ADODB.Connection")
chaine = "dsn=datamysql;uid=xxx;option=16386"
objconn.open chaine
Set flat = Server.CreateObject("ADODB.Recordset")
'Ouvre le Recordset
flat.Open "GLM_XXX", objconn, 1,2,2
flat.Addnew
flat.fields("id_X01") = X01
flat.fields("ID_user") = session.SessionID
'MaTable.fields("start") = "'Now()'"
' & vbCrLf
for i=1 to 200
flat.fields("rp"& i)="-"' & vbCrLf
next
'ajoute les données dans la base
flat.update
tito=flat("id_XXX") '(l'auto-incrémenté) celui que je ne récupère pas en revanche, flat.fields("ID_user") pas de problème
response.Write(tito)
'on ferme et on supprime la conn et le flat
flat.Close
Set flat = Nothing
objconn.Close
Set objconn = Nothing
Goldeneye007
Messages postés
70
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
-
J'ai un problème il me dit que rs n'est pas déclaré il faut ajouter un élément?
vignot
Messages postés
1
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
3 octobre 2003
-
Salut,

je comprend pas trop l'histoire du rs("..") = ".." ...
en tout cas je sais que sur MS Sql Server on peut accéder à une variable @@IDENTITY qui contient l'AutoInc du dernier insert.
C'est fait exprès, on est sur que "le truc" ne se mélange pas les pinceaux comme dit YopYop.
Pour info @@ROWCOUNT "Returns the number of rows affected by the last statement." comme le dit la doc.
cs_Futura
Messages postés
8
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
2 novembre 2003
-
Une fois cette valeur récupéré, comment puis-je la stocker dans une variable globale à toutes les frames jusqu'à la fin de la connexion ?

Merci de votre aide

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.