Requête paramétrée
merl875
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
tessel75 -
tessel75 -
Bonjour,
Je voudrai créer un formulaire sous access qui contiendera trois champs: a,b et c
Le champs a possède plusieurs éléments par exemple a={1, 2,3,4,5,6,7,8,9,10} le champs b quant a lui est relié à "a" avec une relation d'un à plusieurs (la relation va de a vers b) c'est à dire qu'un élement de "a" va avoir plusieurs élements dans b par exemple 1={ x,y,z} pareil pour le champ c qui aura une relation de un à plusieurs en partant de b par exemple x={ i,j,k}
Ce que je voudrai avoir dans mon formulaire c'est que lorsque je vais saisir un élément du champ a , il me fasse apparaitre que les éléments du champ b ayant une relation avec ce que j'ai saisi , même chose avec le champ c qui fera apparaitre que les éléments qui ont une relation avec ce que j'ai saisie au champ b.
je ne sais pas trop si c'est bien éxpliqué , j'ai en tout cas fait de mon mieux !
On m'a dit que je pouvais faire ça avec une requête paramétrée , pouvez vous m'aider ?
Merci !
Je voudrai créer un formulaire sous access qui contiendera trois champs: a,b et c
Le champs a possède plusieurs éléments par exemple a={1, 2,3,4,5,6,7,8,9,10} le champs b quant a lui est relié à "a" avec une relation d'un à plusieurs (la relation va de a vers b) c'est à dire qu'un élement de "a" va avoir plusieurs élements dans b par exemple 1={ x,y,z} pareil pour le champ c qui aura une relation de un à plusieurs en partant de b par exemple x={ i,j,k}
Ce que je voudrai avoir dans mon formulaire c'est que lorsque je vais saisir un élément du champ a , il me fasse apparaitre que les éléments du champ b ayant une relation avec ce que j'ai saisi , même chose avec le champ c qui fera apparaitre que les éléments qui ont une relation avec ce que j'ai saisie au champ b.
je ne sais pas trop si c'est bien éxpliqué , j'ai en tout cas fait de mon mieux !
On m'a dit que je pouvais faire ça avec une requête paramétrée , pouvez vous m'aider ?
Merci !
A voir également:
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table
- Impossible de supprimer une page word - Guide
- Table ascii - Guide
- Creation de site web - Guide
- Table de matière word - Guide
- Google moteur de recherche page d'accueil - Guide
2 réponses
Bonjour
Si j'ai bien compris:
la table B reliée un à plusieurs vers la table A
La table C reliee un à plusieurs vers la table B ou A reliée un à plusieurs vers C?
Si j'ai bien compris:
la table B reliée un à plusieurs vers la table A
La table C reliee un à plusieurs vers la table B ou A reliée un à plusieurs vers C?
Bonsoir,
Il te faut des requêtes en cascade, càd tu sélectionnes A, grâce auquel tu sélectionnes B, grâce auquel tu sélectionnes C.
En fait peut importe que les tables soient dans des un à plusieurs dans un certain ordre.
Pour résoudre cela il te faut 3 requêtes successives qui sont les requêtes-sources des contrôles à choix multiples de ton formulaire.
En A, pas de problème particulier: tu crées un contrôle "Zone de liste déroulante" dont le "contenu" est ta 1ère requête (Select A ... etc)
En B, 2ème contrôle "Zone de liste déroulante" dont le "contenu" sera une 2ème requête de la forme : Select B ... Where A' = Forms!NomDuFormulaire!ControleA
En C, 3ème contrôle "Zone de liste déroulante" dont le "contenu" sera une 3ème requête de la forme : Select C ... Where A' = Forms!NomDuFormulaire!ControleA and B' = Forms!NomDuFormulaire!ControleB
où A' et B' sont les champs en liaison avec les 2 tables T_Anatole et T_Bernard précédentes
Attention si tu es débutant sur Access, le "contenu" n'est pas la "SourceContrôle", c'est le contenu de la liste déroulante
Tu n'as nul besoin d'écrire toi-même le code SQL, tu peux très bien le faire avec l'assistant Création de Requête; Access fera la conversion tout seul.
Par contre il te faudra un petit code VBA sur chacun des contrôles pour actualiser la requête de chacun; sans cela les requêtes ne prendraient pas en compte la modification survenue dans le contrôle précédent.
En cas de difficulté tu peux poster un extrait de ta base (sans nom privé) sur cjoint.com pour qu'on puisse regarder d plus près.
Bonne suite
Il te faut des requêtes en cascade, càd tu sélectionnes A, grâce auquel tu sélectionnes B, grâce auquel tu sélectionnes C.
En fait peut importe que les tables soient dans des un à plusieurs dans un certain ordre.
Pour résoudre cela il te faut 3 requêtes successives qui sont les requêtes-sources des contrôles à choix multiples de ton formulaire.
En A, pas de problème particulier: tu crées un contrôle "Zone de liste déroulante" dont le "contenu" est ta 1ère requête (Select A ... etc)
En B, 2ème contrôle "Zone de liste déroulante" dont le "contenu" sera une 2ème requête de la forme : Select B ... Where A' = Forms!NomDuFormulaire!ControleA
En C, 3ème contrôle "Zone de liste déroulante" dont le "contenu" sera une 3ème requête de la forme : Select C ... Where A' = Forms!NomDuFormulaire!ControleA and B' = Forms!NomDuFormulaire!ControleB
où A' et B' sont les champs en liaison avec les 2 tables T_Anatole et T_Bernard précédentes
Attention si tu es débutant sur Access, le "contenu" n'est pas la "SourceContrôle", c'est le contenu de la liste déroulante
Tu n'as nul besoin d'écrire toi-même le code SQL, tu peux très bien le faire avec l'assistant Création de Requête; Access fera la conversion tout seul.
Par contre il te faudra un petit code VBA sur chacun des contrôles pour actualiser la requête de chacun; sans cela les requêtes ne prendraient pas en compte la modification survenue dans le contrôle précédent.
En cas de difficulté tu peux poster un extrait de ta base (sans nom privé) sur cjoint.com pour qu'on puisse regarder d plus près.
Bonne suite
La table A est relié à un à plusieurs avec la table B
La table B est reliée un à plusieurs avec la table C
Il n 'y a que trois tables et deux relations seulement !