Relier deux formulaires sur Access

Fermé
Mag - 20 mai 2011 à 10:32
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 - 24 mai 2011 à 12:05
Bonjour,

Débutante sur access, je voudrais savoir comment faire pour qu'en cliquant sur un mot dans un champ d'un formulaire, cela me renvoie à un enregistrement dans un formulaire d'une autre table...? (Sachant qu'un même champ peut contenir plusieurs mots, correspondants à des enregistrement différents dans mon autre table).
Faut-il entre autre relier les tables au préalable?

(J'espère que ma question est claire)

Merci!

8 réponses

castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
23 mai 2011 à 18:09
Bonjour

Je joins un exemple d'un formulaire produits avec son sous formulaire composant.

Une liste deroulante avec des composants
Donne une réponse si cela te convient

http://www.cijoint.fr/cjlink.php?file=cj201105/cij3ztEpO6.zip
1
Merci beaucoup.
Mais je ne comprends pas le sous-formulaire..?
Il ne correspond toujours pas à une fiche composant... Ou je le comprends mal?
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
24 mai 2011 à 10:00
Sans exemple de ta part, il est difficile de savoir ce que tu veux exactement.
0
En gros, un produit a plusieurs composants, et dans mon formulaire composants, j'ai des champs caractérisants chaque composant, (par exemple je sais pas, couleur, texture, etc)...
Et donc, comme je vous disais, je voudrais pouvoir me réferer à chaque composant, à partir du champ contenant la liste de composant pour chaque produit.
Je ne sais pas comment être plus explicite :s
En gros, je voudrais pouvoir "cliquer" sur le composant qui m'interesse, pour trouver sa fiche dans l'autre formulaire... Mais peut-être que cette fonctionnalité n'existe pas dans Access? (Access 2000 au fait)

Merci...
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
24 mai 2011 à 10:22
essaie d'être plus clair. dis texto ce que tu souhaites, car la on patine dans la purée, et on te propose des choses un peu à l'aveugle.

Quand tu parles de "Formulaire composants", il s'agit bien d'un formulaire contenant les composants ?
Si oui, il les contient tous ? ou juste ceux d'un "produit X" sélectionné au préalablement ? )

En gros, je voudrais pouvoir "cliquer" sur le composant qui m'intéresse, pour trouver sa fiche dans l'autre formulaire...

si j'ai compris tu veux :

"une liste de composant" + "quand je clique sur un composant, je veux tous les détails du composant ( couleur, taille, référence, nombre en stock, date d'entrée etc...) " ?
0
J'ai une table "composants", ou là, en effet, j'ai tous les composants, avec les détails du composant (couleur, taille etc.. il n'y a pas de question de stock ni de date d'entrée, car c'est juste une base de données informative)

J'ai une table "produits", avec les détails du produit (prix, contenance, composants, etc).

J'ai fait un formulaire pour avoir des "fiches produits", et je voudrais a partir d'une fiche produit, pouvoir consulter la fiche de chaque composant, en cliquant dessus, ou autre?

Mais je ne suis même pas sûre que cette fonctionnalité soit possible avec Access?

Besoin d'une autre précision?
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
Modifié par Creutzou le 20/05/2011 à 10:58
Salut,

je ne m'y connais pas trop mais je pense qu'il faut mettre un champs commun aux deux tables.
Puis lors de l'événement "click"du premier formulaire,
modifier le filtre ou le record source du deuxièmes formulaire
Cela devrait t'amener à quelque chose proche de ce que tu cherches.

( ceux sont deux Forms séparé ? ou c'est un formulaire et un sous formulaire ?
Car si c'est le cas, il me semble qu'access crée une relations "Père => fils" qui te faciliterais la vie. )

Tout vient à point à qui sait attendre
~~ Cr3u7z0u ~~
0
Merci Creutzou,

Par contre pour créer une relation "Père-fils", il me faut un champ en commun visiblement.
Or mes champs ne peuvent pas être complètement commun, vu que dans le formulaire "père", il y aura un champ avec une liste valeurs, et dans le formulaire "fils", il y aura un enregistrement correspondant à chacune de ces valeurs..
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
20 mai 2011 à 14:30
alors les champs en commun, sont souvent appeler 'ID' (pour identifiant).
Il te suffit dans une table de déclarer un champ 'ID' de type, numérotation automatique.
Et dans ta seconde table tu créer un champs 'ID_de_la_premiere_table' de type numérique.
(si tu veux je peux te donner une petite astuce que j'utilise dans mes Base Access, je me suis imposé une "convention de nommage". Ainsi toutes mes tables s'appelle "TXXX" (xxx etant un numéro) et le premier champs s'appelle NAXXX (NA pour numéro automatique, et XXX qui reprend le numéro de la table. Comme ca , je ne suis pas perdu, et je m'y retrouve tout le temps ).

En faisant quelque chose comme ça, ça devrait le faire.

si je ne suis pas clair, et que ça te parait obscure, dis le moi ;)
0
Merci

Mais mon problème est toujours que mes champs ne sont pas tout a fait communs...
J'ai créé un sous formulaire avec une relation "père-fils", mais évidemment cela ne fonctionne pas...
Je suis dans une impasse!! :(

N'y aurait-il pas une autre solution pour extraire seulement une valeur de ma "liste" dans chaque champ?

Merci beaucoup
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
Modifié par Creutzou le 23/05/2011 à 10:43
Il me faudrait alors un peu plus de détail. Donne moi la structure des deux tables, et précise ce que tu veux faire exactement. ( on reprend depuis le début ;).
Tout vient à point à qui sait attendre
~~ Cr3u7z0u ~~
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
23 mai 2011 à 11:07
Bonjour
Pour pouvoir relier un formulaire principale et un sous formulaire, il faut dans une table une clé primaire, définie dans un champ qui peut être un N°Auto.
Dans la seconde table, il faut un champ numérique.
Exemple:
Table1
N°liste en N°Auto
Table2
N°Liste en Numerique
C'est 2 définitions te permetront de faire une relation un à plusieurs.
C'est a cette condition et par la suite tu'nauras aucun mal à réaliser ton formulaire et sous-formulaire
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
23 mai 2011 à 11:45
c'est ce que je voulais dire, mais en plus simple... je ne suis pas doué pour expliquer :/
0
Merci!
Mais...mes informations ne sont pas numériques dans la deuxième table, je ne comprends pas :/

J'ai une table "produits", avec un champ "composants", et dans son formulaire correspondant je voudrais pouvoir cliquer sur un élément des composants pour me renvoyer à la table "composants"....

Je suis perdue!
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
23 mai 2011 à 15:26
Essaie de donner des exemples concrets, que je te dise un peu ce qui pourrait t'arranger.
(exemple de produit, et exemple de composants, dans leur table. Prend une capture d'écran si tu ne veux pas te prendre trop la tête )
0
Mon travail est confidentiel donc je ne vais pas pouvoir faire de capture d'écran, mais en gros ça donne ça:
Dans la table Produit, pour le premier enregistrement, j'ai dans le champ "composants": composant B, composant F, Composant E. Pour le deuxième enregistrement, j'ai dans le champ composants: composant G, composant A, composant J, et ainsi de suite.
Dans la table "composants", avec comme clé primaire ma liste de composants par ordre alphabétique, chaque enregistrement correspondant donc à une fiche composant.

Et donc, dans mon formulaire produit, mon but serait de "piocher" un composant dans la liste de composants pour chaque produit, pour consulter sa fiche.........
0
En me relisant j'ai l'impression de parler chinois....
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
23 mai 2011 à 16:15
Si je comprend,
Un Produit, peut avoir un , plusieurs voir aucun composant ?
0
En fait un produit a toujours plusieurs composants.....
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
24 mai 2011 à 11:27
Et bien,

Le formulaire affiche les produits 1 par 1 ( tu peux naviguer avec les petits sélecteurs en bas du form)

Pour chaque produit, on voit la liste des composants avec toutes les infos ( c'est ici qu'il faudra ajouter les détails couleur, taille...)

Je te prends une capture d'écran en détaillant le tout.
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
Modifié par Creutzou le 24/05/2011 à 11:34
Voilà la capture d'écran.
Si il y a d'autre chose que tu n'as pas compris, dit le moi.
Tout vient à point à qui sait attendre
~~ Cr3u7z0u ~~
-1
C'est beaucoup mieux merci!!
Par contre, je suis donc obligée d'afficher le sous-formulaire en permanence dans ce cas?

Je vais tenter de m'en sortir avec tout ça.

Merci beacoup de m'avoir accordé votre temps.
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
24 mai 2011 à 12:05
tu n'es obligé de rien. Le programme fait juste ce que tu lui demandes de faire.
castours l'a fait comme ça, car c'est SA manière de pensée / vouloir.
Si tu as d'autre besoin, modifie le à ta guise.
0