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 :

Insérer variable dans instruction SQL


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Insérer variable dans instruction SQL
    Bonjour à tous,

    Je suis débutant et j'ai un petit problème sur Access.
    J'ai un formulaire avec une liste déroulante et je voudrais faire référence à l'objet choisi dans la liste (qui est un champ de type texte) dans une requête Mise à jour que j'ai directement tapée en VBA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       Dim mySQL As String
        'Jai essayé ici de déclarer la variable de la liste déroulante
        Dim ObjetListe As Variant
       ObjetListe = Forms![MyForm]![MyControl].Value
     
        mySQL = "UPDATE MyTable"
        mySQL = mySQL + " SET MyTable.[MonChamp] = ObjetListe,"
    Seulement là une msgBox s'affiche et me demande la valeur du paramètre ObjetListe
    si je tape manuellement la valeur que j'avais sélectionnée dans ma liste déroulante la mise à jour se fait correctement.
    Donc voilà je ne sais pas comment faire référence à cette variable dans mon instruction SQL.

    Sinon j'ai trouvé sur le site de microsoft cette réponse qui est du chinois pour moi:
    Q. comment utiliser une variable Visual Basic dans une requête SQL ?

    Variables a Visual Basic et les propriétés doivent être concaténées dans la chaîne SQL. Si vous
    incorporez le nom de la variable, votre code recherche avec le nom de la variable au lieu de la valeur de la
    variable.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur le forum Office de DVP.

    Il faut sortir ta variable de la chaine.

    Si ta valeur est de type numérique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mySQL = mySQL + " SET MyTable.[MonChamp] =" & ObjetListe
    Si ta valeur est de type texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mySQL = mySQL + " SET MyTable.[MonChamp] ='" &  ObjetListe &"'"
    Je te conseille d'utiliser plutôt le & que le + pour les concaténations

    Philippe

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour cette réponse d'une rapidité incroyable et qui marche en plus et désolé pour le bout de code sans balises.

    Merci encore et à bientôt

  4. #4
    Invité
    Invité(e)
    Par défaut
    De rien, penses à cliquer sur le bouton en bas

    Philippe

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

Discussions similaires

  1. variable dans requete SQL pour delphi
    Par socooooool dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/01/2013, 11h27
  2. [SQL & VBA]Insérer champ dans instruction SQL existante
    Par stéphane_ais2 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 22/05/2006, 11h58
  3. [MySQL] Introduire une variable dans requête SQL, insérer des données à la volée
    Par Ronan.f dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 29/04/2006, 22h10
  4. Variables dans un .sql exécuté par sqlplus
    Par ekke dans le forum Oracle
    Réponses: 10
    Dernier message: 12/04/2006, 17h03
  5. une variable dans du SQL ??
    Par Black Pearl dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/06/2005, 12h55

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