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

VBA Access Discussion :

Ajout d'entrée dans une table à partir d'une requête ! [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de KClaudel
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 115
    Points : 194
    Points
    194
    Par défaut Ajout d'entrée dans une table à partir d'une requête !
    Bonjour à tous,

    Je souhaite, lorsque je clique sur mon bouton "Ajouter des articles d'un code voyage" dans mon formulaire qu'il me lance une requête en vba et ce que la requête me répond, je souhaite l’insérer dans une table (je pense avec un Recordset)
    Mais je n'ai pas d'idée sur comment faire ceci ?

    Merci d'avance.

    Cordialement.
    Images attachées Images attachées  
    Il devrait y avoir un bouton sur la télévision pour augmenter le volume d'intelligence. Il y en a un où on peut lire "lumière" mais ça ne fonctionne pas.

    Kevin CLAUDEL

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Citation Envoyé par PClaudel
    qu'il me lance une requête en vba et ce que la requête me répond, je souhaite l’insérer dans une table
    A pas compris tout mais bon...
    En remettant les mots dans l'ordre, j'ai réussi mais ça reste obscur...
    En fait, il y a plusieurs possibilités... Pas forcément avec un RecordSet.
    Tout dépend comment est structurée la base et ses tables.

    1. Déjà, les ajouter où ces articles ?
    2. Sont-ce les données dans les zones de saisie que je vois à gauche qui doivent passer dans le sous formulaire à droite ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Membre habitué Avatar de KClaudel
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 115
    Points : 194
    Points
    194
    Par défaut
    Bonjour argyronet !

    Merci pour ta réponse mais j'ai finalement réussi à faire quelque chose de correct.

    Voici ce que j'ai utilisé :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    Dim code As String
    code = InputBox("Le code voyage s'il vous plait ?", "Le code voyage")
    'MsgBox code
     
    Dim num_code As Integer
     
    Dim dbcv As DAO.Database
    Dim rscv As DAO.Recordset
    Set dbcv = CurrentDb
    Set rscv = dbcv.OpenRecordset("code_voyage", dbOpenDynaset)
    With rscv
        If .RecordCount <> 0 Then
            .MoveFirst
            Do While Not .EOF
                If .Fields("code_voyage") = code Then
                    num_code = .Fields("N°")
                    'MsgBox num_code
                End If
            .MoveNext
            Loop
        End If
    End With
     
    rscv.Close
    Set rscv = Nothing
    Set dbcv = Nothing
     
    Dim num_article As Integer
     
    Dim dbrcv As DAO.Database
    Dim rsrcv As DAO.Recordset
    Set dbrcv = CurrentDb
    Set rsrcv = dbrcv.OpenRecordset("req_code_voyage", dbOpenDynaset)
    With rsrcv
        If .RecordCount <> 0 Then
            .MoveFirst
            Do While Not .EOF
                If .Fields("ARTICLE.code_voyage.Value") = num_code Then
     
                    num_article = .Fields("N°")
     
                    Dim dbecd As DAO.Database
                    Dim rsecd As DAO.Recordset
                    Set dbecd = CurrentDb
                    Set rsecd = dbecd.OpenRecordset("est_compose_de", dbOpenDynaset)
                    With rsecd
                        .AddNew
                            !article = num_article
                            !quantite = 1
                            !commande = Me.N°
                        .Update
     
                    End With
     
                    rsecd.Close
                    Set rsecd = Nothing
                    Set dbecd = Nothing
     
                End If
            .MoveNext
            Loop
        End If
    End With
     
    rsrcv.Close
    Set rsrcv = Nothing
    Set dbrcv = Nothing
    Merci encore en tout cas.

    Cordialement.
    Il devrait y avoir un bouton sur la télévision pour augmenter le volume d'intelligence. Il y en a un où on peut lire "lumière" mais ça ne fonctionne pas.

    Kevin CLAUDEL

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Ah oui quand même !!!

    Humm, moi j'aurais plutôt utilisé un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sqlAjout = "INSERT INTO [est_compose_de] (article,quantite,commande) _
    VALUES (" & num_article & ", 1, " & Me.N° & ") WHERE [code_voyage] = " & num_code & ";"
    CurrentDb.Execute sqlAjout, dbConsistent
    Donc 2 lignes...

    Et puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If .Fields("ARTICLE.code_voyage.Value") = num_code Then
    Access doit pas trop aimer, je pense, le 3265, vous guette...

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #5
    Membre habitué Avatar de KClaudel
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 115
    Points : 194
    Points
    194
    Par défaut
    Citation Envoyé par argyronet Voir le message
    Ah oui quand même !!!

    Humm, moi j'aurais plutôt utilisé un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sqlAjout = "INSERT INTO [est_compose_de] (article,quantite,commande) _
    VALUES (" & num_article & ", 1, " & Me.N° & ") WHERE [code_voyage] = " & num_code & ";"
    CurrentDb.Execute sqlAjout, dbConsistent
    Donc 2 lignes...

    Et puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If .Fields("ARTICLE.code_voyage.Value") = num_code Then
    Access doit pas trop aimer, je pense, le 3265, vous guette...

    Argy
    Le sql, on me l'a déjà proposé mais je ne me suis jamais bien entendu avec lui
    Il était trop compliqué pour moi alors je l'ai lâchement abandonné !

    Pour ceci : .Fields("ARTICLE.code_voyage.Value") je n'ai pas vraiment eu le choix car en faite je passe par une requête pour qu'il m'affiche correctement tous les articles (donc si un article à 15 codes voyages différents, alors il sera affiché 15 fois) et ensuite je prend tous les articles qui correspondent à mon code voyage pour les mettre dans ma table est_compose_de avec le numéro de la commande en cours et vu la structure que j'ai, je n'ai réussi à faire cela que comme ceci !

    Merci encore en tout cas de ton aide !!

    Cordialement.
    Images attachées Images attachées  
    Il devrait y avoir un bouton sur la télévision pour augmenter le volume d'intelligence. Il y en a un où on peut lire "lumière" mais ça ne fonctionne pas.

    Kevin CLAUDEL

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/06/2012, 12h12
  2. [Tables] Update d'une table à partir d'une autre
    Par le_niak dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/01/2008, 09h01
  3. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24
  4. Créer une table à partir d'une autre dans un script
    Par Dam)rpgheaven dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 24/06/2005, 10h55
  5. Ajouter du texte dans un input à partir d'une autre fenêtre
    Par Michaël dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/04/2005, 20h14

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