Bonjour,
Je rencontre un problème avec des sous formulaires sur Access 2007 et je commence à désespérer.
Je souhaite pouvoir modifier 2 tables liées en mode feuille de données. J'ai donc un formulaire principal et un autre sous-formulaire lié. Quand j'affiche en feuille de données, j'ai la petite croix sur les lignes de la table principale qui me permet d'ouvrir les lignes de la tables liée et toutes les modifications que je fait marchent nickel, là dessus rien à dire.
Le problème est que les deux tables que j'utilise sont générés en fonction d'un paramètre ce qui fait que j'ai besoin d'inclure ce formulaire principal comme sous-formulaire d'un formulaire et c'est là que ça pose problèmes. Quand je suis dans ce méga formulaire, la table qui est dans le sous-formulaire de ce méga formulaire se modifie, mais la table qui est dans le sous-formulaire de ce sous-formulaire ne se modifie pas.
Je m'explique avec un cas plus explicite (je simplifie le cas pour mon exemple) :
J'ai une table1 et une table2
La table 1 contient une configuration d'un magasin
La table 2 est une table de liaison entre les configurations de la table 1 et les magasins, le numéro du magasin me suffit donc pas besoin de 3eme table dans notre cas.
table1
- id
- nom_de_la_configuration
table2
- id_configuration
- numero_magasin
dans la table1 on aura
id / nom_de_la_configuration
1 / "grands magasins"
2 / "magasins moyens"
3 / "petits magasins"
dans la table2 on aura
id_configuration / numero_magasin
1 / 1
1 / 2
1 / 3
2 / 4
2 / 5
2 / 6
3 / 7
3 / 8
3 / 9
en considérant que les magasins 1 2 et 3 soient grands, 4 5 et 6 soient moyens et 7 8 et 9 soient grands
Je fais un formulaire : formulaire1 que je vais afficher en feuille de données qui aura pour Source table1
Un sous_formulaire : sous_formulaire1 que je vais lier à table2
dans formulaire1 je crée les champs que je veux voir (id et nom_de_la_configuration) et un sous formulaire avec comme source sous_formulaire1 comme champ père id et comme champ fils id_configuration. Jusque là rien de magique, ça m'affiche ce que je veux, un tableau avec les différentes configurations et une croix qui me développe les magasins qui y sont affectés. Si je veux supprimer un magasins lié, il se supprimera dans ma table2 également
Mon problème est que ces tables : table1 et table2 se génèrent par une procédure VBA (à partir d'autres tables) en fonction du pays. J'ai donc un troisième formulaire Pays où il y a une liste déroulante avec les différents pays, un bouton pour actualiser les tables table1 et table2 et un sous formulaire contenant formulaire1. L'affichage se passe bien mais lorsque je veux modifier les tables, les modifications (suppression de ligne par exemple) que j'effectue sur les configurations (table1) sont bien répercutés dans la table1 par contre les modifications sur les magasins affectés à ces configurations (table2) ne sont pas répercutées sur table2, alors qu'elles le sont lorsque j'ouvre directement le sous formulaire "formulaire1".
J'ai un peu du mal à expliquer mon cas mais en gros les modifications sur une table lié à un sous-sous formulaire ne sont pas effectives dans la table en mode feuille de données.
En mode formulaire tout marche bien.
En mode feuille de données avec un sous formulaire (et non sous-sous formulaire) tout marche bien.
Quelqu'un à une idée d'où est-ce que ça peut venir et comment résoudre le problème ?
La seule solution que je vois est d'ouvrir directement formulaire1 et mettre les boutons pour le choix du pays et pour actualiser le formulaire dans le ruban (en faisant un ruban personnalisé) ce qui va vraiment me prendre du temps...
Cordialement,
Nicolas
Partager