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 :

Requete UPDATE qui ne fonctionne pas


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 45
    Points : 35
    Points
    35
    Par défaut Requete UPDATE qui ne fonctionne pas


    La requête ci-dessous ne s'exécute pas. C'est une requête UPDATE pour une gestion de stock.
    D'avance merci pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sql = "UPDATE Produits SET Produits.Qstock=Produits.Qstock - Commandes.Qvendue WHERE Produits.RefProduit=Commandes.RefProduit AND Commandes.NumClient=" & Me![NumClient]
    Erreur: Trop peu de paramètre. 3 attendu.

    JiB@

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Quel est le type de ton champ Commandes.NumClient ?

    Numérique, texte, ... ?

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Essaie d'adapter l'exemple sur tes tables pour voir si ça fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE table1 INNER JOIN table2 ON table1.idcode=table2.idcode SET table1.nom = table2.nom
    WHERE table2.nom='jean';
    A+

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    L'utilisation du debug.print est dans ces cas là fort pratique.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    En lisant rapidement, je constate 2 soucis:

    1/ pas de ";" en fin de requete et ça, c'est absolument nécessaire parce qu'autrement la machine ne sait pas que l'instruction est finie.


    2/ Ensuite le num de Commande :
    a- si c'est un champ STRING, il faut le mettre en cotes simples
    b - Sinon, comme tu est dans une string concaténée, soit tu le cernes entre 2 string, soit tu le convertis en string.

    Appliques ces deux règles pour commencer, après nous verrons ce que cela donne

  6. #6
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Citation Envoyé par Toftof
    1/ pas de ";" en fin de requete et ça, c'est absolument nécessaire parce qu'autrement la machine ne sait pas que l'instruction est finie.
    J'en mets jamais, et j'ai jamais eu de souci.

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Points : 169
    Points
    169
    Par défaut
    avec une base de données access le ";" n'est effectivement pas nécessaire mais sur quasiment toutes les autre il est absolutment nécéssaire ^^

    essai de faire :
    place un point d'arrêt sur la requête qui pose pb, puis exécute le code jusque là!

    ensuite dans :
    Affichage
    fenêtre Exécution
    dans cette fenêtre tu écrit :
    Print Sql et tu fait entrée, puis tu copie la requête, et tu en créé une nouvelle (dans la fenètre ou tu as accès au Tables, Requêtes, formulaires, Etats, Pages, Macros, Modules) et tu l'exécute pour voir ce qu'il te donne comme erreur !

    sinon pense à mettre en toute première ligne de ton code Option Explicit sa peu t'aider pour d'autre problème...

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Ok, merci àtous pour votre aide!

    La requête type de soltane1 m'a beaucoup aidé.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/02/2009, 14h09
  2. requete sql qui ne fonctionne pas
    Par pobrouwers dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/03/2007, 09h37
  3. Requete paramétrée qui ne fonctionne pas
    Par bestall666 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/02/2007, 21h58
  4. [MySQL] Requête update qui ne fonctionne pas
    Par Sylvain245 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/12/2005, 16h40
  5. [MySQL] UPDATE qui ne fonctionne pas
    Par philippef dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/09/2005, 14h35

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