|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() quentin masséInscription : janvier 2010 Messages : 251 ![]() |
Bonjour,
J'ai une base de donnée avec plusieurs table a relation multiple. Je voudrai afficher tous les champs d'un enregistrement dans un formulaire pour pouvoir les modifier. Par mes relations multiples, je ne peux pas faire directement ma requête sur toutes mes tables afin de les modifier. Je n'ai pas envie non plus de faire x sous formulaire car ca ne sera pas jolie et pratique. Je veux afficher mes données en feuille de données (comme pour une table). J'ai fais une premier formulaire ou on sélectionne une famille et le projet associé à la famille. Ensuite j'ai un autre formulaire qui s'ouvre ou on peux modifier des données rattachées au projet (ca pas de problème puisque les tables en question ne sont pas en relation multiple). Ensuite viens un autre formulaire une ou plusieurs catégorie qui permet ensuite d'ouvrir mon formulaire avec les données choisie par les filtre. Lors du passage du formulaire avec les filtre au formulaire de modification, les données sélectionnées par les filtre s'enregistre dans une table qui comporte tous les champs nécessaire à la modification. J'arrive donc à modifier ces données dans la nouvelle table. Ce que j'aimerai maintenant c'est mettre à jour les données dans les vrai tables. Pour cela il me faut les anciens enregistrement ainsi que les nouveau. J'avais pensé faire lorsqu'il clic sur le bouton "enregistrer et quitter" du form de modif: 1) fermer le form pour qu'il enregistre les données dans la table temporaire. 2) Faire 2 requêtes (une sur ma table temporaire pour avoir les modif, l'autre sur les vrai table pour avoir les anciennes données) 3) je voulais ensuite modifier les vrai tables avec les valeurs de ma première requête en fonction des valeur de la seconde requête. Mais je ne sais pas si c'est la bonne méthode. Je ne suis pas sur que le premier enregistrement de ma requête1 et le même (hors modif) que le premier enregistrement de la requête 2. Si vous avez des idées sur la manière dont je dois m'y prendre ca m'aiderai bcp car la j'ai l'impression de faire n'importe quoi et plus j'y réfléchis plus je m'embrouille. Merci |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() |
Bonjour,
Quel que soit le nombre de tables en relation, ton formulaire doit être attaché à sa table ou à sa requête si toutefois tu as besoin de critères spécifiques. Au pire, tu peux joindre une table de relation que tu juges indispensable mais au final, ça ne sert à rien. Ton formulaire possède alors tous les champs de la table en question et chaque contrôles nécessitant un choix se voit transformé en liste de choix ou déroulante pointant sur la table liée en rapport. Pour les autres relations, tu peux jouer avec les événements et renvoyer dans telle ou telle zone de texte, telle valeur correspondant à une entrée spécifique dans un autre contrôle ou encore selon une valeur cochéé dans un cadre d'options. Bref, un petit travail pointu mais fiable. Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
|
|
#3 | ||
|
Membre habitué
![]() quentin masséInscription : janvier 2010 Messages : 251 ![]() |
Je te remercie pour ta réponse.
Je vais y réfléchir. Enntre temps j'ai trouvé une solution qui n'est certainement pas parfaite mais qui marche (enfin j'ai encore quelque point a régler). J'ai créé une 2nd table temporaire comme la première mais qui n'est pas attaché au formulaire et qui donc n'as pas eu les modification. Grâce au positionnement des enregistrements, si ce sont les mêmes pour les 2 tables je peux modifier mes autres tables (celle que j' appelle les vrai). Voila mon code: Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com