Bonjour,
Je mets ma question ici, mais il se pourrait qu'à terme, ça relève du VBA.
J'ai 2 tables liées par une relation plusieurs à plusieurs: j'ai donc conçu un formulaire et un sous-formulaire bâtis sur ces tables (enfin plus exactement sur la table de jonction et une autre table liée à la table de jonction pour le second) pour rentrer les données.
Tout fonctionne bien, pourtant je suis "bloqué" par une chose qui doit relever des mécanismes internes d'Access: la mise à jour des données dans les tables sur lesquelles reposent les formulaires.
Le formulaire principal est relié à la table Objet.
Le sous-formulaire est bâti sur une table de jonction Objet-localisation (jonction pour la relation plusieurs à plusieurs), et il incorpore des données de la table localisation.
Jusque là, tout va bien...
Le problème est le suivant:
Je rentre les données dans le formulaire principal, aucune répercussion "tout de suite" dans la table correspondante "objet".
Ce n'est que lorsque je commence à rentrer des données dans le sous-formulaire (une seule lettre suffit) que là, les données de ce qui a été porté dans le formulaire principal sont répercutées dans la table "objet".
C'est compréhensible, parce qu'il y a une table de jonction sous-jacente au formulaire, et qu'Access attend que les tables reliées par cette table de jonction contiennent des données pour les mettre à jour toutes les 2... mais ça me gène.
Je voudrais avoir la possibilité de remplir la table localisation (= les données que l'on peut saisir dans le sous-formulaire) par un autre moyen que le sous-formulaire, en particulier un bouton évènement qui remplira la table.
Seul problème, si le sous-formulaire ne contient aucune entrée, alors les données du formulaire n'auront même pas encore été mises à jour dans la table objet.... en somme, "la fiche" objet n'existe pas encore, elle n'est créée qu'après coup, qu'après avoir rentré au moins un champ quelconque dans le sous-formulaire...
Comme je l'ai dit précédemment, c'est une mécanique interne à Access avec les tables de jonction dans le cas d'une relation plusieurs à plusieurs, c'est compréhensible pour l'intégrité des enregistrements, mais ça me gène.
J'ai essayé de forcer la main à access en inscrivant via un recordset l'objet manquant pour initier la table de jonction, mais ça n'a pas fonctionné (à revoir toutefois), ensuite j'ai peur qu'en sortant du formulaire il ne me réinscrive une nouvelle fois les mêmes données mais avec une autre clé...
J'ai essayé de retranscrire mon problème du mieux possible.
Si vous avez des idées, je suis preneur.![]()
Partager