Je cherche un moyen apr=E8s une instuction SQL "INSERT INTO..." de
r=E9cup=E9rer la valeur d'un autonumber, sachant que je ne souhaite pas
de solution du genre :
- SELECT MAX(MonChampID) ...
- Faut faire un recordset et r=E9cup la valeur du champ apr=E8s l Update.
If cnn.Errors.Count > 0 Then rst.Close cnn.RollbackTrans Set cnn = Nothing On Error GoTo 0 MsgBox "blablabla" & vbCrLf & vbCrLf & strgSQL, _ vbOKOnly, "AJOUTER LE RENDEZ-VOUS" Exit Sub End If
"Drizzit" a écrit dans le message de news: Bonjour à toutes et à tous et bonne année.
Je cherche un moyen après une instuction SQL "INSERT INTO..." de récupérer la valeur d'un autonumber, sachant que je ne souhaite pas de solution du genre : - SELECT MAX(MonChampID) ... - Faut faire un recordset et récup la valeur du champ après l Update.
Merci d'avance
Bonjour,
Je ne sais pas si c'est possible après une instruction SQL INSERT INTO, par contre, en utilisant ADO, ça marche très bien,
voilà un exemple de code
J-Pierre
Dim strgSQL As String
Dim Wident As Long
Dim rst As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Set cnn = CurrentProject.Connection
cnn.BeginTrans
If cnn.Errors.Count > 0 Then
rst.Close
cnn.RollbackTrans
Set cnn = Nothing
On Error GoTo 0
MsgBox "blablabla" & vbCrLf & vbCrLf & strgSQL, _
vbOKOnly, "AJOUTER LE RENDEZ-VOUS"
Exit Sub
End If
"Drizzit" <dilallement@wanadoo.fr> a écrit dans le message de news: 1136362437.127492.214990@g14g2000cwa.googlegroups.com...
Bonjour à toutes et à tous et bonne année.
Je cherche un moyen après une instuction SQL "INSERT INTO..." de
récupérer la valeur d'un autonumber, sachant que je ne souhaite pas
de solution du genre :
- SELECT MAX(MonChampID) ...
- Faut faire un recordset et récup la valeur du champ après l Update.
If cnn.Errors.Count > 0 Then rst.Close cnn.RollbackTrans Set cnn = Nothing On Error GoTo 0 MsgBox "blablabla" & vbCrLf & vbCrLf & strgSQL, _ vbOKOnly, "AJOUTER LE RENDEZ-VOUS" Exit Sub End If
"Drizzit" a écrit dans le message de news: Bonjour à toutes et à tous et bonne année.
Je cherche un moyen après une instuction SQL "INSERT INTO..." de récupérer la valeur d'un autonumber, sachant que je ne souhaite pas de solution du genre : - SELECT MAX(MonChampID) ... - Faut faire un recordset et récup la valeur du champ après l Update.
Merci d'avance
Drizzit
Ok merci pour cette solution, mais justement, je ne souhaite pas utiliser d'objet Recordset. Je suis toujours preneur pour autres solutions... idées...
Ok merci pour cette solution, mais justement, je ne souhaite pas
utiliser d'objet Recordset.
Je suis toujours preneur pour autres solutions... idées...
Ok merci pour cette solution, mais justement, je ne souhaite pas utiliser d'objet Recordset. Je suis toujours preneur pour autres solutions... idées...
J-Pierre
Simple curiosité, pourquoi ne veux-tu pas utiliser un objet recordset ?
"Drizzit" a écrit dans le message de news: Ok merci pour cette solution, mais justement, je ne souhaite pas utiliser d'objet Recordset. Je suis toujours preneur pour autres solutions... idées...
Simple curiosité, pourquoi ne veux-tu pas utiliser un objet recordset ?
"Drizzit" <dilallement@wanadoo.fr> a écrit dans le message de news: 1136378347.774065.218050@o13g2000cwo.googlegroups.com...
Ok merci pour cette solution, mais justement, je ne souhaite pas
utiliser d'objet Recordset.
Je suis toujours preneur pour autres solutions... idées...
Simple curiosité, pourquoi ne veux-tu pas utiliser un objet recordset ?
"Drizzit" a écrit dans le message de news: Ok merci pour cette solution, mais justement, je ne souhaite pas utiliser d'objet Recordset. Je suis toujours preneur pour autres solutions... idées...
Eric
et avec la fonction de domaine DMax() sur la table ?
Ok merci pour cette solution, mais justement, je ne souhaite pas utiliser d'objet Recordset. Je suis toujours preneur pour autres solutions... idées...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
et avec la fonction de domaine DMax() sur la table ?
Ok merci pour cette solution, mais justement, je ne souhaite pas
utiliser d'objet Recordset.
Je suis toujours preneur pour autres solutions... idées...
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
et avec la fonction de domaine DMax() sur la table ?
Ok merci pour cette solution, mais justement, je ne souhaite pas utiliser d'objet Recordset. Je suis toujours preneur pour autres solutions... idées...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Drizzit
En faite il s'agit d'une application dans laquelle on référence des instructions SQL (SELECT, UPDATE, INSERT, ...) qu'on execute successivement, et par une "espèce" de macro langage, on peut ajouter des données FILLE (Ligne de commande) à une donnée MERE (commande)....
En faite il s'agit d'une application dans laquelle on référence des
instructions SQL (SELECT, UPDATE, INSERT, ...) qu'on execute
successivement, et par une "espèce" de macro langage, on peut ajouter
des données FILLE (Ligne de commande) à une donnée MERE
(commande)....
En faite il s'agit d'une application dans laquelle on référence des instructions SQL (SELECT, UPDATE, INSERT, ...) qu'on execute successivement, et par une "espèce" de macro langage, on peut ajouter des données FILLE (Ligne de commande) à une donnée MERE (commande)....
Drizzit
Oui, mais si entre le moment on je crée mon enregistrement et le moment ou je fais mon DMax, une autre personne crée un nouvelle enregistrement, je vais récupérer son ID, mais pas le mien. Nan, l'idéale serait d'avoir l'équivalent "SELECT @@IDENTITY" de SQL Serveur... Mais j'ai beau cherché, je ne trouve pas, sauf gérer soit même les ID... Mais ça va faire du changement si je fais cela...
Merci en tout cas pour les idées...
Oui, mais si entre le moment on je crée mon enregistrement et le
moment ou je fais mon DMax, une autre personne crée un nouvelle
enregistrement, je vais récupérer son ID, mais pas le mien.
Nan, l'idéale serait d'avoir l'équivalent "SELECT @@IDENTITY" de SQL
Serveur...
Mais j'ai beau cherché, je ne trouve pas, sauf gérer soit même les
ID... Mais ça va faire du changement si je fais cela...
Oui, mais si entre le moment on je crée mon enregistrement et le moment ou je fais mon DMax, une autre personne crée un nouvelle enregistrement, je vais récupérer son ID, mais pas le mien. Nan, l'idéale serait d'avoir l'équivalent "SELECT @@IDENTITY" de SQL Serveur... Mais j'ai beau cherché, je ne trouve pas, sauf gérer soit même les ID... Mais ça va faire du changement si je fais cela...
Merci en tout cas pour les idées...
3stone
Salut,
"Drizzit" Oui, mais si entre le moment on je crée mon enregistrement et le moment ou je fais mon DMax, une autre personne crée un nouvelle enregistrement, je vais récupérer son ID, mais pas le mien. Nan, l'idéale serait d'avoir l'équivalent "SELECT @@IDENTITY" de SQL Serveur... Mais j'ai beau cherché, je ne trouve pas, sauf gérer soit même les ID... Mais ça va faire du changement si je fais cela...
Une insertion via un CurentDb.execute ne permet pas de récupérer l'autonumber en multiuser...
Si dans la table exite un index unique, il reste... quelque chose comme : Select ID from table Where index= le ou les champs
"Drizzit"
Oui, mais si entre le moment on je crée mon enregistrement et le
moment ou je fais mon DMax, une autre personne crée un nouvelle
enregistrement, je vais récupérer son ID, mais pas le mien.
Nan, l'idéale serait d'avoir l'équivalent "SELECT @@IDENTITY" de SQL
Serveur...
Mais j'ai beau cherché, je ne trouve pas, sauf gérer soit même les
ID... Mais ça va faire du changement si je fais cela...
Une insertion via un CurentDb.execute ne permet pas de récupérer
l'autonumber en multiuser...
Si dans la table exite un index unique, il reste... quelque chose comme :
Select ID from table Where index= le ou les champs
"Drizzit" Oui, mais si entre le moment on je crée mon enregistrement et le moment ou je fais mon DMax, une autre personne crée un nouvelle enregistrement, je vais récupérer son ID, mais pas le mien. Nan, l'idéale serait d'avoir l'équivalent "SELECT @@IDENTITY" de SQL Serveur... Mais j'ai beau cherché, je ne trouve pas, sauf gérer soit même les ID... Mais ça va faire du changement si je fais cela...
Une insertion via un CurentDb.execute ne permet pas de récupérer l'autonumber en multiuser...
Si dans la table exite un index unique, il reste... quelque chose comme : Select ID from table Where index= le ou les champs