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 :

utiliser la liste d'une table en check box dans un formulaire


Sujet :

IHM

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut utiliser la liste d'une table en check box dans un formulaire
    Bonjour,

    Je débute sur Access...
    J'ai besoin de créer un formulaire avec des check-Box . jusque là pas de problème, mais je voudrais que les étiquettes des check-box correspondent aux élements d'une table (une liste de personnes réparties en deux colonnes prénom et nom)
    L'étiquette serait une concaténation de la colonne A+B ex: Monprenom1 Mon nom 1 etc...

    Qui peux m'aider?

    merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    Bonjour,
    Tu as plusieurs possibilites:
    * par code en assignant le caption de chaque etiquette a la valeur que tu veux (resultat d'un calcul) dans vb
    * si tu peux mettre la recherche sous la forme d'un dlookup, alors a la place des etiquettes, tu mes des textbox dont la source est ton dlookup
    * si tu peux mettre toutes tes cases a cocher sous la forme d'une table avec comme colonne: nomPrenom et la valeur de la case a cocher, alors tu fais un sous formulaire et tu mets en forme le resultat de ta table
    etc...
    J'espere que cela t'aura donne des ideees

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci pour les pistes, je vais étudier ça

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    oups, desole, j'ai pas fait attention que tu etais debutant. Ma precedente reponse est peut etre un peu dure a digerer
    Peux-tu me donner un exemple de ta table ou requete de ton formulaire

  5. #5
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Est-ce que ton nombre de chekBoxes doit varier en fonction du nombre de personnes présentes dans ta table ?
    Est-ce que tu demandes, en fait, à sélectionner plusieurs personnes au choix, ou bien est-ce un choix unique ?
    Accepterais-tu d'autres représentations que des cases à cocher (une liste à choix multiples par exemple) ?

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci,

    Effectivement tout est encore un peu flou pour moi sur access. j'ai bossé en VBA sur excel...
    L'idée est de faire correspondre des membres d'une table, un membre = une check box.Donc à Chaque nouveau membre il faudrait que la check box apparaisse dans mon formulaire. je ne suis pas contrainte sur la présentation.
    Je suis preneuse pour toute idée.

    [EDIT] J'ai oublié de préciser que l'on peut cocher plusieurs membres. C'est un projet pour les formations dans mon service donc plusieurs personnes peuvent suivre la même formation

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    Penses à répondre aux questions de Maxence HUBICHE, cela m'éclairera aussi

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Voici les réponses aux précédentes questions.

    Est-ce que ton nombre de chekBoxes doit varier en fonction du nombre de personnes présentes dans ta table ? OUI
    Est-ce que tu demandes, en fait, à sélectionner plusieurs personnes au choix, ou bien est-ce un choix unique ? Plusieurs choix possibles
    Accepterais-tu d'autres représentations que des cases à cocher (une liste à choix multiples par exemple) ? oui

    merci

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Check box dynamique
    Je n'ai peux être pas été assez précise dans ma demande. Est-il possible d'ajouter dynamiquement des check box dans un formulaire en fonction des membres d'une table?
    merci

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    Il y a plusieurs possibilites:
    - Avec une listbox et la propriete "Selection multiple" sur simple ou Etendue. L'utilisateur pourra selectionner plusieurs personnes ou le logiciel pourra selectionner plusieurs personnes. Avantage: aucune table temporaire, mais toute le gestion doit etre faite "manuellement"
    - Avec une table temporaire. Cette table contiendra la colonne 'NomPrenom' de type Text qui contiendra les donnees Nom+Prenom, une colonne supplementaire nommee 'chkBox' (par exemple) de type oui/non. Il suffit de remplir cette table avec les données Nom+personne de la table. Le formulaire comportera, en mode affichage "Formulaires continus", 1 texbox (dont la source de controle sera 'NomPrenom', 1 checkbox (dont la source de controle sera 'chkBox'). Les 2 controles n'auront pas d'etiquette. Avantage: Access gere tout, sauf les transferts de et vers la table temporaire.
    - En ajoutant une colonne supplementaire a la table.A condition que cette colonne ait une reelle utilite. Puis proceder comme la solution precedente pour le formulaire. Cette solution est tres simple a mettre en oeuvre pour comprendre mais elle est "anti correcte".
    - Plus delicate a mettre en oeuvre, utiliser un recordset temporaire.
    J'espere que cela t'aidera a imaginer ta solution

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci,

    la solution la plus proche de ce que je cherche semble être la table temporaire mais je ne sais pas comment la créer?

    En gros j'ai une table formation, une table personne, une table fonctions (chef de projet, assistant...)
    Le formulaire permet de saisir un nouvelle formation et de cocher les gens qui ont suivi cette formation, par nom (un ou plusieurs) , par fonction (ex tous les chefs de projet, tout le monde, tous les assistants).C'est là où ça bloque puisqu'il y a des gens qui quittent la société et d'autres qui arrivent et je voudrais que le formulaire soit à jour automatiquement (la liste box selection multiple n'est pas très pratique je trouve) et que la formation soit attribuée à tous les gens sélectionnés.

    L'étape suivante est de sortir un listing pour chaque personne des formations qu'il a suivi sur l'année, je pensais créer une requête par personne et un état par personne.
    Suis-je sur le bon chemin?

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    D'apres de que donne comme informations,
    • Personnellement, je procederai en faisant une liste avec toutes les formations, puis une autre liste avec toutes les personnes. Tu peux mettre aussi une liste pour les fonctions qui permettra de mettre dans la liste des personnes que celles qui ont la fonction selectionee.

    La liste des formations est remplie par une requete classique(Colonne 0 contient l'identifiant de la formation, et la colonne 1 le nom affiché pour la formation). La liste des personnes est remplie par une requete classique (Colonne 0 contient l'identifiant de la personne, la colonne 1 contient l'affichage de la personne (dans ton cas, il s'agit du Nom+Prenom).
    La liste des personnes est une liste a selection multiple.
    Lorsque tu selectionnes une formation:
    Sur l'evenement beforeupdate:
    * il faut sauvegarder toutes les personnes pour la formation courante (cela permet de prendre en compte les modifications que l'utilisateur a pu faire)
    Sur l'evenement afterupdate
    * il faut deselectionner toutes les personnes de la liste des personnes
    * il suffit ensuite d'aller chercher dans ta table toutes les personnes qui font cette formation et de selectionner les personnes dans la liste des personnes.

    • Autre solution qui, a mes yeux, est moins souple, se base sur le principe des sous formulaires. Le formulaire principal est celui des formations. Il possede en plus une liste contenant les fonctions. Le sous formulaire contient les personnes par le biais d'une table temporaire. Il suffit de lier le sous formulaire avec le formulaire et la liste.

    Comment creer une table temporaire?
    En utilisant des requetes SQL du type suivant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    on error resume next 'Car la table temporaire peut ne pas etre la
    docmd.runsql "DROP TABLE Tempo"
    docmd.runsql "SELECT True AS Check, clng(12) AS ID, "" AS NomPrenom INTO Tempo FROM TaTable WHERE 1=0" 'Ceci permet de creer simplement une table avec une definition simpliste des colonne. Je suppose qu'ID est l'identificateur de tes personnes et qu'il est de type Long
    docmd.runsql "INSERT INTO Tempo (Check,ID,NomPrenom) SELECT False AS Check, ID, Nom & " " & Prenom FROM TaTable"    'Ici on insert les data de ta table dans la table temporraire
    Il ne faudra pas oublier de reinjecter les donnees modifiees. Il faut que tu regardes bien la structure de ta base et la presentation que tu veux donner et tu auras peut etre TA solution.
    Personnellement je prendais la premiere solution car dans les 2 cas tu as du code a ecrire. Autant, qu'il y ait le plus de souplesse possible

    Par contre, je ne penses pas que ta base se limite a 3 tables comme tu le laisses supposer. Analyse bien ce pont, car de lui dependra la simplicite de l'interface.

    J'espere que cela t'aidera pour le principe

Discussions similaires

  1. [AC-2000] comparaison champ d'une table et champ saisi dans un formulaire
    Par guaguanco dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 06/09/2010, 15h39
  2. Mettre une colonne de check box dans JTable
    Par lamis2009 dans le forum Composants
    Réponses: 1
    Dernier message: 17/06/2009, 17h24
  3. Comment utiliser un BLOB avec une table ACCESS ?
    Par colorid dans le forum Bases de données
    Réponses: 1
    Dernier message: 04/07/2007, 18h46
  4. inclure un check box dans une table
    Par krikete13 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 03/06/2007, 13h46
  5. Réponses: 9
    Dernier message: 04/04/2007, 12h01

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