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

Requêtes et SQL. Discussion :

Utilise la valeur d'une textbox dans une requête sql


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 21
    Points : 13
    Points
    13
    Par défaut Utilise la valeur d'une textbox dans une requête sql
    Bonjour à tous...

    La question à déjà été posée sur le forum et la réponse m'a aidé en parti (http://www.developpez.net/forums/vie....php?t=478314)

    Voila je m'explique :

    J'ai une textbox appelée Quantite1 dans un formulaire appelé Commande.
    A partir de cette textbox j'aimerais pouvoir mettre à jour m'a table Stock selon l'article commande (Listbox CmbProduit1, colonne 1).

    J'espère avoir été clair

    Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande55_Click()
     
        Dim Produit1 As String
     
        Produit1 = "UPDATE STOCK SET stockcommande = stockcommande + [Forms]![commande]![TxtQuantite1] WHERE refproduit = [Forms]![commande]![CmbProduit1].[Column(1)];"
     
        CurrentDb.Execute (Produit1)
     
     
    End Sub
    Commande55 est un bouton qui effectuera la mise à jour lors d'un clic.
    Stockcommande est la colonne qui indique la quantité en stock.
    Refproduit est la colonne qui indique la référence du produit.

    Lorque je clic sur le bouton, voici l'erreur qu'il me donne :
    Erreur d'execution 3051 :
    Trop peu de paramètre. 2 Attendu.

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    puisque tu construit la chaîne, pourquoi inclure les valeurs du formulaire dans la requête ?

    Essaye :

    Private Sub Commande55_Click()

    Dim Produit1 As String

    Produit1 = "UPDATE STOCK SET stockcommande = stockcommande + " & [Forms]![commande]![TxtQuantite1] & " WHERE refproduit = " & [Forms]![commande]![CmbProduit1].[Column(1)]

    CurrentDb.Execute (Produit1)


    End Sub

    ainsi tu peux verifier les valeurs de tes contrôles sur un point d'arrêt par ex.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    Salut

    Semblerai que les guillemets de ta requete soient mal placés. Tu peux regarder le tuto de théine sur les requetes

    http://cafeine.developpez.com/access...el/debugprint/

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Jsuis super à la ramasse avec ces histoire de quote, j'comprend pas tout mm après avoir lu et relu le tutoriel :\

    J'ai déjà supprimer les [Forms]![commande]![TxtQuantite1] pour les remplacer par Me.TxtQuantite1 vu que la txtbox ce trouve dans le mm formulaire que le bouton.

    J'ai fait de mm avec [Forms]![commande]![CmbProduit1].[Column(1)] que j'ai remplacer par Me.CmbProduit1.Column(1)

    Voila ce que ca donnne : (me taper pas, j'ai mis des quote un peu partout comme j'ai cru le comprendre)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Produit1 = "UPDATE STOCK SET stockcommande = stockcommande + '" & Me.TxtQuantite1 & " WHERE [STOCK]![refproduit] = '" & Me.CmbProduit1.Column(1) & "' "

    qui nous donne comme message d'erreur :

    Erreur d'execution 3075.
    Erreur de syntaxe, opérateur absent dans l'expression

    Merci pour votre aide

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    tu y es presque, il te manque une quote juste avant le where pour refermer la premiere



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Produit1 = "UPDATE STOCK SET stockcommande = stockcommande + '" & Me.TxtQuantite1 & "' WHERE refproduit = '" & Me.CmbProduit1.Column(1) & "' "

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. 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
  4. [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
  5. 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

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