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 :

Requête paramétrée par un champ


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Requête paramétrée par un champ
    Bonjour

    J'aimerais utiliser un bouton de validation pour mettre à jour la base suivant la valeur d'une textbox (nommée: tbID)

    Je sèche sur la syntaxe pour appeller la textbox dans la requête.

    Actuellement, ma requête est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CurrentDb.Execute "UPDATE TQuestion SET Responsability = 'closed' WHERE TQuestion.ID=[Forms]![FQuestion]![tbID]"
    J'ai essayé auparavant avec le tuto: http://warin.developpez.com/access/requeteparametre/ et en mettant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CurrentDb.Execute "UPDATE TQuestion SET Responsability = 'closed' WHERE TQuestion.ID= Chr(34) & tbID & Chr(34)"
    sans plus de succès.

    Quelqu'un pourrait me dire où se trouve l'erreur de syntaxe? Le message d'erreur est: too few parameters. Expected 1.
    Je suppose que c'est une histoire de guillemets...

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Je pense qu'en corrigeant comme ci-dessous :

    si ID est alpha :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "UPDATE TQuestion SET Responsability = 'closed' WHERE TQuestion.ID = '" & tbID & "'"
    si ID est numérique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "UPDATE TQuestion SET Responsability = 'closed' WHERE TQuestion.ID= " & tbID
    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    En effet ça marche, merci beaucoup.

    Pourrais tu juste m'expliquer le pourquoi de cette syntaxe?
    Notamment, pourquoi on ferme les guillemets de CurrentDb.Execute juste avant le nom du champ dans le cas de tbID numérique?

    Si j'ai bien compris, le & sert à concaténer, le ' et le " s'utilisent quand on doit ouvrir des quote à l'intérieur de quote pour bien les différencier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE TQuestion.ID = '" & tbID & "'"
    là, on utilise les ' autour de la valeur à entrée, il y a un " pour fermer celui ouvert tout au début, mais à quoi servent les " autour de & tbID & ?

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    tbID est une variable, si tu l'englobes dans tes guillemts cela devient un mot simple. Le fait de le sortir des guillemets et de l'utiliser entre tes opérateurs de concatenation (&), cela permet de récupérer la valeur contenue dans ta variable.

    A+

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

Discussions similaires

  1. [AC-2007] Requête paramétrée sur un champ calculé
    Par cilia77 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 26/04/2013, 22h55
  2. Probléme requéte paramétrée par rapport au TableAdapter.fillby
    Par Damiens29 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 14/03/2013, 10h08
  3. Alimentation d'un ComboBox via une requête paramètrée par un autre ComboBox
    Par Platinium_Phoenix dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 30/06/2008, 09h56
  4. Paramétre sous un champ d'une requête union
    Par Philippe608 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 18/01/2008, 13h45
  5. [BDE] Requête paramétrée par un DateTime
    Par Neilos dans le forum C++Builder
    Réponses: 3
    Dernier message: 08/12/2006, 16h55

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