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 :

Problème de requete INSERT INTO en VBA


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Problème de requete INSERT INTO en VBA
    Bonjour tout le monde,

    Voila , j ai un petit souci, Je récupère des informations à partir d'un formulaire et je souhaite rentrer ces valeurs dans mes tables access à l'aide d'une requete INSERT INTO. Mon problème est que la requete à l'air de fonctionner correctement car je n'ai aucune erreur, mais aucune des valeurs ne s'intègre dans ma table.

    Voici le schéma de mes tables access :

    http://imageshack.us/photo/my-images...eauaccess.png/

    J'ai pensé que cela pouvait être un problème de jointure. J'ai testé en passant les relations en type jointure 2 et 3 mais rien n'a changé.

    Voici le code de ma requete SQL :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set db = CurrentDb
     
    db.Execute " INSERT INTO  Ligne_de_facture_livraison ( N°Produit, N°facture_livraison, Quantite_produit, Quantite_casse, Quantite_vol, Quantite_perte ) VALUES (" & num_produit & "," & num_facture & "," & nouveau_stock1 & "," & nouveau_casse1 & "," & nouveau_vol1 & "," & nouveau_perte1 & ");"
     
    Debug.Print "Records affected = " & db.RecordsAffected
    db.Close
    J’espère que vous pourrez m'éclairer car je vient de passer ma journée sur ce problème sans résultat.

    Merci

    Cordialement

    MCB

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Salut,

    num_produit , num_facture.. sont-ce des variables ou des zones de texte ?

    Peux-t-on voir le code en amont ?

    A+

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Voila mon 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
    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
    68
    69
    70
    71
    72
       
    
        num_facture = N°facture_livraison.Value
        MsgBox num_facture   
        If nouveau_stock1 <> 0 Then   
            StrSql1 = "UPDATE Produit Set [Quantite_stock]='" & nouveau_stock1 & "' WHERE [désignation]='" & produit1.Value & "'"
            Set Req1 = CurrentDb.CreateQueryDef("", StrSql1)
            Req1.Execute dbFailOnError
            
            sSQL6 = "Select N°Produit From  Produit WHERE Produit.désignation='" & produit1.Value & "';"
            Set rst6 = CurrentDb.OpenRecordset(sSQL6, dbOpenForwardOnly, dbReadOnly)
            num_produit = rst6![N°Produit]
            rst6.Close
                    
            If nouveau_casse1 <> 0 Then
                    sSQL7 = "Select N°Anomalie From  anomalie WHERE anomalie.type_anomalie='casse';"
                    Set rst7 = CurrentDb.OpenRecordset(sSQL7, dbOpenForwardOnly, dbReadOnly)
                    num_casse = rst7![N°Anomalie]
                    rst7.Close
                    
                    stock_casse1 = DLookup("[stock_anomalie]", "Stock_anomalie", "[N°Produit] = " & num_produit & " AND [N°Anomalie] =  " & num_casse & "")
                    
                    stock_casse1 = stock_casse1 + quantite1.Value
            
                  StrSql2 = "UPDATE Stock_anomalie Set [stock_anomalie]='" & stock_casse1 & " ' WHERE [N°Produit] = " & num_produit & " AND  [N°Anomalie] = " & num_casse & ""
                  Set Req2 = CurrentDb.CreateQueryDef("", StrSql2)
                  Req2.Execute dbFailOnError
            End If
            
            If nouveau_vol1 <> 0 Then
                    sSQL7 = "Select N°Anomalie From  anomalie WHERE anomalie.type_anomalie='vol';"
                    Set rst7 = CurrentDb.OpenRecordset(sSQL7, dbOpenForwardOnly, dbReadOnly)
                    num_casse = rst7![N°Anomalie]
                    rst7.Close
                    
                    stock_vol1 = DLookup("[stock_anomalie]", "Stock_anomalie", "[N°Produit] = " & num_produit & " AND [N°Anomalie] =  " & num_casse & "")
                    
                    stock_vol1 = stock_casse1 + quantite1.Value
            
                  StrSql2 = "UPDATE Stock_anomalie Set [stock_anomalie]='" & stock_vol1 & " ' WHERE [N°Produit] = " & num_produit & " AND  [N°Anomalie] = " & num_casse & ""
                  Set Req2 = CurrentDb.CreateQueryDef("", StrSql2)
                  Req2.Execute dbFailOnError
                  
            End If
            
            If nouveau_perte1 <> 0 Then
                    sSQL7 = "Select N°Anomalie From  anomalie WHERE anomalie.type_anomalie='perte';"
                    Set rst7 = CurrentDb.OpenRecordset(sSQL7, dbOpenForwardOnly, dbReadOnly)
                    num_casse = rst7![N°Anomalie]
                    rst7.Close
                    
                    stock_perte1 = DLookup("[stock_anomalie]", "Stock_anomalie", "[N°Produit] = " & num_produit & " AND [N°Anomalie] =  " & num_casse & "")
                    
                    stock_perte1 = stock_perte1 + quantite1.Value
            
                  StrSql2 = "UPDATE Stock_anomalie Set [stock_anomalie]='" & stock_perte1 & " ' WHERE [N°Produit] = " & num_produit & " AND  [N°Anomalie] = " & num_casse & ""
                
                  Set Req2 = CurrentDb.CreateQueryDef("", StrSql2)
                  Req2.Execute dbFailOnError
                  
            End If  
     
            Set db = CurrentDb
            db.Execute " INSERT INTO  Ligne_de_facture_livraison ( N°Produit, N°facture_livraison, Quantite_produit, Quantite_casse, Quantite_vol, Quantite_perte ) VALUES (" & num_produit & "," & num_facture & "," & nouveau_stock1 & "," & nouveau_casse1 & "," & nouveau_vol1 & "," & nouveau_perte1 & ");"
           Debug.Print "Records affected = " & db.RecordsAffected
          db.Close
            
            Set db = CurrentDb
            db.Execute " INSERT INTO Facture_livraison ( Date_facture_livraison, N°Fournisseur ) VALUES(" & date_reception & "," & Form_Commande_fournisseur.TMP_FOURNISSEUR & ");"
            Debug.Print "Records affected = " & db.RecordsAffected
            db.Close
        End If
    donc num_facture, num_produit sont des variables.

    Merci de ton aide

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Slt,

    nouveau_stock1 est aussi une variable.

    Je ne vois nulle part ou tu l'initialises

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 060
    Points : 24 664
    Points
    24 664
    Par défaut
    Bonjour,

    Avec les relations active on crée d'abord l'enregistrement dans la table mère et ensuite dans la table enfant. Ici il me semble que tu fais le contraire.

    inverse les 2 requêtes.

    Cordialement,

Discussions similaires

  1. [AC-2007] Problème de requête "insert into" avec du VBA
    Par Maegane dans le forum VBA Access
    Réponses: 8
    Dernier message: 25/07/2013, 14h24
  2. [AC-2007] Problème syntaxe requete INSERT INTO VBA
    Par afrogwada dans le forum VBA Access
    Réponses: 2
    Dernier message: 25/07/2013, 09h44
  3. [XL-2007] Requete INSERT INTO / UPDATE en VBA
    Par aracnard dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/10/2012, 09h02
  4. probléme de l'exécution d'une requete insert into
    Par aefmaaradji dans le forum Oracle
    Réponses: 3
    Dernier message: 30/09/2010, 11h58
  5. Syntaxe requete SQL insert into dans VBA
    Par @rkane dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 12/12/2006, 22h03

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