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 :

est-i possible de faire un SELECT MAVARIABLE FROM TABLE ? [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut est-i possible de faire un SELECT MAVARIABLE FROM TABLE ?
    Bonjour,

    J'ai une variable TITRE (string) qui peut contenir : "club1", "club2"..."club10"

    J'ai une table : "CLUBS" qui contient 1 seule ligne d'enregistrement
    CLUB1-CLUB2-CLUB3....-CLUB10
    10000-20000-12000.....-24000

    Je voudrais faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT TITRE from CLUBS

    Mais il plante avec un trop peu de paramètre attendu. Y-a t'il une astuce pour utiliser une variable non pas dans un WHERE mais en lieu et place du nom d'un champs ?

    MErci

  2. #2
    Membre habitué
    Femme Profil pro
    Database
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Database

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Points : 135
    Points
    135
    Par défaut
    Bonjour,

    Non, on peut pas faire ça...

    Syntaxe de select :
    SELECT [nom_colonne]
    FROM [nom_table]
    WHERE [condition]

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut
    j'ai trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT " & TITRE & " FROM CLUBS;"
    Le problème est que ma variable avait un espace -> "club 1"
    donc j'ai mis
    par contre, il y a peut être mieux pour gérer les crochets ?

  4. #4
    Membre habitué
    Femme Profil pro
    Database
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Database

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Points : 135
    Points
    135
    Par défaut
    C'est une chaîne de caractère qui normalement doit être entouré par des " "... donc , pour l'interpréteur il y a 2 données distinctes....

    Il faut donc indiquer qu'il s'agit d'une chaîne de caractères en "l'entourant" de quote dans la requete:

    sql = "SELECT '" & TITRE & "' FROM CLUBS;"

    TITRE="club 1"

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut
    Merci Lagnio

    Si je suis ton exemple, il ne reconnait plus le champ. Par contre, du coup, j'ai adapté en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TITRE = "club 1"
    sql = "SELECT " & "[" & TITRE & "]" & " FROM CLUBS;"
    et là, ça passe !

    Merci à vous 2

  6. #6
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour,

    Juste pour le fun :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Titre = "club 1"
    WizHook.Key = 51488399
     
    WizHook.BracketString Titre, 1
    sql = "SELECT " & Titre & " FROM CLUBS;"
     
    MsgBox sql
    Wizhook.key peut être défini à l'ouverture de la base (macro autoexec), ce qui rend l'appel plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WizHook.BracketString Titre, 1
    sql = "SELECT " & Titre & " FROM CLUBS;"

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut
    Wizhook .......

    Merci

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

Discussions similaires

  1. [Tkinter] Est-il possible de faire pivoter des PhotoImage ?
    Par sigmar_avenger dans le forum Tkinter
    Réponses: 9
    Dernier message: 06/01/2007, 15h18
  2. Réponses: 7
    Dernier message: 09/05/2006, 11h30
  3. Est il possible de faire une fusion
    Par boy569 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 07/02/2006, 13h58
  4. Est il possible de faire planter un système Unix
    Par Patrick PETIT dans le forum Administration système
    Réponses: 15
    Dernier message: 15/06/2004, 15h16
  5. est il possible de faire un trie sur un paramètre donné
    Par chtiboss dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/03/2004, 11h51

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