J'ai trois tables: Pays, Région, Ville.
Elles sont reliées entre elles de sortes à ce que je dois entamer les
enregistrements d'abord dans la table pays, qui me propose alors les régions,
puis ensuite les villes. (Pays reliée à région par une liaison inf,1, région
à ville par inf,1).
Lorsque je l'insère dans un formulaire, j'aimerais que si je choisis
"France" (via une liste de choix), ils ne me donnent le choix que des région
françaises, et ensuite les villes correspondantes à cette région. (remarque:
j'ai relié les trois tables au dit formulaire)
Actuellement, je choisis parmis tous les pays, dans la liste "Région", j'ai
toutes les régions de tous les pays, et dans "villes", toutes les villes
d'europe.
Je suppose qu'il y a moyen d'y arriver avec une mise à jour, mais je patauge
dans la semoule avec le VB...
J'ai bien essayer pas mal de trucs, regarder les différentes discussions,
mais je n'y ai rien trouvé qui collait à mon problème. Je suppose donc que
c'est une sorte d'ABCD...
J'y arrive en créant des sous-formulaires, mais ce n'est pas ce que je
désire car pas assez clair d'utilisation.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut,
"Loïc V." | J'ai trois tables: Pays, Région, Ville. | Elles sont reliées entre elles de sortes à ce que je dois entamer les | enregistrements d'abord dans la table pays, qui me propose alors les régions, | puis ensuite les villes. (Pays reliée à région par une liaison inf,1, région | à ville par inf,1). | | Lorsque je l'insère dans un formulaire, j'aimerais que si je choisis | "France" (via une liste de choix), ils ne me donnent le choix que des région | françaises, et ensuite les villes correspondantes à cette région. (remarque: | j'ai relié les trois tables au dit formulaire) | | Actuellement, je choisis parmis tous les pays, dans la liste "Région", j'ai | toutes les régions de tous les pays, et dans "villes", toutes les villes | d'europe.
Tu dois "lier" ces listes...
Expliqué en détail et image ici : http://www.self-access.com/access/grenier/acRedir.php?id
"Loïc V."
| J'ai trois tables: Pays, Région, Ville.
| Elles sont reliées entre elles de sortes à ce que je dois entamer les
| enregistrements d'abord dans la table pays, qui me propose alors les régions,
| puis ensuite les villes. (Pays reliée à région par une liaison inf,1, région
| à ville par inf,1).
|
| Lorsque je l'insère dans un formulaire, j'aimerais que si je choisis
| "France" (via une liste de choix), ils ne me donnent le choix que des région
| françaises, et ensuite les villes correspondantes à cette région. (remarque:
| j'ai relié les trois tables au dit formulaire)
|
| Actuellement, je choisis parmis tous les pays, dans la liste "Région", j'ai
| toutes les régions de tous les pays, et dans "villes", toutes les villes
| d'europe.
Tu dois "lier" ces listes...
Expliqué en détail et image ici :
http://www.self-access.com/access/grenier/acRedir.php?id
"Loïc V." | J'ai trois tables: Pays, Région, Ville. | Elles sont reliées entre elles de sortes à ce que je dois entamer les | enregistrements d'abord dans la table pays, qui me propose alors les régions, | puis ensuite les villes. (Pays reliée à région par une liaison inf,1, région | à ville par inf,1). | | Lorsque je l'insère dans un formulaire, j'aimerais que si je choisis | "France" (via une liste de choix), ils ne me donnent le choix que des région | françaises, et ensuite les villes correspondantes à cette région. (remarque: | j'ai relié les trois tables au dit formulaire) | | Actuellement, je choisis parmis tous les pays, dans la liste "Région", j'ai | toutes les régions de tous les pays, et dans "villes", toutes les villes | d'europe.
Tu dois "lier" ces listes...
Expliqué en détail et image ici : http://www.self-access.com/access/grenier/acRedir.php?id
Bon, j'ai bien essayé de faire comme le lien que tu m'as donné le conseille. Je n'arrive pas à suivre pas à pas leur exemple car je ne dispose pas de l'icône "Zone de liste modifiable" (est-ce spécifique à access 2007 ? Parce que je suis encore sur le 2003). Mais bon, là n'est pas le plus important, je crois avoir compris que cela servait juste à établir une zone de liste qui va pêcher les infs dans une table (ou requête).==> si c'est pas le cas, tu m'arrêtes, hein?
Bon, du coup, j'ai créé une requête sur base de la table "Région" qui reprend le nom des régions (enregistrement manuel) et le nom des pays (qui pointe vers la table pays). Comme mentionné dans l'exemple, j'ai écrit comme critère dans la "colonne" pays:
forms![Arrivée].pays
[arrivée] étant le nom du formulaire dans lequel j'aimerais que le filtre se fasse. pays étant le nom que j'ai donné à la liste de choix dans la table Région pour pêcher les pays dans la table Ad'hoc.
Mais lorsque je vaux activer la requête, cela m'indique un truc que j'aime pas:
formulaires!Arrivée.pays ==> sous leque je suis censé iniqué qqchose (donc, il y a un truc qui cloche). bon, pas de blème, je me suis dit que cela allait s'emboiter avec ce qu'il fallait rajouter dans mon formulaire.
donc, je vais dans mon formulaire, je sélectionne la liste de choix "Région", je vais dans les propriétés, sur "après MAJ", je tape donc:
Me! [pays] .Requery
je sauvegarde et tout et tout.
Le résultat, c'est que mn formulaire me donne le choix du pays (ok), ensuite je désire choisir la région rt là, hop, c'est encore toutes les régions qui se déroulent (snif!). Si j'en sélectionne une, il m'indique un message d'erreur.
Où est-ce que j'ai foiré ?
Si tu as le temps d'y réponse, je te serai très reconnaissant.
bien à toi,
Loïc
"3stone" a écrit :
Salut,
"Loïc V." | J'ai trois tables: Pays, Région, Ville. | Elles sont reliées entre elles de sortes à ce que je dois entamer les | enregistrements d'abord dans la table pays, qui me propose alors les régions, | puis ensuite les villes. (Pays reliée à région par une liaison inf,1, région | à ville par inf,1). | | Lorsque je l'insère dans un formulaire, j'aimerais que si je choisis | "France" (via une liste de choix), ils ne me donnent le choix que des région | françaises, et ensuite les villes correspondantes à cette région. (remarque: | j'ai relié les trois tables au dit formulaire) | | Actuellement, je choisis parmis tous les pays, dans la liste "Région", j'ai | toutes les régions de tous les pays, et dans "villes", toutes les villes | d'europe.
Tu dois "lier" ces listes...
Expliqué en détail et image ici : http://www.self-access.com/access/grenier/acRedir.php?id
Bon, j'ai bien essayé de faire comme le lien que tu m'as donné le conseille.
Je n'arrive pas à suivre pas à pas leur exemple car je ne dispose pas de
l'icône "Zone de liste modifiable" (est-ce spécifique à access 2007 ? Parce
que je suis encore sur le 2003). Mais bon, là n'est pas le plus important, je
crois avoir compris que cela servait juste à établir une zone de liste qui va
pêcher les infs dans une table (ou requête).==> si c'est pas le cas, tu
m'arrêtes, hein?
Bon, du coup, j'ai créé une requête sur base de la table "Région" qui
reprend le nom des régions (enregistrement manuel) et le nom des pays (qui
pointe vers la table pays). Comme mentionné dans l'exemple, j'ai écrit comme
critère dans la "colonne" pays:
forms![Arrivée].pays
[arrivée] étant le nom du formulaire dans lequel j'aimerais que le filtre se
fasse.
pays étant le nom que j'ai donné à la liste de choix dans la table Région
pour pêcher les pays dans la table Ad'hoc.
Mais lorsque je vaux activer la requête, cela m'indique un truc que j'aime
pas:
formulaires!Arrivée.pays ==> sous leque je suis censé iniqué qqchose (donc,
il y a un truc qui cloche). bon, pas de blème, je me suis dit que cela allait
s'emboiter avec ce qu'il fallait rajouter dans mon formulaire.
donc, je vais dans mon formulaire, je sélectionne la liste de choix
"Région", je vais dans les propriétés, sur "après MAJ", je tape donc:
Me! [pays] .Requery
je sauvegarde et tout et tout.
Le résultat, c'est que mn formulaire me donne le choix du pays (ok), ensuite
je désire choisir la région rt là, hop, c'est encore toutes les régions qui
se déroulent (snif!). Si j'en sélectionne une, il m'indique un message
d'erreur.
Où est-ce que j'ai foiré ?
Si tu as le temps d'y réponse, je te serai très reconnaissant.
bien à toi,
Loïc
"3stone" a écrit :
Salut,
"Loïc V."
| J'ai trois tables: Pays, Région, Ville.
| Elles sont reliées entre elles de sortes à ce que je dois entamer les
| enregistrements d'abord dans la table pays, qui me propose alors les régions,
| puis ensuite les villes. (Pays reliée à région par une liaison inf,1, région
| à ville par inf,1).
|
| Lorsque je l'insère dans un formulaire, j'aimerais que si je choisis
| "France" (via une liste de choix), ils ne me donnent le choix que des région
| françaises, et ensuite les villes correspondantes à cette région. (remarque:
| j'ai relié les trois tables au dit formulaire)
|
| Actuellement, je choisis parmis tous les pays, dans la liste "Région", j'ai
| toutes les régions de tous les pays, et dans "villes", toutes les villes
| d'europe.
Tu dois "lier" ces listes...
Expliqué en détail et image ici :
http://www.self-access.com/access/grenier/acRedir.php?id
Bon, j'ai bien essayé de faire comme le lien que tu m'as donné le conseille. Je n'arrive pas à suivre pas à pas leur exemple car je ne dispose pas de l'icône "Zone de liste modifiable" (est-ce spécifique à access 2007 ? Parce que je suis encore sur le 2003). Mais bon, là n'est pas le plus important, je crois avoir compris que cela servait juste à établir une zone de liste qui va pêcher les infs dans une table (ou requête).==> si c'est pas le cas, tu m'arrêtes, hein?
Bon, du coup, j'ai créé une requête sur base de la table "Région" qui reprend le nom des régions (enregistrement manuel) et le nom des pays (qui pointe vers la table pays). Comme mentionné dans l'exemple, j'ai écrit comme critère dans la "colonne" pays:
forms![Arrivée].pays
[arrivée] étant le nom du formulaire dans lequel j'aimerais que le filtre se fasse. pays étant le nom que j'ai donné à la liste de choix dans la table Région pour pêcher les pays dans la table Ad'hoc.
Mais lorsque je vaux activer la requête, cela m'indique un truc que j'aime pas:
formulaires!Arrivée.pays ==> sous leque je suis censé iniqué qqchose (donc, il y a un truc qui cloche). bon, pas de blème, je me suis dit que cela allait s'emboiter avec ce qu'il fallait rajouter dans mon formulaire.
donc, je vais dans mon formulaire, je sélectionne la liste de choix "Région", je vais dans les propriétés, sur "après MAJ", je tape donc:
Me! [pays] .Requery
je sauvegarde et tout et tout.
Le résultat, c'est que mn formulaire me donne le choix du pays (ok), ensuite je désire choisir la région rt là, hop, c'est encore toutes les régions qui se déroulent (snif!). Si j'en sélectionne une, il m'indique un message d'erreur.
Où est-ce que j'ai foiré ?
Si tu as le temps d'y réponse, je te serai très reconnaissant.
bien à toi,
Loïc
"3stone" a écrit :
Salut,
"Loïc V." | J'ai trois tables: Pays, Région, Ville. | Elles sont reliées entre elles de sortes à ce que je dois entamer les | enregistrements d'abord dans la table pays, qui me propose alors les régions, | puis ensuite les villes. (Pays reliée à région par une liaison inf,1, région | à ville par inf,1). | | Lorsque je l'insère dans un formulaire, j'aimerais que si je choisis | "France" (via une liste de choix), ils ne me donnent le choix que des région | françaises, et ensuite les villes correspondantes à cette région. (remarque: | j'ai relié les trois tables au dit formulaire) | | Actuellement, je choisis parmis tous les pays, dans la liste "Région", j'ai | toutes les régions de tous les pays, et dans "villes", toutes les villes | d'europe.
Tu dois "lier" ces listes...
Expliqué en détail et image ici : http://www.self-access.com/access/grenier/acRedir.php?id
je cherche, je creuse... (c'est comme cela qu'on apprend, n'est-il-pas?)
J'ai bien réanlysé ton lien, 3stone, j'ai fini par arriver à un truc qui semble sur la bonne voie.
Pour pas foutre le B... dans ma base de données, j'en ai créé une autre à titre d'essais. J'ai donc créé deux table: pays, région. J'ai fait une requête comme indiqué sur ton lien (nmmée "pays requête")
Si je double clique sur cette requête, il me demande un nom de pays, je tape un pays, et hop!, il m'indique toutes les régions de ce pays (c'est déjà un petit pas en avant!).
J'ai créé un formulaire avec uniquement Pays et région.
Pour "Pays", j'ai droit à un menu déroulant; dans propriété, j'ai mis dans "après MAJ": =[Pays Requête]!Région.
Pour région, j'ai mis une zone de liste modifiable (le petit icône que j'ai fini par trouver, je suis un tantinet myope, ou très con...) qui va rechercher les données dans la requête.
Alors, lorsque j'ouvre le formulaire, bingo!. Par défaut, il me met "Espagne", et il me met les régions uniquement qui se trouvent en Espagne.
Mais si dans le menu déroulant "Pays", je choisis un autre pays, alors, c'est Bankroutte (re-snif).
1) Il me met un message d'erreur: "L'expression MAJ entrée comme paramètre de la propriété de type évènement est à l'origine d'une erreur. L'objet ne contient pas d'objet d'automatisation "Pays.requête".
2) La première région enregistrée dans la table "région" se trouve subitement en Esoagne (ce qui n'est pas le cas, conviendras-tu ?).
3) Bon, soit, j'enregistre. Et là, hop, j'ai une région par défaut qui se met dans la liste déroulante du formulaire. si je choisis un pays, dans ma table, j'ai cette région associée à ce pays.
qu'es ce que j'ai fait pour que cela foire de la sorte ?
Merci beaucoup.
loïc
Re-Bonjour!
je cherche, je creuse... (c'est comme cela qu'on apprend, n'est-il-pas?)
J'ai bien réanlysé ton lien, 3stone, j'ai fini par arriver à un truc qui
semble sur la bonne voie.
Pour pas foutre le B... dans ma base de données, j'en ai créé une autre à
titre d'essais. J'ai donc créé deux table: pays, région. J'ai fait une
requête comme indiqué sur ton lien (nmmée "pays requête")
Si je double clique sur cette requête, il me demande un nom de pays, je tape
un pays, et hop!, il m'indique toutes les régions de ce pays (c'est déjà un
petit pas en avant!).
J'ai créé un formulaire avec uniquement Pays et région.
Pour "Pays", j'ai droit à un menu déroulant; dans propriété, j'ai mis dans
"après MAJ": =[Pays Requête]!Région.
Pour région, j'ai mis une zone de liste modifiable (le petit icône que j'ai
fini par trouver, je suis un tantinet myope, ou très con...) qui va
rechercher les données dans la requête.
Alors, lorsque j'ouvre le formulaire, bingo!. Par défaut, il me met
"Espagne", et il me met les régions uniquement qui se trouvent en Espagne.
Mais si dans le menu déroulant "Pays", je choisis un autre pays, alors,
c'est Bankroutte (re-snif).
1) Il me met un message d'erreur: "L'expression MAJ entrée comme paramètre
de la propriété de type évènement est à l'origine d'une erreur. L'objet ne
contient pas d'objet d'automatisation "Pays.requête".
2) La première région enregistrée dans la table "région" se trouve
subitement en Esoagne (ce qui n'est pas le cas, conviendras-tu ?).
3) Bon, soit, j'enregistre. Et là, hop, j'ai une région par défaut qui se
met dans la liste déroulante du formulaire. si je choisis un pays, dans ma
table, j'ai cette région associée à ce pays.
qu'es ce que j'ai fait pour que cela foire de la sorte ?
je cherche, je creuse... (c'est comme cela qu'on apprend, n'est-il-pas?)
J'ai bien réanlysé ton lien, 3stone, j'ai fini par arriver à un truc qui semble sur la bonne voie.
Pour pas foutre le B... dans ma base de données, j'en ai créé une autre à titre d'essais. J'ai donc créé deux table: pays, région. J'ai fait une requête comme indiqué sur ton lien (nmmée "pays requête")
Si je double clique sur cette requête, il me demande un nom de pays, je tape un pays, et hop!, il m'indique toutes les régions de ce pays (c'est déjà un petit pas en avant!).
J'ai créé un formulaire avec uniquement Pays et région.
Pour "Pays", j'ai droit à un menu déroulant; dans propriété, j'ai mis dans "après MAJ": =[Pays Requête]!Région.
Pour région, j'ai mis une zone de liste modifiable (le petit icône que j'ai fini par trouver, je suis un tantinet myope, ou très con...) qui va rechercher les données dans la requête.
Alors, lorsque j'ouvre le formulaire, bingo!. Par défaut, il me met "Espagne", et il me met les régions uniquement qui se trouvent en Espagne.
Mais si dans le menu déroulant "Pays", je choisis un autre pays, alors, c'est Bankroutte (re-snif).
1) Il me met un message d'erreur: "L'expression MAJ entrée comme paramètre de la propriété de type évènement est à l'origine d'une erreur. L'objet ne contient pas d'objet d'automatisation "Pays.requête".
2) La première région enregistrée dans la table "région" se trouve subitement en Esoagne (ce qui n'est pas le cas, conviendras-tu ?).
3) Bon, soit, j'enregistre. Et là, hop, j'ai une région par défaut qui se met dans la liste déroulante du formulaire. si je choisis un pays, dans ma table, j'ai cette région associée à ce pays.
qu'es ce que j'ai fait pour que cela foire de la sorte ?
Merci beaucoup.
loïc
3stone
Salut,
"Loïc V." | je cherche, je creuse... (c'est comme cela qu'on apprend, n'est-il-pas?)
Bien sûr ;-)
| Pour pas foutre le B... dans ma base de données, j'en ai créé une autre à | titre d'essais.
Il est effectivement conseillé d'avoir sous la main une petite base dans laquelle on peut sans crainte faire les tests et mise au points...
|J'ai donc créé deux table: pays, région. J'ai fait une | requête comme indiqué sur ton lien (nmmée "pays requête") [...]
En lisant attentivement tout ce qu'il y a sur le lien expliqué, tu devrais y arriver. Ne pas hésiter à recréer l'exemple donné, car, une fois compris la méthode, tu appliqueras avec facilité.
Le principe:
Pays, Région, Ville
Tu crées - requête 1 (source de ta première liste) qui contient IdPays et NomPays - requête 2 (source de la seconde liste) qui contient IdRegion, NomRegion, IdPays - requête 3 (source de la troisième liste) qui contient IdVille, NomVille, IdRegion
Tu sélectionnes un pays dans le première liste... et la seconde liste ne devrait donc t'afficher que les régions de ce pays ? C'est simple, en complétant la seconde requête par une condition (une clause Where) qui dira "IdPays = IdPays" (de la première liste)
Pour que la seconde liste tienne compte de la sélection faite dans la première, il faut juste en faire sa mise à jour. C'est ce qui s'obtient en ajoutant dans l'événement "Après mise à jour" de la première liste: ListeRegion.Requery
On fait la même chose pour "lier" la seconde à la troisième liste.
Remarque, en réalité, on ne crée pas des requêtes enregistrées pour chaque liste, mais on défini la "phrase" SQL dans la propiété "Contenu". C'est d'ailleurs ce qui se fait automatiquement lorsque l'on crée la liste à l'aide de l'assistant. Il suffit ensuite de compléter en spécifiant le critère... comme montré sur l'image dans l'explication fournie par Hervé. Ensuite, ajouter le requery pour actualiser la liste suivante.
PS: Il faut bien sûr adapter les différents noms des champs et des listes ;-)
"Loïc V."
| je cherche, je creuse... (c'est comme cela qu'on apprend, n'est-il-pas?)
Bien sûr ;-)
| Pour pas foutre le B... dans ma base de données, j'en ai créé une autre à
| titre d'essais.
Il est effectivement conseillé d'avoir sous la main une petite base dans
laquelle on peut sans crainte faire les tests et mise au points...
|J'ai donc créé deux table: pays, région. J'ai fait une
| requête comme indiqué sur ton lien (nmmée "pays requête")
[...]
En lisant attentivement tout ce qu'il y a sur le lien expliqué, tu devrais
y arriver. Ne pas hésiter à recréer l'exemple donné, car, une fois
compris la méthode, tu appliqueras avec facilité.
Le principe:
Pays, Région, Ville
Tu crées
- requête 1 (source de ta première liste) qui contient
IdPays et NomPays
- requête 2 (source de la seconde liste) qui contient
IdRegion, NomRegion, IdPays
- requête 3 (source de la troisième liste) qui contient
IdVille, NomVille, IdRegion
Tu sélectionnes un pays dans le première liste... et la seconde liste
ne devrait donc t'afficher que les régions de ce pays ?
C'est simple, en complétant la seconde requête par une condition
(une clause Where) qui dira "IdPays = IdPays" (de la première liste)
Pour que la seconde liste tienne compte de la sélection faite dans la
première, il faut juste en faire sa mise à jour.
C'est ce qui s'obtient en ajoutant dans l'événement "Après mise à jour"
de la première liste: ListeRegion.Requery
On fait la même chose pour "lier" la seconde à la troisième liste.
Remarque, en réalité, on ne crée pas des requêtes enregistrées pour
chaque liste, mais on défini la "phrase" SQL dans la propiété "Contenu".
C'est d'ailleurs ce qui se fait automatiquement lorsque l'on crée la
liste à l'aide de l'assistant. Il suffit ensuite de compléter en spécifiant
le critère... comme montré sur l'image dans l'explication fournie par Hervé.
Ensuite, ajouter le requery pour actualiser la liste suivante.
PS: Il faut bien sûr adapter les différents noms des champs et des listes ;-)
"Loïc V." | je cherche, je creuse... (c'est comme cela qu'on apprend, n'est-il-pas?)
Bien sûr ;-)
| Pour pas foutre le B... dans ma base de données, j'en ai créé une autre à | titre d'essais.
Il est effectivement conseillé d'avoir sous la main une petite base dans laquelle on peut sans crainte faire les tests et mise au points...
|J'ai donc créé deux table: pays, région. J'ai fait une | requête comme indiqué sur ton lien (nmmée "pays requête") [...]
En lisant attentivement tout ce qu'il y a sur le lien expliqué, tu devrais y arriver. Ne pas hésiter à recréer l'exemple donné, car, une fois compris la méthode, tu appliqueras avec facilité.
Le principe:
Pays, Région, Ville
Tu crées - requête 1 (source de ta première liste) qui contient IdPays et NomPays - requête 2 (source de la seconde liste) qui contient IdRegion, NomRegion, IdPays - requête 3 (source de la troisième liste) qui contient IdVille, NomVille, IdRegion
Tu sélectionnes un pays dans le première liste... et la seconde liste ne devrait donc t'afficher que les régions de ce pays ? C'est simple, en complétant la seconde requête par une condition (une clause Where) qui dira "IdPays = IdPays" (de la première liste)
Pour que la seconde liste tienne compte de la sélection faite dans la première, il faut juste en faire sa mise à jour. C'est ce qui s'obtient en ajoutant dans l'événement "Après mise à jour" de la première liste: ListeRegion.Requery
On fait la même chose pour "lier" la seconde à la troisième liste.
Remarque, en réalité, on ne crée pas des requêtes enregistrées pour chaque liste, mais on défini la "phrase" SQL dans la propiété "Contenu". C'est d'ailleurs ce qui se fait automatiquement lorsque l'on crée la liste à l'aide de l'assistant. Il suffit ensuite de compléter en spécifiant le critère... comme montré sur l'image dans l'explication fournie par Hervé. Ensuite, ajouter le requery pour actualiser la liste suivante.
PS: Il faut bien sûr adapter les différents noms des champs et des listes ;-)
Super! Ca a marché! (ouf!). Cela dit, j'ai un peu chipoté, car dans le nom de la liste de choix, il me mettait "Modifiable x" et "Modifiable Y" (malgré le fait de bien les avoir nommés CmbActivites et CmbClients quand il me le demandait).
A présent, si je suis dans activité et que je sélectionne "pêche", il va donc me mettre les clients qui vont à la pêche (aux moules, moules, je n'irai plus maman, pom,pom, pom.... Lol). Mais, imaginons que je me suis planté, et que j'aurai voulu mettre cabottage, comment est-ce que je fais ? (parce que comme il est là, il me laisse pas le choix, il me donne la liste de ceux qui veulent pêcher).
bon, je cherche, si entretemps tu passes par ici, file moi un petit coup de filon si tu en as l'occasion.
encore un tout grand merci de tes conseils.
Loïc
"3stone" a écrit :
Salut,
"Loïc V." | je cherche, je creuse... (c'est comme cela qu'on apprend, n'est-il-pas?)
Bien sûr ;-)
| Pour pas foutre le B... dans ma base de données, j'en ai créé une autre à | titre d'essais.
Il est effectivement conseillé d'avoir sous la main une petite base dans laquelle on peut sans crainte faire les tests et mise au points...
|J'ai donc créé deux table: pays, région. J'ai fait une | requête comme indiqué sur ton lien (nmmée "pays requête") [...]
En lisant attentivement tout ce qu'il y a sur le lien expliqué, tu devrais y arriver. Ne pas hésiter à recréer l'exemple donné, car, une fois compris la méthode, tu appliqueras avec facilité.
Le principe:
Pays, Région, Ville
Tu crées - requête 1 (source de ta première liste) qui contient IdPays et NomPays - requête 2 (source de la seconde liste) qui contient IdRegion, NomRegion, IdPays - requête 3 (source de la troisième liste) qui contient IdVille, NomVille, IdRegion
Tu sélectionnes un pays dans le première liste... et la seconde liste ne devrait donc t'afficher que les régions de ce pays ? C'est simple, en complétant la seconde requête par une condition (une clause Where) qui dira "IdPays = IdPays" (de la première liste)
Pour que la seconde liste tienne compte de la sélection faite dans la première, il faut juste en faire sa mise à jour. C'est ce qui s'obtient en ajoutant dans l'événement "Après mise à jour" de la première liste: ListeRegion.Requery
On fait la même chose pour "lier" la seconde à la troisième liste.
Remarque, en réalité, on ne crée pas des requêtes enregistrées pour chaque liste, mais on défini la "phrase" SQL dans la propiété "Contenu". C'est d'ailleurs ce qui se fait automatiquement lorsque l'on crée la liste à l'aide de l'assistant. Il suffit ensuite de compléter en spécifiant le critère... comme montré sur l'image dans l'explication fournie par Hervé. Ensuite, ajouter le requery pour actualiser la liste suivante.
PS: Il faut bien sûr adapter les différents noms des champs et des listes ;-)
Super!
Ca a marché! (ouf!).
Cela dit, j'ai un peu chipoté, car dans le nom de la liste de choix, il me
mettait "Modifiable x" et "Modifiable Y" (malgré le fait de bien les avoir
nommés CmbActivites et CmbClients quand il me le demandait).
A présent, si je suis dans activité et que je sélectionne "pêche", il va
donc me mettre les clients qui vont à la pêche (aux moules, moules, je n'irai
plus maman, pom,pom, pom.... Lol). Mais, imaginons que je me suis planté, et
que j'aurai voulu mettre cabottage, comment est-ce que je fais ? (parce que
comme il est là, il me laisse pas le choix, il me donne la liste de ceux qui
veulent pêcher).
bon, je cherche, si entretemps tu passes par ici, file moi un petit coup de
filon si tu en as l'occasion.
encore un tout grand merci de tes conseils.
Loïc
"3stone" a écrit :
Salut,
"Loïc V."
| je cherche, je creuse... (c'est comme cela qu'on apprend, n'est-il-pas?)
Bien sûr ;-)
| Pour pas foutre le B... dans ma base de données, j'en ai créé une autre à
| titre d'essais.
Il est effectivement conseillé d'avoir sous la main une petite base dans
laquelle on peut sans crainte faire les tests et mise au points...
|J'ai donc créé deux table: pays, région. J'ai fait une
| requête comme indiqué sur ton lien (nmmée "pays requête")
[...]
En lisant attentivement tout ce qu'il y a sur le lien expliqué, tu devrais
y arriver. Ne pas hésiter à recréer l'exemple donné, car, une fois
compris la méthode, tu appliqueras avec facilité.
Le principe:
Pays, Région, Ville
Tu crées
- requête 1 (source de ta première liste) qui contient
IdPays et NomPays
- requête 2 (source de la seconde liste) qui contient
IdRegion, NomRegion, IdPays
- requête 3 (source de la troisième liste) qui contient
IdVille, NomVille, IdRegion
Tu sélectionnes un pays dans le première liste... et la seconde liste
ne devrait donc t'afficher que les régions de ce pays ?
C'est simple, en complétant la seconde requête par une condition
(une clause Where) qui dira "IdPays = IdPays" (de la première liste)
Pour que la seconde liste tienne compte de la sélection faite dans la
première, il faut juste en faire sa mise à jour.
C'est ce qui s'obtient en ajoutant dans l'événement "Après mise à jour"
de la première liste: ListeRegion.Requery
On fait la même chose pour "lier" la seconde à la troisième liste.
Remarque, en réalité, on ne crée pas des requêtes enregistrées pour
chaque liste, mais on défini la "phrase" SQL dans la propiété "Contenu".
C'est d'ailleurs ce qui se fait automatiquement lorsque l'on crée la
liste à l'aide de l'assistant. Il suffit ensuite de compléter en spécifiant
le critère... comme montré sur l'image dans l'explication fournie par Hervé.
Ensuite, ajouter le requery pour actualiser la liste suivante.
PS: Il faut bien sûr adapter les différents noms des champs et des listes ;-)
Super! Ca a marché! (ouf!). Cela dit, j'ai un peu chipoté, car dans le nom de la liste de choix, il me mettait "Modifiable x" et "Modifiable Y" (malgré le fait de bien les avoir nommés CmbActivites et CmbClients quand il me le demandait).
A présent, si je suis dans activité et que je sélectionne "pêche", il va donc me mettre les clients qui vont à la pêche (aux moules, moules, je n'irai plus maman, pom,pom, pom.... Lol). Mais, imaginons que je me suis planté, et que j'aurai voulu mettre cabottage, comment est-ce que je fais ? (parce que comme il est là, il me laisse pas le choix, il me donne la liste de ceux qui veulent pêcher).
bon, je cherche, si entretemps tu passes par ici, file moi un petit coup de filon si tu en as l'occasion.
encore un tout grand merci de tes conseils.
Loïc
"3stone" a écrit :
Salut,
"Loïc V." | je cherche, je creuse... (c'est comme cela qu'on apprend, n'est-il-pas?)
Bien sûr ;-)
| Pour pas foutre le B... dans ma base de données, j'en ai créé une autre à | titre d'essais.
Il est effectivement conseillé d'avoir sous la main une petite base dans laquelle on peut sans crainte faire les tests et mise au points...
|J'ai donc créé deux table: pays, région. J'ai fait une | requête comme indiqué sur ton lien (nmmée "pays requête") [...]
En lisant attentivement tout ce qu'il y a sur le lien expliqué, tu devrais y arriver. Ne pas hésiter à recréer l'exemple donné, car, une fois compris la méthode, tu appliqueras avec facilité.
Le principe:
Pays, Région, Ville
Tu crées - requête 1 (source de ta première liste) qui contient IdPays et NomPays - requête 2 (source de la seconde liste) qui contient IdRegion, NomRegion, IdPays - requête 3 (source de la troisième liste) qui contient IdVille, NomVille, IdRegion
Tu sélectionnes un pays dans le première liste... et la seconde liste ne devrait donc t'afficher que les régions de ce pays ? C'est simple, en complétant la seconde requête par une condition (une clause Where) qui dira "IdPays = IdPays" (de la première liste)
Pour que la seconde liste tienne compte de la sélection faite dans la première, il faut juste en faire sa mise à jour. C'est ce qui s'obtient en ajoutant dans l'événement "Après mise à jour" de la première liste: ListeRegion.Requery
On fait la même chose pour "lier" la seconde à la troisième liste.
Remarque, en réalité, on ne crée pas des requêtes enregistrées pour chaque liste, mais on défini la "phrase" SQL dans la propiété "Contenu". C'est d'ailleurs ce qui se fait automatiquement lorsque l'on crée la liste à l'aide de l'assistant. Il suffit ensuite de compléter en spécifiant le critère... comme montré sur l'image dans l'explication fournie par Hervé. Ensuite, ajouter le requery pour actualiser la liste suivante.
PS: Il faut bien sûr adapter les différents noms des champs et des listes ;-)
Bein, heuuuu, en fait, ça marche très bien sans le "Me![cmbClients].Requery ". Ma question précédente vient sans doute dut fait que je dois foirer dans l'étape de mise à jour.
C'est-bien dans la première liste qu'il faut mettre à jour ?
Merci.
Bein, heuuuu, en fait, ça marche très bien sans le "Me![cmbClients].Requery ".
Ma question précédente vient sans doute dut fait que je dois foirer dans
l'étape de mise à jour.
C'est-bien dans la première liste qu'il faut mettre à jour ?
Bein, heuuuu, en fait, ça marche très bien sans le "Me![cmbClients].Requery ". Ma question précédente vient sans doute dut fait que je dois foirer dans l'étape de mise à jour.
C'est-bien dans la première liste qu'il faut mettre à jour ?
Merci.
3stone
Salut,
"Loïc V." | Bein, heuuuu, en fait, ça marche très bien sans le "Me![cmbClients].Requery ". | Ma question précédente vient sans doute dut fait que je dois foirer dans | l'étape de mise à jour. | | C'est-bien dans la première liste qu'il faut mettre à jour ?
Heu... normalement ;-) c'est sur "après mise à jour" de la liste 'x' que l'on fait un "requery" sur la suivante... Simplement pour qu'elle puisse restreindre selon la sélection justement réalisée...
"Loïc V."
| Bein, heuuuu, en fait, ça marche très bien sans le "Me![cmbClients].Requery ".
| Ma question précédente vient sans doute dut fait que je dois foirer dans
| l'étape de mise à jour.
|
| C'est-bien dans la première liste qu'il faut mettre à jour ?
Heu... normalement ;-) c'est sur "après mise à jour" de la liste 'x' que l'on
fait un "requery" sur la suivante... Simplement pour qu'elle puisse restreindre
selon la sélection justement réalisée...
"Loïc V." | Bein, heuuuu, en fait, ça marche très bien sans le "Me![cmbClients].Requery ". | Ma question précédente vient sans doute dut fait que je dois foirer dans | l'étape de mise à jour. | | C'est-bien dans la première liste qu'il faut mettre à jour ?
Heu... normalement ;-) c'est sur "après mise à jour" de la liste 'x' que l'on fait un "requery" sur la suivante... Simplement pour qu'elle puisse restreindre selon la sélection justement réalisée...