Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/08/2011, 16h36   #1
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
Par défaut lier listes déroulantes (plusieurs colonnes)

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.
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2011, 16h57   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
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 :
1
2
3
4
5
if me.sexe = "F" then
   me.liste.ColumnWidths= "0;5;0"
else
   me.liste.ColumnWidths= "0;0;5"
endif
Si le sexe est F on affiche la colonne 2 uniquement.
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/08/2011, 18h17   #3
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
Merci bcp

Cordialement,
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 06h51   #4
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
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,
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 09h04   #5
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 17h48   #6
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
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.
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 19h03   #7
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
Le problème est résolu, il s'agissait simplement d'une alerte de sécurité qui était activée.

Cordialement,
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 09h43   #8
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 21h35   #9
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
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,
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 23h03   #10
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/08/2011, 23h27   #11
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
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,
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 11h05   #12
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 00h56   #13
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
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,
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 11h13   #14
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 14h32   #15
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
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,
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 20h13   #16
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 08h45   #17
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
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
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 12h05   #18
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Citation:
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.
Effectivement plus complexe, par contre je ne vois pas la différence entre les 2.
__________________
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 18h10   #19
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : août 2011
Messages : 18
Points : 0
Points : 0
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 ,
Sandrine G est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 00h18   #20
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h54.


 
 
 
 
Partenaires

Hébergement Web