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 :

récupérer une valeur sélectionnée d'une liste pour en faire le critère d'une requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 58
    Points
    58
    Par défaut récupérer une valeur sélectionnée d'une liste pour en faire le critère d'une requête
    ComboBox1 affiche les valeurs du champ "paramètre" d'une requête sélection que l'utilisateur doit choisir.
    A chaque "paramètre" est associé plusieurs "solution". Je souhaite que mon deuxième contrôle (ComboBox2) affiche le résultat du champ "solution" en fonction du "paramètre" sélectionné par l'utilisateur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim MySQL As String
    MySQL = "SELECT [Table].[Paramètre],[Table].[Solution]"
    MySQL = MySQL + " FROM [Table]"
    MySQL = MySQL + " WHERE [Table].[Paramètre] = Me![ComboBox1].Value"
    MySQL = MySQL + " ORDER BY [Table].[solution]
    Me![ComboBox2].RowSourceType = "Table/Query"
    Me![ComboBox2].RowSource = MySQL
    Le problème c'est que l'instruction semble prendre mon critère comme une chaine de texte et non comme la valeur de mon contrôle. Faut il créer une fonction dans ce cas? Il y a surement plus simple!!mais là??? ou peut être faut il que je déclare la condition WHERE comme chaîne de caractère? j'ai juste besoin d'une piste pour savoir dans quel sens avancer...merci à vous

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Une piste : As-tu une version anglaise d'Access, si non, pourquoi mets tu "Table/Query" au lieu de "Table/Requête"

    Starec

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    Bonjour Starec,
    j'appelle directement la requête en mode VBA et non en mode SQL je met donc dans mon code "Table/Query". (attention je débute en VBA, je peus donc me tromper...et je fouine beaucoup dans les livres, j'ai donc repris "Table/Query" dans un bouquin). J'ai lu que peut être il faudrait que je créer une fonction "ChangeQueryDef" qui permette de modifier une requête en fonction des critères choisit par l'utilisateur en provenance d'un formulaire "sélection critère". Quand pensez vous? Y a pas plus simple??

  4. #4
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Salut,

    Et en essayant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim MySql As String
    MySql = "SELECT Table.Paramètre, Table.Solution "
    MySql = MySql + " FROM [Table] "
    MySql = MySql + " WHERE (((Table.Paramètre) = Forms!TonFormulaire![Combobox1]))"
    MySql = MySql + " ORDER BY Table.Solution"
    Me![ComboBox2].RowSource = MySql
    Me.ComboBox2.Requery

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    salut ft035580, merci c'était bien ça!! juste une erreur de synthaxe et j'avais pourtant essayer toutes les possibilitées, sauf celle ci semble-t-il.
    dur dur de débuter!! merci encore

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/10/2012, 14h51
  2. Réponses: 11
    Dernier message: 29/11/2010, 16h44
  3. Réponses: 1
    Dernier message: 21/11/2008, 11h38
  4. Réponses: 5
    Dernier message: 21/11/2008, 09h47
  5. Réponses: 2
    Dernier message: 25/03/2008, 10h49

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