Recupération d'information!!

cs_glopglop Messages postés 80 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 14 novembre 2007 - 2 juil. 2002 à 14:57
cs_glopglop Messages postés 80 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 14 novembre 2007 - 4 juil. 2002 à 09:20
salut!
Suite à un ajout dans ma base de donnée (access) je voudrais recuperer l'id de l'enregistrement ajouté! j'utilise IIS5 et access02 !
Merci de votre aide!
mon code actuel est:

Set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_conn1_STRING
Recordset2.Source = "INSERT INTO Vacation (Date_Vac,Pt_TypVac_Vac) VALUES ("&dat&","&IdT&")"
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 1
Recordset2.Open()

je voudrais recupérer le champs Id_Vac de l'enregistrement ajouté!

6 réponses

cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
3 juil. 2002 à 03:59
Set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_conn1_STRING
Recordset2.source ="SELECT * FROM Vacation"
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 1
Recordset2.Open()
Recordset2.addnew
Recordset2("Date_Vac") = dat
Recordset2("Pt_TypVac_Vac") = IdT
Recordset2.update
id = Recordset2("id")
Recordset2.close
set Recordset2 = nothing
0
cs_glopglop Messages postés 80 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 14 novembre 2007
3 juil. 2002 à 10:02
Merci Mcjo pour ton aide!!
Malgres toute bonne volonté ca ne marche tjs pas!!
Maintenant G:

Set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_conn1_STRING
Recordset2.Source = "INSERT INTO Vacation (Date_Vac,Pt_TypVac_Vac) VALUES ("&dat&","&IdT&")"
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 1
Recordset2.Open()

Set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_conn1_STRING
Recordset2.source ="SELECT * FROM Vacation"
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 1
Recordset2.Open()
Recordset2.addnew
Recordset2("Date_Vac") = dat
Recordset2("Pt_TypVac_Vac") = IdT
Recordset2.update
Idv = Recordset2("Id_Vac")
Recordset2.close
set Recordset2 = nothing
Idv=cint(Idv)

et G l'erreur:

ADODB.Recordset error '800a0cb3'

Le jeu d'enregistrements suivant ne prend pas en charge la mise à jour. Il s'agit peut-être d'une limitation du fournisseur ou du type de verrou sélectionné.

sur la ligne recordset2.addnew

Une solution? Merci encore! ;)
0
phildarvador Messages postés 106 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 30 novembre 2004
3 juil. 2002 à 10:39
dans ce cas change ou supprime la ligne

Recordset2.LockType = 1

pour plus d'infos sur les verrous et les curseurs fais une recherche sur ce forum, Nix en explique les valeurs et fonctionnements tres clairement. Si tu veux la doc complete va sur le site de microsoft.

tchôô

Phildarvador
0
cs_glopglop Messages postés 80 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 14 novembre 2007
3 juil. 2002 à 12:25
Cool merci CT ca mais maintenant au lieu de recupérer le bon id je recupere 0
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phildarvador Messages postés 106 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 30 novembre 2004
3 juil. 2002 à 17:41
Est-ce que tu comprends tout le code de Mcjo?
Travaille le et essaie de voir si tout est utile et s'il n'y aurait pas d'autre solution. (ex: apres ton insertion tu récuperes l'id du dernier enregistrement de ta table le plus simplement du monde avec un select id from table [...] set rs=[...] rs.movelast)

tchôô

Phildarvador
0
cs_glopglop Messages postés 80 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 14 novembre 2007
4 juil. 2002 à 09:20
Ouai G bien compris le code!!

// Je fais un select sur ma table

Set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_conn1_STRING
Recordset2.source ="SELECT * FROM Vacation"
Recordset2.CursorType = adOpenKeyset
Recordset2.CursorLocation = objCon
Recordset2.LockType = adlockoptimistic
Recordset2.Open()

// j' ajoute un enregistrement
Recordset2.addnew
Recordset2("Date_Vac") = response("&dat&")
Recordset2("Pt_TypVac_Vac") = IdT

//je mets à jour le select
Recordset2.update

//je reupere l'id_Vac de l'enregistrement ajouté
Idv = Recordset2("Id_Vac")
Idv=cint(Idv)

// je ferme le rs
Recordset2.close
set Recordset2 = nothing

Le code est compris (meme si,malgres les cours, les curseurs et verrous reste un peu flou mais il marche de cette facon!!)!
J'avais bien pensé a ta solution mais le probleme c'est que je risque d'avoir des acces concurrent à la base!! Je ne peux donc pas faire comme ca!!
G bo tourner mes options dans tous les sens ca marche pas!!
0
Rejoignez-nous