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 :

Afficher résultat d'une requête dans une zone de liste


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    INGÉNIEUR
    Inscrit en
    Août 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : INGÉNIEUR
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 37
    Points : 30
    Points
    30
    Par défaut Afficher résultat d'une requête dans une zone de liste
    Bonjour à tous,

    Je suis en train de créer un système de gestion des tâches pour mon équipe de travail au bureau. Le but de ce système est de pouvoir assurer un suivi de chacune de nos tâches. Pour ce faire, je désire créer un petit programme en access pour stocker l'ensemble de nos tâches.

    Au départ, lors du lancement du fichier .mdb, j'ai un formulaire qui s'ouvre automatiquement:

    Nom : Formulaire-ouverture.png
Affichages : 1354
Taille : 13,2 Ko


    J'ai donc 3 choix qui s'offrent à l'utilisateur: "Ajouter une tâche", "ouvrir un état" et "indiquer si une tâche est complétée". Pour chacun de ces choix, un formulaire distinct s'ouvre selon le désir de l'utilisateur.

    Le formulaire "Ajouter un tâche" permet à l'utilisateur d'entrer sa tâche: Type de tâche, date de saisie, nom du client, date d'échéance, commentaires, etc... Toutes ces informations sont stockées dans une table nommée TBL_Activite.

    Les formulaires "Ajouter une tâche" et "Ouvrir un état" fonctionnent assez bien, malgré quelques bugs et petits détails qui me restent à régler. Mon problème réside avec le 3ème choix, soit "indiquer si une tâche est complétée". Voici le formulaire qui s'affiche en appuyant sur le 3ème bouton:

    Nom : Formulaire-modifier.png
Affichages : 1515
Taille : 20,1 Ko


    Par ce formulaire, je voudrais que l'utilisateur puisse choisir un nom dans la liste déroulante (dans ce cas-ci, le choix est David) et générer la liste des tâches qui est liée à cette personne. La liste des noms est dans une table nommée TBL_Personnel.

    La "liste des tâches" affiche la requête que j'ai nommée REQ_Taches. La requete est basée sur la table TBL_Activite (voir plus haut. Cette requête fonctionne bien mais je ne suis pas en mesure d'afficher le résultat dans ma zone de liste en fonction de la personne que je sélectionne. Je dois saisir un numéro de 1 à 6 (J'ai 6 employés à gérer, donc la clé primaire varie de 1 à 6) dans une fenêtre qui apparait pour saisir le paramètre voulu. Pour vous le montrer, j'ai créé le bouton "Exécuter requête" qui n'apparaitra pas dans l'application finale. Voici la fenêtre en question:

    Nom : Executer requete.png
Affichages : 1650
Taille : 84,2 Ko


    Finalement, je vous montre le code qui s'exécute après avoir appuyé sur le bouton "générer la liste des tâches":

    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 Commande_GenererListeTaches_Click()
     
    'Dim stDocName As String 'Définition des variables
    Dim Prenom As String 'Nom d'employé en texte selon la table TBL_PersonnelDS
    Dim BDD As DAO.Database
    Dim rec As DAO.Recordset
    Dim rst As DAO.Recordset
    Dim Requete As QueryDef
    Dim IDPrenom As String 'Numéro d'employé selon la table TBL_PersonnelDS
    Dim Modification_ListeTaches As ListBox
    Dim EmployeDS As String
     
    Set BDD = CurrentDb() 'Définition de la base de données courante
    Set rec = BDD.OpenRecordset("TBL_PersonnelDS", dbOpenTable) 'Définition de la table à ouvrir
    Set Requete = BDD.QueryDefs("REQ_Taches") 'Définition de la requête à lancer
     
    'Me.Requery
     
    Set MenuDeroulTaches = Forms!ModifierComplete.Modification_ListeTaches
     
    Prenom = Me!Modification_ListeNoms.Value 'On va chercher le nom sélectionné dans le menu déroulant
    IDPrenom = DLookup("[Numero]", "TBL_PersonnelDS", "[EmployeDS]=" & "'" & Prenom & "'")
    MsgBox (IDPrenom)
     
    Requete.Parameters("IDPrenom") = IDPrenom
     
    Set LancerRequete = Requete.OpenRecordset()
    End Sub
    Comment faire pour donner un paramètre "Prénom" à ma requête automatiquement et comment faire afficher le résultat de ma requête dans la liste déroulante?

    Merci pour votre précieuse aide et bonne journée!

    David

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    INGÉNIEUR
    Inscrit en
    Août 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : INGÉNIEUR
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 37
    Points : 30
    Points
    30
    Par défaut
    Bonjour à tous,

    Je suis maintenant en mesure de faire afficher la zone de liste en fonction d'un paramètre. Toutefois, je dois encore entrer le paramètre manuellement.

    Savez-vous comment je pourrais remédier à mon problème?

    Merci et bonne journée!

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    INGÉNIEUR
    Inscrit en
    Août 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : INGÉNIEUR
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 37
    Points : 30
    Points
    30
    Par défaut
    Bonjour à tous,

    Je vous écris pour vous faire part de l'évolution de mon projet.
    Tout d'abord, je suis en mesure de faire afficher la zone de liste déroulante, mais pas tout à fait en fonction du nom choisi dans le menu déroulant.
    Toutefois, lors de l'affichage des champs dans la zone de liste, je me retrouve avec le numéro (clé primaire je crois) au lieu d'avoir le nom de la personne choisie.

    Comment puis-je paramétrer ma zone de liste pour afficher le nom de l'employé et non le numéro qui lui est attribué dans ma table?

    Merci de votre aide et bonne journée!

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/01/2015, 15h28
  2. Résultat d'un champ d'une requête dans une variable
    Par PsychedeChed dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/01/2009, 12h50
  3. Réponses: 4
    Dernier message: 02/07/2008, 11h32
  4. Réponses: 2
    Dernier message: 02/06/2006, 11h26
  5. Réponses: 4
    Dernier message: 01/12/2005, 14h36

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