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

IHM Discussion :

Définir le contenu d'un champ (requête SQL) en fonction des cases à cocher


Sujet :

IHM

  1. #1
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut Définir le contenu d'un champ (requête SQL) en fonction des cases à cocher
    Bonjour à tous,

    Dans un formulaire, je cherche à définir le contenu d'un champ selon les cases cochées par l'utilisateur.
    Dans mon formulaire F_1, il y a les cases à cocher case_lycee et case_fac, les champs ch_lycee, ch_fac et ch_etudiant et le bouton rechercher.
    En fonction du lycee et/ou de la fac choisi, une liste d'étudiants doit apparaitre dans le champ ch_etudiant.
    Par exemple, si l'utilisateur coche lycee et entre "condorcet" alors les étudiants de ce lycée seront dans la liste.

    J'ai essayé avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub rechercher_Click()
    'Change la requête SQL du champ etudiant selon les cases cochées
     
      If Me.case_lycee.Value = True And Me.case_fac.Value = False Then
      Me.ch_etudiant.Value = "SELECT Infos_etudiant.nom, Infos_etudiant.lycee FROM Infos_etudiant WHERE Infos_etudiant.lycee =[Forms]![F_1]![ch_lycee] ;"
     
     End If
     
    End Sub
    Mais ça ne marche pas et le champ ch_etudiant liste tous les étudiants.
    Comment doi-je adapter ce code s'il vous plait?

    Merci d'avance!

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    Bonjour,

    Peut être en ajoutant un requery sur ton contrôle en dessous de la définition de ta requête pour que la requête s'exécute:

    Cordialement.

  3. #3
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut
    J'ai essayé ta solution Mr.Mof mais ça ne fonctionne pas, j'ai toujours tous les étudiants dans la liste.

    Peut-être que je dois changer le contenu du champs de ch_etudiant car pour le moment j'ai la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Infos_etudiant.nom, Infos_etudiant.lycee, Infos_etudiant.fac
    FROM Infos_etudiant
    WHERE (((Infos_etudiant.nom)) Is Not Null));
    mais je ne vois pas comment :s

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    Ca y est j'ai retrouvé ce que je cherchais dans mon code . Alors pour redéfinir la requête de ton contrôle tu as peut être une propiété de type RowSource:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.moncontrole.Rowsource
    C'est à cet endroit que tu définit ta requête source. Donc tu remplace juste ton me.controle.value et après tu fais me.moncontrole.requery.
    Normalement, ca devrait fonctionner je pense.

  5. #5
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut
    Ok merci Mr.Mof mais je n'ai pas bien compris ou je dois mettre Me.ch_etudiant.Rowsource et me.ch_etudiant.requery...
    Ci-dessous une capture des priopriétés du champ ch_etudiant :
    Images attachées Images attachées  

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    dans ton code lorsque tu appuie sur ton bouton rechercher, tu lance ta procédure évenementielle et c'est la que tu voulais modifier le contenu de ta liste déroulante ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.ch_etudiant.Value = "SELECT Infos_etudiant.nom, Infos_etudiant.lycee FROM Infos_etudiant WHERE Infos_etudiant.lycee =[Forms]![F_1]![ch_lycee] ;"
    Tu remplace le me.controle.value que tu utilisais par me.controle.rowsource et en dessous tu fais me.controle.requery pour mettre à jour le contrôle;

  7. #7
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut
    D'accord merci pour ces précisions. mais pareil, j'ai tous les étudiants...
    Peut-être que je dois changer la requête du contenu du champ ch_etudiant?

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    Il y a un soucis dans ta requête. Je suppose que [Forms]![F_1]![ch_lycee] correspond à un champ de ton formulaire permettan de faire une sélection. Or dans ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT Infos_etudiant.nom, Infos_etudiant.lycee FROM Infos_etudiant WHERE Infos_etudiant.lycee =[Forms]![F_1]![ch_lycee] ;"
    Tu le met dans les guillemets. Donc la valeur du contrôle ne sera pas prise en compte.

    Pour utiliser la valeur de ton controle, utilise cette requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT Infos_etudiant.nom, Infos_etudiant.lycee FROM Infos_etudiant WHERE Infos_etudiant.lycee like '" & [Forms]![F_1]![ch_lycee] & "';"
    De plus, s'il s'agit d'un champ texte peut être qu'il serait plus judicieux d'utiliser like dans ta requête (comme ci-dessus).

    Enfin, tu peux toujours essayer de modifier directement la requête dans la feuille de propriétés pour voir si cela fonctionne.

Discussions similaires

  1. [phpMyAdmin] Touche tabulation dans champ requète sql
    Par Anonymus dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 23/09/2013, 11h37
  2. [AC-2010] Requête SQL en fonction des checkbox d'une listbox
    Par Aiola dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/07/2012, 22h41
  3. Requête SQL en fonction d'un champ d'un enregistrement
    Par mcorvaisier dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/02/2011, 17h12
  4. [PDO] Champ requête SQL qui n'apparaissent plus
    Par Pixounet dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 18/05/2010, 11h58
  5. Tri d'une requête SELECT en fonction de cases à cocher
    Par ju0123456789 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/12/2008, 10h18

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