Quel est le N° de l'enregistrement que je suis en train de créer ?
3 réponses
Jac
Bonjour à tous,
je butte sur un petit problème dont voici le résumé :
Etape 1
depuis un formulaire, je génère grâce à un module, un nouvel enregistrement.
Ça fonctionne super bien. (Dim rst As DAO.Recordset / With rst / .addNew /
etc...)
L'enregistrement se crée en générant un N° automatique dans la table cible.
Etape 2
Suite à cette "manipulation", j'ai besoin de créer dans une table de détail,
de 1 à x enregistrements en fonction de données qui se trouvent dans mon
formulaire et pour cela, j'ai besoin de récupérer le N° de l'enregistrement
que je viens de créer afin d'alimenter le champ qui me servira à faire la
liaison entre les deux tables (1 -> n).
Et c'est là que ça coince. Je ne sais pas comment faire pour aller chercher
ce N° en vba.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ze Titi
Bonjour Jac
Si c'est un numéro automatique, la plupart du temps, c'est du séquentiel. Je vois donc bien l'utilisation de la fonction
DLast("tonNuméro","taTable")
dans ton message <456d15b0$0$12721$ du
Bonjour à tous,
je butte sur un petit problème dont voici le résumé :
Etape 1 depuis un formulaire, je génère grâce à un module, un nouvel enregistrement. Ça fonctionne super bien. (Dim rst As DAO.Recordset / With rst / .addNew / etc...) L'enregistrement se crée en générant un N° automatique dans la table cible.
Etape 2 Suite à cette "manipulation", j'ai besoin de créer dans une table de détail, de 1 à x enregistrements en fonction de données qui se trouvent dans mon formulaire et pour cela, j'ai besoin de récupérer le N° de l'enregistrement que je viens de créer afin d'alimenter le champ qui me servira à faire la liaison entre les deux tables (1 -> n).
Et c'est là que ça coince. Je ne sais pas comment faire pour aller chercher ce N° en vba.
Merci d'avance à qui me mettra sur la voie.
Jac
-- Voilou ! Bon code Cordialement,
Ze Titi
Bonjour Jac
Si c'est un numéro automatique, la plupart du temps, c'est du
séquentiel. Je vois donc bien l'utilisation de la fonction
DLast("tonNuméro","taTable")
dans ton message <456d15b0$0$12721$426a74cc@news.free.fr> du
Bonjour à tous,
je butte sur un petit problème dont voici le résumé :
Etape 1
depuis un formulaire, je génère grâce à un module, un nouvel enregistrement.
Ça fonctionne super bien. (Dim rst As DAO.Recordset / With rst / .addNew /
etc...)
L'enregistrement se crée en générant un N° automatique dans la table cible.
Etape 2
Suite à cette "manipulation", j'ai besoin de créer dans une table de détail,
de 1 à x enregistrements en fonction de données qui se trouvent dans mon
formulaire et pour cela, j'ai besoin de récupérer le N° de l'enregistrement
que je viens de créer afin d'alimenter le champ qui me servira à faire la
liaison entre les deux tables (1 -> n).
Et c'est là que ça coince. Je ne sais pas comment faire pour aller chercher
ce N° en vba.
Si c'est un numéro automatique, la plupart du temps, c'est du séquentiel. Je vois donc bien l'utilisation de la fonction
DLast("tonNuméro","taTable")
dans ton message <456d15b0$0$12721$ du
Bonjour à tous,
je butte sur un petit problème dont voici le résumé :
Etape 1 depuis un formulaire, je génère grâce à un module, un nouvel enregistrement. Ça fonctionne super bien. (Dim rst As DAO.Recordset / With rst / .addNew / etc...) L'enregistrement se crée en générant un N° automatique dans la table cible.
Etape 2 Suite à cette "manipulation", j'ai besoin de créer dans une table de détail, de 1 à x enregistrements en fonction de données qui se trouvent dans mon formulaire et pour cela, j'ai besoin de récupérer le N° de l'enregistrement que je viens de créer afin d'alimenter le champ qui me servira à faire la liaison entre les deux tables (1 -> n).
Et c'est là que ça coince. Je ne sais pas comment faire pour aller chercher ce N° en vba.
Merci d'avance à qui me mettra sur la voie.
Jac
-- Voilou ! Bon code Cordialement,
Ze Titi
CC
Bonjour,
Juste après avoir fait ton .addnew, tu peux récupérer dans une variable de type Long, le NuméroAuto qui vient d'être généré.
Par exemple : Soit MATABLE = CODE_CLE (NuméroAuto), NOM, PRENOM Monjeu = Recordset basé sur cette table
CléCreer = Valeur NuméroAuto qui vient d'être créé en faisaint le .addnew
End_Test: If Not MonJeu Is Nothing Then MonJeu.Close: Set MonJeu = Nothing End If Exit Sub
Err_Test: MsgBox Err.Description Resume End_Test End Sub
"Jac" a écrit dans le message de news:456d15b0$0$12721$
Bonjour à tous,
je butte sur un petit problème dont voici le résumé :
Etape 1 depuis un formulaire, je génère grâce à un module, un nouvel enregistrement.
Ça fonctionne super bien. (Dim rst As DAO.Recordset / With rst / .addNew / etc...) L'enregistrement se crée en générant un N° automatique dans la table cible.
Etape 2 Suite à cette "manipulation", j'ai besoin de créer dans une table de détail,
de 1 à x enregistrements en fonction de données qui se trouvent dans mon formulaire et pour cela, j'ai besoin de récupérer le N° de l'enregistrement
que je viens de créer afin d'alimenter le champ qui me servira à faire la liaison entre les deux tables (1 -> n).
Et c'est là que ça coince. Je ne sais pas comment faire pour aller chercher
ce N° en vba.
Merci d'avance à qui me mettra sur la voie.
Jac
Bonjour,
Juste après avoir fait ton .addnew, tu peux récupérer dans une variable de
type Long, le NuméroAuto qui vient d'être généré.
Par exemple :
Soit MATABLE = CODE_CLE (NuméroAuto), NOM, PRENOM
Monjeu = Recordset basé sur cette table
CléCreer = Valeur NuméroAuto qui vient d'être créé en faisaint le .addnew
End_Test:
If Not MonJeu Is Nothing Then
MonJeu.Close: Set MonJeu = Nothing
End If
Exit Sub
Err_Test:
MsgBox Err.Description
Resume End_Test
End Sub
"Jac" <Jsansp@mfra.net> a écrit dans le message de
news:456d15b0$0$12721$426a74cc@news.free.fr...
Bonjour à tous,
je butte sur un petit problème dont voici le résumé :
Etape 1
depuis un formulaire, je génère grâce à un module, un nouvel
enregistrement.
Ça fonctionne super bien. (Dim rst As DAO.Recordset / With rst / .addNew /
etc...)
L'enregistrement se crée en générant un N° automatique dans la table
cible.
Etape 2
Suite à cette "manipulation", j'ai besoin de créer dans une table de
détail,
de 1 à x enregistrements en fonction de données qui se trouvent dans mon
formulaire et pour cela, j'ai besoin de récupérer le N° de
l'enregistrement
que je viens de créer afin d'alimenter le champ qui me servira à faire la
liaison entre les deux tables (1 -> n).
Et c'est là que ça coince. Je ne sais pas comment faire pour aller
chercher
End_Test: If Not MonJeu Is Nothing Then MonJeu.Close: Set MonJeu = Nothing End If Exit Sub
Err_Test: MsgBox Err.Description Resume End_Test End Sub
"Jac" a écrit dans le message de news:456d15b0$0$12721$
Bonjour à tous,
je butte sur un petit problème dont voici le résumé :
Etape 1 depuis un formulaire, je génère grâce à un module, un nouvel enregistrement.
Ça fonctionne super bien. (Dim rst As DAO.Recordset / With rst / .addNew / etc...) L'enregistrement se crée en générant un N° automatique dans la table cible.
Etape 2 Suite à cette "manipulation", j'ai besoin de créer dans une table de détail,
de 1 à x enregistrements en fonction de données qui se trouvent dans mon formulaire et pour cela, j'ai besoin de récupérer le N° de l'enregistrement
que je viens de créer afin d'alimenter le champ qui me servira à faire la liaison entre les deux tables (1 -> n).
Et c'est là que ça coince. Je ne sais pas comment faire pour aller chercher
ce N° en vba.
Merci d'avance à qui me mettra sur la voie.
Jac
Logipro
Bonjour Jac,
Il suffit de mettre entre le Addnew et le update quelque chose du genre afin de récupérer le numéro unique de la table cible :
dim lngUnique as long rstClients.Addnew .. .. lngUnique=rstClients!NoUnique rstClients.Update
Mais pour une base SQL tu fait ceci après le .Update
"Jac" a écrit dans le message de news: 456d15b0$0$12721$
Bonjour à tous,
je butte sur un petit problème dont voici le résumé :
Etape 1 depuis un formulaire, je génère grâce à un module, un nouvel enregistrement. Ça fonctionne super bien. (Dim rst As DAO.Recordset / With rst / .addNew / etc...) L'enregistrement se crée en générant un N° automatique dans la table cible.
Etape 2 Suite à cette "manipulation", j'ai besoin de créer dans une table de détail, de 1 à x enregistrements en fonction de données qui se trouvent dans mon formulaire et pour cela, j'ai besoin de récupérer le N° de l'enregistrement que je viens de créer afin d'alimenter le champ qui me servira à faire la liaison entre les deux tables (1 -> n).
Et c'est là que ça coince. Je ne sais pas comment faire pour aller chercher ce N° en vba.
Merci d'avance à qui me mettra sur la voie.
Jac
Bonjour Jac,
Il suffit de mettre entre le Addnew et le update quelque chose du genre afin
de récupérer le numéro unique de la table cible :
dim lngUnique as long
rstClients.Addnew
..
..
lngUnique=rstClients!NoUnique
rstClients.Update
Mais pour une base SQL tu fait ceci après le .Update
"Jac" <Jsansp@mfra.net> a écrit dans le message de news:
456d15b0$0$12721$426a74cc@news.free.fr...
Bonjour à tous,
je butte sur un petit problème dont voici le résumé :
Etape 1
depuis un formulaire, je génère grâce à un module, un nouvel
enregistrement. Ça fonctionne super bien. (Dim rst As DAO.Recordset / With
rst / .addNew / etc...)
L'enregistrement se crée en générant un N° automatique dans la table
cible.
Etape 2
Suite à cette "manipulation", j'ai besoin de créer dans une table de
détail, de 1 à x enregistrements en fonction de données qui se trouvent
dans mon formulaire et pour cela, j'ai besoin de récupérer le N° de
l'enregistrement que je viens de créer afin d'alimenter le champ qui me
servira à faire la liaison entre les deux tables (1 -> n).
Et c'est là que ça coince. Je ne sais pas comment faire pour aller
chercher ce N° en vba.
"Jac" a écrit dans le message de news: 456d15b0$0$12721$
Bonjour à tous,
je butte sur un petit problème dont voici le résumé :
Etape 1 depuis un formulaire, je génère grâce à un module, un nouvel enregistrement. Ça fonctionne super bien. (Dim rst As DAO.Recordset / With rst / .addNew / etc...) L'enregistrement se crée en générant un N° automatique dans la table cible.
Etape 2 Suite à cette "manipulation", j'ai besoin de créer dans une table de détail, de 1 à x enregistrements en fonction de données qui se trouvent dans mon formulaire et pour cela, j'ai besoin de récupérer le N° de l'enregistrement que je viens de créer afin d'alimenter le champ qui me servira à faire la liaison entre les deux tables (1 -> n).
Et c'est là que ça coince. Je ne sais pas comment faire pour aller chercher ce N° en vba.