Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
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 17/10/2007, 17h58   #1
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
Par défaut Conditions sur les champs d'une même table

Bonjour à tous,

Débutant sous Access je suis confronté au problème suivant:
Dans une même table j'ai créé deux champs qui sont remplis chacun à l'aide d'une liste déroulante.
Pour être clair:
Champ A en relation avec une "petite table" appelée liste A
Champ B-----------------------------------------------B

Je souhaite mettre une condition sur le champ B à savoir: suite à un choix dans la liste A lors du renseignement du champ A, je veux voir apparaître dans le Champ B une liste déroulante appelons-la B' constituée de certains éléments de la liste B.

Comment faire?

Merci pour votre aide.
Pucho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 18h02   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 881
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 881
Points : 10 747
Points : 10 747
Envoyer un message via MSN à jpcheck
salut, tu veux donc avoir par exemple
si liste A : Cinéma/ Livre / Sport
alors B pourra être :
Aliens / MIB / I Robots
ou
20000 lieues sous les mers / tour du monde 8 jours / seigneur des anneaux
ou
Tennis / Foot / rugby ?

je pense qu'il est plus intéressant d'avoir 2 tables qui contiennent les relations etre A et B
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 20h41   #3
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 920
Points : 30 920
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Je ne pense pas que tu puisses avoir de relation entre tes deux liste, car à ma connaissance cela ne peut se faire que par code.

Tu ne pourras faire les relations entre tes listes que par l'intermédiaire d'un formulaire de saisie, où là c'est possible.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 21h27   #4
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
Merci à vous deux,

Que dois-je faire pour mettre en place une relation des listes au niveau d'un formulaire. (et dans quelle partie du logiciel peut-on rentrer du code, peut ëtre existe-il un tutoriel la dessus?)

Nouvel exemple:
Si mon champs A concerne les régions --> Liste A = {ensemble des régions}
Si mon champs B concerne les départements --> Liste B ={ ensemble des départements}

En choisissant par exemple Lorraine dans la liste A, je veux qu'apparaisse dans le champs B une liste B' = {dept 54,Dep57,...}

Pucho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 21h44   #5
Membre à l'essai
 
Inscription : septembre 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 31
Points : 20
Points : 20
Salut !

Le mieux (je crois !) est de créer une table avec 2 champs : région et départements

Ensuite tu construis ta liste A (appelons le List_A) sur la table en ne prenant qu'une colonne (région)

Puis tu contruis ta liste B en précisant dans le paramètre "contenu" de ta liste :

Code sql :
SELECT [TABLE].[dept], [TABLE].[region] FROM TABLE WHERE ((([TABLE].[region]) LIKE Formulaires!Form_1!List_A));
et voili !
falco40² est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 23h45   #6
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
Salut Falco40²,

voici ce que je viens de faire:
1- Création d'une table appelée "Table" contenant les champs "region" et "dept"
2- Création d'une table appelée List_A contenant le champs "region", que j'ai renseignée
3- création d'une table appelé List_B contenant le champ "dept", que j'ai resenseignée, j'ai selectionné "dept" et suis allé dans contenu où j'ai fait un copier coller de ton code
4- Retour sur la table "Table" j'ai choisi l'assistant pour lier respectivement les champs "region" avec la liste "List_A" et "dept" avec "List_B"

Résultat: les deux listes s'affiche mais comment indiqué dans le code que si "region"= lorraine alors le choix possible dans"dept" doit être une liste ou apparaissent seulement 54,55,57,88

Merci pour ton aide.
Pucho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 00h25   #7
Membre à l'essai
 
Inscription : septembre 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 31
Points : 20
Points : 20
mmmh, ça m'a l'air bien compliqué tout ça (je ne vois pas ce que tu fais par "...contenant le champ "dept", que j'ai resenseignée, j'ai selectionné "dept" et suis allé dans contenu ").

1-garde la table
2-garde list_a
3- pour list_b, contente toi d'ouvrir une liste vierge (tu "annules" l'assistant). Ensuite, tu affiches les propriétés (click droit puis propriétés), tu colles le code (en adaptant au besoin les noms) puis tu donnes une largeur de colonne dans "largeur colonnes".
4 - pour finir tu reviens sur la ligne du code ("contenu") tu appuies sur le petit bouton "..." à droite et tu verras sous forme plus visuelle à quoi correspond le code (c'est plus facile d'en recréer un comme ça, pour la suite). Tu peux décocher la coche sous "région" puisque tu n'as pas besoin d'afficher ce champs. Tu fermes ensuite le générateur de requète et là ça doit marcher...

Je ne crois pas pouvoir t'aider de façon plus détaillé !
A+
falco40² est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 10h00   #8
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
Salut Falco40²,

Merci pour ton aide, je n'abuserai plus de ta patience.

pour les autres participants du forum quand j'écris:
création d'une table appelé List_B contenant le champ "dept", que j'ai resenseignée, j'ai selectionné "dept" et suis allé dans contenu où j'ai fait un copier coller de ton code

cela signifie:
1-que je rentre des valeurs dans le champs "dept" donc que je crée des enregistrements dans List_B
2- que je sélectionne "dept" dans la table List_B pour voir apparaître propriété du champs en dessous.


Dans l'immédiat je poursuis mon apprentissage à l'aide des tutotriels, et visiblement y a du boulot !
Pucho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2007, 11h11   #9
Membre à l'essai
 
Inscription : septembre 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 31
Points : 20
Points : 20
Je ne vais pas te laisser au milieu du chemin.
Tu trouveras en PJ un exemple. J'espère qu'en l'analysant tu trouveras ta solution.
cdlt,
Fichiers attachés
Type de fichier : zip bd3.zip (17,4 Ko, 12 affichages)
falco40² est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2007, 16h24   #10
Invité de passage
 
Inscription : août 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 7
Points : 0
Points : 0
Merci Falco40² j'étudie ça.

Cdlt.
Pucho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2007, 17h52   #11
Membre chevronné
 
Avatar de alassanediakite
 
Homme Alassane Diakité
Conseil - Consultant en systèmes d'information
Inscription : août 2006
Messages : 539
Détails du profil
Informations personnelles :
Nom : Homme Alassane Diakité
Âge : 34
Localisation : Mali

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information

Informations forums :
Inscription : août 2006
Messages : 539
Points : 604
Points : 604
Envoyer un message via Yahoo à alassanediakite
Salut
Pour ma part je mettrai trois tables (comme toi d'ailleur)
D'abord la table nommée "table" dans ton appli dait changer de nom. Utilise un nom plus significatif. Pour "region" et "dep" c'est bon. Seulement la table "dep" doit avoir le champ "region" comme clé secondaire et doit être lié au champ "region" dans la table "region".
Tu doit alors faire deux formulaires. Un qui enregistre les infos des régions et des dep (en formulaire et sous formulaire). Et le deuxième qui enregistre les infos de ta table "table" qui, je repete, doit changer de nom.
__________________
Le monde est trop bien programmé pour être l’œuvre du hasard…
alassanediakite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h29.


 
 
 
 
Partenaires

Hébergement Web