IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

insérer un numéro automatique d'une table dans une autre table


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 36
    Points : 30
    Points
    30
    Par défaut insérer un numéro automatique d'une table dans une autre table
    Bonjour,

    j'ai deux commandes qui insérent des valeurs dans deux tables différentes.
    La table [Relance] permet d'enregistrer Le n° de facture, la date, le type et un commentaire
    La table [ContactSelected] permet d'enregistrer Le n° de facture, et le numéro automatique du contact qui se trouve dans la table [Contact].

    Mon problème est que je voudrais lié mon contact à mon numéro de relance:

    comment enregistrer dans la table [ContactSelected] le numéro automatique de la ligne correspondante de la table [Relance].

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        For Each varI In Me!lstrelance.ItemsSelected
            NrFacture = Me!lstrelance.ItemData(varI)
     
            DoCmd.RunSQL "insert into Relance(NrFacture, DateRelance, TypeRelance, Commentaire) select '" & NrFacture & "' , #" & Format$(dater, "mm/dd/yyyy") & "#,  '" & typer & "', '" & comment & "';"
     
            DoCmd.RunSQL "insert into ContactSelected(NrFacture, idContact) select '" & NrFacture & "' , '" & contact & "';"
     
        Next varI
    si y a un tuto, je ne l'ai pas trouvé ! Désolé.

    Merci d'avance,

  2. #2
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 36
    Points : 30
    Points
    30
    Par défaut
    J'ai trouvé qq chose mais j'ai un message d'erreur

    J'ai tout d'abord créé une fonction dans un module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function sql_idRelance() As String
     sql_idRelance = "SELECT max(id_Relance) FROM Relance"
    End Function
    puis je récupére la fonction dans mon projet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        For Each varI In Me!lstrelance.ItemsSelected
            NrFacture = Me!lstrelance.ItemData(varI)
     
            DoCmd.RunSQL "insert into Relance(NrFacture, DateRelance, TypeRelance, Commentaire) select '" & NrFacture & "' , #" & Format$(dater, "mm/dd/yyyy") & "#,  '" & typer & "', '" & comment & "';"
     
            idRelance = sql_idRelance
     
            DoCmd.RunSQL "insert into ContactSelected(NrFacture, idContact, idRelance) select '" & NrFacture & "' , '" & contact & "' , " & idRelance & ";"
     
        Next varI
    Mais access me dite que j'ai une erreur de syntaxe dans l'expression
    SELECT max(id_Relance), NrFacture FROM Relance
    Please help me ! I'm lost.


    Merci d'avance

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 36
    Points : 30
    Points
    30
    Par défaut
    j'y suis arrivé en mettant en place une liste déroulant qui récupère la requête SQL
    sql_idRelance = "SELECT Max(id_Relance)FROM Relance"
    de mon module.

    Puis je fais un rowsource. Je ne sais si c'est très joli, mais ça marche !!!!

    Enfin !!!

    pour ceux qui ont suivi voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    For Each varI In Me!lstrelance.ItemsSelected
            NrFacture = Me!lstrelance.ItemData(varI)
     
            DoCmd.RunSQL "insert into Relance(NrFacture, DateRelance, TypeRelance, Commentaire) select '" & NrFacture & "' , #" & Format$(dater, "mm/dd/yyyy") & "#,  '" & typer & "', '" & comment & "';"
     
        For Each varII In Me!lstContact.ItemsSelected
            idcontact = Me!lstContact.ItemData(varII)
                    Me.lstidRelance.RowSource = sql_idRelance
                    Me.lstidRelance.Selected(0) = True
                    idRelance = Me!lstidRelance.Column(0)
     
            DoCmd.RunSQL "insert into ContactSelected(NrFacture, idContact, idRelance) select '" & NrFacture & "' , '" & idcontact & "' , " & idRelance & ";"
         Next varII
     
          Next varI
    merci et à bientôt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Lier les tables d'une Base1 dans une Base3 via une Base2
    Par ted the Ors dans le forum VBA Access
    Réponses: 0
    Dernier message: 30/12/2009, 11h58
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo