|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
Bonjour,
Je suis étudiante et dois réaliser une BDD sur Access 2007. J'aimerais lier 2 zones de listes déroulantes. Je m'explique : J'ai une Table SALARIE avec les champs Nom; Prénom; Adresse; CP, Ville; Sexe (masculin, féminin); Poste_occupé; ... A partir de cette table j'ai crée le formulaire FormSalarié dans lequel je voudrais lier la liste déroulante Sexe avec la liste déroulante Poste_occupé (celle-ci contient 2 colonnes. Exemple : Colonne 0 : assistant, commercial, préposé... Colonne 1 : assistante, commerciale, préposée... J'aimerais que la colonne 0 s'affiche si je sélectionne au préalable sexe masculin dans la premiere zone de liste déroulante et de même je souhaiterais voir s'afficher uniquement la colonne 2 si je sélectionne au préalable sexe féminin. Pourriez-vous me venir en aide s'i vous plaît ? Merci d'avance. |
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 086 ![]() |
Bonjour,
Il te faut agir sur plusieurs événements pour reproduire ce comportement. Dans l'événement Après MAJ du controle Sexe et dans l'événement Sur activation du formulaire. Dans ceux-ci tu dois créer un code qui va agir sur la propriété Largeur Colonnes de ta liste. Code :
Sinon on affiche la colonne 3 uniquement. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
||
|
10
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
Merci bcp
Cordialement, |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
Un denier petit souci à régler par rapport à cela.
En effet, lorsque que je ré-ouvre ma base de données la liaison entre les deux zones de listes déroulantes dysfonctionne. J'ai pourtant bien intégrer le code dans la fonction "Après MAJ" de la liste déroulante ainsi que dans celle "Sur activation" dans la feuille de propriété du formulaire. Je vous remercie par avance pour votre aide. Cordialement, |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 086 ![]() |
Bonjour,
Quel est ce dysfonctionnement ? Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#6 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
Les deux zones de listes deroulantes ne sont plus liées entre elles. La fontion est toujours bien enregistrée dans les 2 événements mais elle n'agit plus.
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
Le problème est résolu, il s'agissait simplement d'une alerte de sécurité qui était activée.
Cordialement, |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 086 ![]() |
Il faut absolument que tu places tes applications dans des zones de confiances.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#9 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
Bonsoir,
Pourriez-vous me dire ce qui caractérise une zone de confiance ? Je pensais que cette alerte de sécurité est due au fait que j'ai copié et collé ma base de données à 2 endroits différents (une sur clé USB et l'autre sur le bureau) ? Cordialement, |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 086 ![]() |
bonjour,
la zone de confiance se défini dans les options d'access. Bouton d'option access/options access/centre de gestion de confidentialité/emplacements approuvés Ce qui est sur c'est qu'on ne peut déclarer un disque (ou une racine) comme un emplacement. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
10
|
|
|
#11 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
C'est noté pour la zone de confiance, merci bcp.
Il me faut encore vous solliciter pour mes fameuses listes déroulantes liées (décidémment!)... J'ai renseigné toutes les informations que je souhaitais voir figurer dans ma table Salarié à partir du formulaire FormSalarié (qui contient donc la liaison des 2 zones de listes déroulantes); mais lorsque j'affiche ma table Salarié, je m'apperçois que le champs Poste_occupé ne prend pas en compte les résultats obtenus grâce à liaison des 2 zones de listes déroulantes, c'est-à-dire que lorsqu'il s'agit d'une femme, le poste correspondant qui s'affiche n'est pas "assistante de direction" (par exemple) mais "assistant de direction". Or, dans le formulaire cela fonctionne parfaitement bien. Est-il possible de remédier à cela ? Cordialement, |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 086 ![]() |
Bonjour,
Je pense que c'est normal. Dans une base de données on ne fait jamais de redondance de données. On travaille avec des id entre les tables. Dans la table Salarie tu stocke l'id du poste occupé. C'est lorsque tu fais les visualisation/impression que tu vas faire la correspondance. A moins de faire de la redondance et dans ce cas d'écrire explicitement dans la table Salarie le poste occupé, ton formulaire ne fait qu'afficher l'un ou l'autre. Pour qu'il enregistre tu dois renseigner la propriété source de la liste avec le champ ou tu souhaites stocker le libellé du poste. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#13 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
Bonsoir,
Donc si j'ai bien compris ce n'est pas possible de reporter les valeurs de ma liste déroulante (nommée Poste_occupé) du formulaire FormSalarié vers le champs qui porte le même nom dans ma table Salarié ? C'est un peu dommage, je pensais que c'était automatique sur Access. Cordialement, |
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 086 ![]() |
Bonjour,
Peux-tu m'indiquer ou j'ai affirmé que c'était impossible ? J'ai dis que la redondance ne se pratiquait habituellement pas, mais que tu pouvais le faire si tu voulais. Je t'ai même donné le moyen dans ma dernière phrase. Tu ne l'as peut-être pas lu ? Quant à penser que c'est automatique, la seule chose automatique dans ACCESS c'est l'opération d'écriture dans une source de données depuis un formulaire. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#15 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
Bjr,
Ah d'accord, je n'avais pas tout compris... Du coup, il me reste tout de même à vous demander quelques précisions pour appliquer cela : Vous m'avez dit qu'il fallait "renseigner la propriété source de la liste avec le champ ou je souhaites stocker le libellé du poste". Pourriez-vous me guider davantage svp ? (je découvre access 2007 au fur et à mesure que je l'utilise, grâce au cours et forum de ce site :-) ) C'est à partir du formulaire que je dois traiter cela ? Merci encore pour votre aide. Cdt, |
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 086 ![]() |
Tu ouvres ton formulaire ne mode création, tu doubles cliques sur la liste, pas sur son étiquette, et tu cherches la propriété Source.
Tu y indique le nom du champ dans lequel tu veux stocker l'information.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#17 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
Bjr,
Ceci était déjà enregistré (Source contrôle : Poste_occupé). Le problème est sans doute plus complexe étant donné que c'est la table Salarié qui dépend du Formulaire Salarié et non l'inverse. Pour me simplifier la tâche, j'ai modifié explicitement les postes occupées par les femmes dans la table Salarié (comme par exemple là ou était enregistré assistant, j'ai modifié en assistante) et surprise dans le formulaire la case poste_occupé est maintenant vide ! Cdt |
|
|
00
|
|
|
#18 | |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 086 ![]() |
Citation:
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 18 ![]() |
Rebjr,
C'est donc plutôt étonnant que les résultats de la 2eme colonne de la liste déroulantes poste_occupé de mon formulaire ne soient pas reprises dans le champs correspondant de la table ? Merci pour votre aide Loufad, je vais essayer de resoudre le problème .. Bien cordialement , |
|
|
00
|
|
|
#20 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 086 ![]() |
La propriété colonne liée doit également être modifiée dynamiquement.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
Copyright © 2000-2012 - www.developpez.com