Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

TABLE ACCESS PAYS ET CONSULATS

17 réponses
Avatar
BRUNOKILIAN15
Bonjour à tous,

J'ai une table pays avec des consulats pour chaque pays (de 1 à 10 suivants
le pays) le tout dans la même table par colonne (pays - consulat 1,consulat 2
etc).

Sur le formulaire je veux choisir un pays et lorsque j'ai choisi le pays je
voudrais qu'il m'affiche la liste des consulats disponibles et qu'en
choissasant le consulat disponible il puisse me l'inclure dans le champ du
formulaire.

j'ai regardé les combo box hierarchiques mais les exemples sont bien
différents de ce que je souhaite obtenir.

Une liste déroulante pays > le champ consulat (liste déroulante des
consulats proposés pour le pays choisi).

J'espère que ma demande n'est pas trop confuse

Merci pour votre aide.

Bonne journée à tous

7 réponses

1 2
Avatar
Thierry (ze Titi)
Procède par order. Que veux-tu (dois-tu ?) faire en premier ?


Message du jeudi 11/10/2007

J'ai bien lu les articles concernés je comprends mais dans la pratique cela
ne marche pas du tout. j'essaye diverses solutions et également à partir
d'exemples mais rien ne fonctionne

je vais continuer à voir

merci de ton aide


Lis les articles dont je t'ai donné les liens, particulièrement ceux
concernant les requêtes, tu en comprendras l'intérêt et la façon de les
créer.

Dans ton message
du jeudi 11/10/2007 jour de Saint Firmin, tu as pris l'initiative de
nous narrer les faits suivants:
Merci beaucoup de ton travail
je vais essayer de voir comment procéder
je pense qu'il doit falloir faire une jointure dans les fichiers puis une
requête avant de mettre cela dans le formulaire ou peut on le faire direct
??

Merci


http://cjoint.com/?klkVNXStwt

Voila tes tables, à toi de jouer !

Message du jeudi 11/10/2007

voila
http://cjoint.com/?klkwn0mOxm

merci par avance du coup d'oeil que tu pourras donner et des conseils
éventuels

Bruno


Tu peux mettre tout ça sur cjoint.com et nous donner le lien. Je ne
sais pas si j'aurais le temps de faire quelque chose mais je peux au
moins jeter un oeil...

Message du jeudi 11/10/2007

J'ai omis de dire que cette table est issue d'excel et donc je ne sais
pas trop comment la retoucher.

Puis je te l'envoyer par mail ??

Merci


Bonjour BRUNOKILIAN15 !

Je pense qu'à la base, il y a un défaut de conception. Que se
passera-t-il le jour où tu auras 15 consulats par pays ? Tu
rajouteras 5 colonnes à ta table ?

Le plus simple serait d'ajouter deux tables:
T_Consulats(idConsulat, Libellé Consulat)
T_ConsulatsPays(idPays, idConsultat)

ce qui te permet de gérer autant de consultat par pays que tu le
souhaites. Et pour afficher la liste des consulats par pays, une
simple requête sélection basée sur l'idPays suffirait...

Vue ta conception actuelle, il te faut écrire une requête union du
style:

SELECT Consulat1 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat2 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat3 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat4 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat5 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat6 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat7 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat8 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat9 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat10 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays]

et affecter cette requête à ta liste déroulante... Et rien ne garantit
la vitesse de réaction de cette requête alors qu'avec une solution
telle que proposée plus haute, c'est une requête d'une simplicité
extrême...

Message du jeudi 11/10/2007

Bonjour à tous,

J'ai une table pays avec des consulats pour chaque pays (de 1 à 10
suivants le pays) le tout dans la même table par colonne (pays -
consulat 1,consulat 2 etc).

Sur le formulaire je veux choisir un pays et lorsque j'ai choisi le
pays je voudrais qu'il m'affiche la liste des consulats disponibles
et qu'en choissasant le consulat disponible il puisse me l'inclure
dans le champ du formulaire.

j'ai regardé les combo box hierarchiques mais les exemples sont bien
différents de ce que je souhaite obtenir.

Une liste déroulante pays > le champ consulat (liste déroulante des
consulats proposés pour le pays choisi).

J'espère que ma demande n'est pas trop confuse

Merci pour votre aide.

Bonne journée à tous


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info









Avatar
BRUNOKILIAN15
à tout hasard si tu peux regarder le fichier zipo qui contient l'application
http://cjoint.com/?kmjtC2HUB1

Après la liste de choix pays, je voudrais une seconde liste de choix des
consulats qui s'affiche à partir du choix de la liste pays.

Par exemple ne pas retrouver l'intégralité des consulats mais uniquement
ceux du pays choisi dans la première liste.

J'ai beau retourner le problème dans tous les sens et faire avec partir de
base exemple je n'arrive pas à mettre les principes en pratique.

Merci avance de ton aide

Bruno





Procède par order. Que veux-tu (dois-tu ?) faire en premier ?


Message du jeudi 11/10/2007

J'ai bien lu les articles concernés je comprends mais dans la pratique cela
ne marche pas du tout. j'essaye diverses solutions et également à partir
d'exemples mais rien ne fonctionne

je vais continuer à voir

merci de ton aide


Lis les articles dont je t'ai donné les liens, particulièrement ceux
concernant les requêtes, tu en comprendras l'intérêt et la façon de les
créer.

Dans ton message
du jeudi 11/10/2007 jour de Saint Firmin, tu as pris l'initiative de
nous narrer les faits suivants:
Merci beaucoup de ton travail
je vais essayer de voir comment procéder
je pense qu'il doit falloir faire une jointure dans les fichiers puis une
requête avant de mettre cela dans le formulaire ou peut on le faire direct
??

Merci


http://cjoint.com/?klkVNXStwt

Voila tes tables, à toi de jouer !

Message du jeudi 11/10/2007

voila
http://cjoint.com/?klkwn0mOxm

merci par avance du coup d'oeil que tu pourras donner et des conseils
éventuels

Bruno


Tu peux mettre tout ça sur cjoint.com et nous donner le lien. Je ne
sais pas si j'aurais le temps de faire quelque chose mais je peux au
moins jeter un oeil...

Message du jeudi 11/10/2007

J'ai omis de dire que cette table est issue d'excel et donc je ne sais
pas trop comment la retoucher.

Puis je te l'envoyer par mail ??

Merci


Bonjour BRUNOKILIAN15 !

Je pense qu'à la base, il y a un défaut de conception. Que se
passera-t-il le jour où tu auras 15 consulats par pays ? Tu
rajouteras 5 colonnes à ta table ?

Le plus simple serait d'ajouter deux tables:
T_Consulats(idConsulat, Libellé Consulat)
T_ConsulatsPays(idPays, idConsultat)

ce qui te permet de gérer autant de consultat par pays que tu le
souhaites. Et pour afficher la liste des consulats par pays, une
simple requête sélection basée sur l'idPays suffirait...

Vue ta conception actuelle, il te faut écrire une requête union du
style:

SELECT Consulat1 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat2 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat3 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat4 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat5 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat6 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat7 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat8 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat9 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays] UNION
SELECT Consulat10 FROM Pays WHERE
idPays=Forms![tonFormulaire]![champPays]

et affecter cette requête à ta liste déroulante... Et rien ne garantit
la vitesse de réaction de cette requête alors qu'avec une solution
telle que proposée plus haute, c'est une requête d'une simplicité
extrême...

Message du jeudi 11/10/2007

Bonjour à tous,

J'ai une table pays avec des consulats pour chaque pays (de 1 à 10
suivants le pays) le tout dans la même table par colonne (pays -
consulat 1,consulat 2 etc).

Sur le formulaire je veux choisir un pays et lorsque j'ai choisi le
pays je voudrais qu'il m'affiche la liste des consulats disponibles
et qu'en choissasant le consulat disponible il puisse me l'inclure
dans le champ du formulaire.

j'ai regardé les combo box hierarchiques mais les exemples sont bien
différents de ce que je souhaite obtenir.

Une liste déroulante pays > le champ consulat (liste déroulante des
consulats proposés pour le pays choisi).

J'espère que ma demande n'est pas trop confuse

Merci pour votre aide.

Bonne journée à tous


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info














Avatar
Thierry (ze Titi)
Je ne comprends plus grand chose à la structure de ta base... Pourquoi
ces tables "table_paysconsulats", "LISTE PAYS" ? Pourquoi avoir rajouté
un "Numéro" dans la table "T_Consulats" ?

D'autre part, pour ton formulaire3, tu cherches la complication là où
elle n'est pas, la structure d'un tel formulaire est simple.

Ta liste des pays doit être alimentée par la table "T_Pays", elle
contient deux colonnes, la première fait une largeur de 0cm (de façon à
rendre l'identifiant invisible). La colonne liée est la colonne 1.

Ta liste des consulats doit être basée sur ta requête3. Elle affiche 2
colonnes, la première fait 0cm (même principe que pour la liste des
pays). Ta requête3 aura le SQL suivant:

SELECT T_Consulats.idConsulat, T_Consulats.Libellé
FROM T_Consulats INNER JOIN T_ConsulatsPays ON T_Consulats.idConsulat =
T_ConsulatsPays.idConsulat
WHERE (((T_ConsulatsPays.idPays)=[Formulaires]![Formulaire3]![Pays]));

Si tu passes en mode création, tu pourras constater que je vais
chercher l'idConsulat et le libellé du consulat. La 3ème colonne de la
requête n'est pas affichée, elle sert juste à faire une liaison entre
le pays et le(s) consulat(s).
Pour permettre à la liste des consulats d'être mise à jour lors de la
sélection d'un pays, il faut mettre, dans l'évènement "Après mise à
jour" de la liste des pays la ligne de VBA suivante:

liste2.Requery

ET C'EST TOUT !

Bonne continuation

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info
Avatar
BRUNOKILIAN15
Merci pour les explications mais je suis quand même un peu perdu car novice
dans ce domaine des bases de données.

Si tu peux me renvoyer par cjoint les modifications apportées que je puisse
comprendre de visu en regardant de près ce que tu as fais cela me rendrait
service et m'aiderait à mieux comprendre.

Merci par avance


Je ne comprends plus grand chose à la structure de ta base... Pourquoi
ces tables "table_paysconsulats", "LISTE PAYS" ? Pourquoi avoir rajouté
un "Numéro" dans la table "T_Consulats" ?

D'autre part, pour ton formulaire3, tu cherches la complication là où
elle n'est pas, la structure d'un tel formulaire est simple.

Ta liste des pays doit être alimentée par la table "T_Pays", elle
contient deux colonnes, la première fait une largeur de 0cm (de façon à
rendre l'identifiant invisible). La colonne liée est la colonne 1.

Ta liste des consulats doit être basée sur ta requête3. Elle affiche 2
colonnes, la première fait 0cm (même principe que pour la liste des
pays). Ta requête3 aura le SQL suivant:

SELECT T_Consulats.idConsulat, T_Consulats.Libellé
FROM T_Consulats INNER JOIN T_ConsulatsPays ON T_Consulats.idConsulat =
T_ConsulatsPays.idConsulat
WHERE (((T_ConsulatsPays.idPays)=[Formulaires]![Formulaire3]![Pays]));

Si tu passes en mode création, tu pourras constater que je vais
chercher l'idConsulat et le libellé du consulat. La 3ème colonne de la
requête n'est pas affichée, elle sert juste à faire une liaison entre
le pays et le(s) consulat(s).
Pour permettre à la liste des consulats d'être mise à jour lors de la
sélection d'un pays, il faut mettre, dans l'évènement "Après mise à
jour" de la liste des pays la ligne de VBA suivante:

liste2.Requery

ET C'EST TOUT !

Bonne continuation

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





Avatar
Thierry (ze Titi)
Merci pour les explications mais je suis quand même un peu perdu car novice
dans ce domaine des bases de données.
Je trouvais mes explications plutôt claires...


Si tu peux me renvoyer par cjoint les modifications apportées que je puisse
comprendre de visu en regardant de près ce que tu as fais cela me rendrait
service et m'aiderait à mieux comprendre.
Il faudrait perséverer un peu, je ne suis pas là pour faire ton boulot

à ta place ;-)

http://cjoint.com/?kmlrsHKJOy

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
BRUNOKILIAN15
Merci beaucoup en tout cas je vais essayer de poursuivre pour l'appliquer
dans mon formulaire grace à ton modèle.



Merci pour les explications mais je suis quand même un peu perdu car novice
dans ce domaine des bases de données.
Je trouvais mes explications plutôt claires...


Si tu peux me renvoyer par cjoint les modifications apportées que je puisse
comprendre de visu en regardant de près ce que tu as fais cela me rendrait
service et m'aiderait à mieux comprendre.
Il faudrait perséverer un peu, je ne suis pas là pour faire ton boulot

à ta place ;-)

http://cjoint.com/?kmlrsHKJOy

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






Avatar
BRUNOKILIAN15
Merci beaucoup pour l'aide apportée
je vais tacher suite à ton bel effort à appliquer cela à mon formulaire

Bruno


Merci pour les explications mais je suis quand même un peu perdu car novice
dans ce domaine des bases de données.
Je trouvais mes explications plutôt claires...


Si tu peux me renvoyer par cjoint les modifications apportées que je puisse
comprendre de visu en regardant de près ce que tu as fais cela me rendrait
service et m'aiderait à mieux comprendre.
Il faudrait perséverer un peu, je ne suis pas là pour faire ton boulot

à ta place ;-)

http://cjoint.com/?kmlrsHKJOy

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






1 2