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 :

Ajouter "--Tous--" dans un combobox


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut Ajouter "--Tous--" dans un combobox
    Bonjour à tous,

    Je suis débutant sous access et je cherche à réaliser un formulaire dans lequel s'affiche une liste filtrée en focntion de la valeur afficher dans un combobox.

    J'ai définit la liste du combobox avec une requête SQL :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT [Salarie].[Nom] FROM Salarie;

    Le problème que je rencontre est de pouvoir ajouter une valeur "---Tous---" dans la combobox pour pouvoir afficher l'ensemble des enregistrements dans la liste filtrée.

    J'ai vu des solutions en ajoutant UNION mais je n'arrive pas à l'intégrer dans mon cas. Avez-vous une idée pour résoudre mon problème.

    Merci d'avance

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 763
    Points : 58 019
    Points
    58 019
    Billets dans le blog
    42
    Par défaut
    bonjour,

    tu as fais comme dans la FAQ ?
    Comment ajouter "[Tous]" en haut d'une liste déroulante ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Merci f-leb,

    J'avais bien vu ce FAQ en ayant fait quelques recherches mais le problème, c'est que je ne comprends pas la signification de toutes les lignes et notament de ce que représente les lettres A, B et C dans ce code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT A.Champ1 
    FROM (SELECT B.Champ1, 1 AS IndexTri FROM Table1 AS B
    Union 
    SELECT TOP 1 "[Tous]", 0 FROM Table1 AS C) AS A
    ORDER BY A.IndexTri, A.Champ1
    Serait-il possible d'avoir une explication ligne à ligne de ce code afin de pouvoir comprendre et progresser?

    Exemple pour la ligne 1 : Sélection du champ "Champ1" de la table "A"

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 763
    Points : 58 019
    Points
    58 019
    Billets dans le blog
    42
    Par défaut
    bonjour,

    A, B et C sont des alias, autrement dit, des noms de substitution.

    Voir: Utiliser des noms de substitution pour les sources de données

    La sous-requête UNION interroge deux fois la même table Table1, on utilise les alias B et C pour éviter qu'Access se mélange les pinceaux...

    C'est plus clair ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Merci, c'est effectivement un peu plus clair même s'il y a encore quelques zones d'ombre.
    A quoi correspond le "1" sur la ligne 2?
    A quoi correspond le "0" sur la ligne 4?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT A.Champ1 
    FROM (SELECT B.Champ1, 1 AS IndexTri FROM Table1 AS B
    Union 
    SELECT TOP 1 "[Tous]", 0 FROM Table1 AS C) AS A
    ORDER BY A.IndexTri, A.Champ1

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    C'est bon, j'ai réussi à intégrer ma requête SQL dans ma combobox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT A.Nom 
    FROM (SELECT B.Nom, 1 AS IndexTri FROM Salarie AS B 
    UNION
    SELECT TOP 1 "---Tous---", 0 FROM Salarie AS C)  AS A
    ORDER BY A.IndexTri, A.Nom;
    et ensuite j'ai pu la dupliquer sur deux autres combobox Prenom et Fonction avec les adaptation nécessaires et ça marche lorsque j'ouvre le formulaire.

    Maintenant, je souhaiterais que lorsque que je clique sur une valeur d'un combobox, les autres combobox se mettent à jour en foonciton de cette valeur afin de n'avoir que des valeur valide dans les combobox.

    J'ai essayer de mettre à jour la requête de sélection de la combobox prenom et fonciton du combobox Nom en écrivant une précédure événementielle "Sur clic" de la combobox "Nom" mais le résultats n'est pas satifaisant parce que je n'ai plus aucune valeur dans le combobox "Prenom" lorsque je teste.

    Voici le morceau de code que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Private Sub cboNom_Click()
     
    Dim Valeur_Tous As String
    Dim Req_Prenom As String
     
    ' Fonction pour mise à jour Combobox Prenom en fonction de la valeur du combobox Nom
     
    Valeur_Tous = "---Tous---"
     
    If cboNom.Text = Valeur_Tous Then
       Req_Prenom = "SELECT A.Prenom " & _
                    "FROM (" & _
                    "SELECT B.Prenom, 1 AS IndexTri FROM Salarie AS B " & _
                    "UNION " & _
                    "SELECT TOP 1 " & Valeur_Tous & ", 0 FROM Salarie AS C) AS A " & _
                    "ORDER BY A.IndexTri, A.Prenom;"
    Else
       Req_Prenom = "SELECT A.Prenom " & _
                    "FROM (" & _
                    "SELECT B.Prenom,B.Nom, 1 AS IndexTri FROM Salarie WHERE (((B.Nom)= '" & cboNom.Value & "')) AS B " & _
                    "UNION " & _
                    "SELECT TOP 1 " & Valeur_Tous & ", 0 FROM Salarie AS C) " & _
                    "AS A ORDER BY A.IndexTri, A.Prenom;"
    End If
     
    cboPrenom.RowSource = Req_Prenom
     
    End Sub
    Quelqu'un peux t-il m'aider à trouver l'erreur?

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 763
    Points : 58 019
    Points
    58 019
    Billets dans le blog
    42
    Par défaut
    bonsoir,

    une petite démo ci-jointe pour commencer.

    Sans oublier le tutoriel qui va avec : Concevoir une liste qui en alimente une autre
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [Débutant] Ajout d'un élément dans une Combobox Obout
    Par zymx01 dans le forum VB.NET
    Réponses: 4
    Dernier message: 11/02/2014, 14h34
  2. Ajouter un élément TExtBox dans un combobox
    Par programaniac dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/03/2008, 18h36

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