J'ai plusieurs tables avec une relation 1 a 1: une table ManufactureOrder, une table TeamLeader, une table Scrap... et dans les tables TeamLeader, Scrap et autres il y a une cle etrangere sur la cle de ManufactureOrder.
A l'origine j'avais tout dans une table mais ca commencait a faire beaucoup de champs et je pensais que ca allait moins m'embrouiller de separer en plusieurs tables.
Le probleme c'est que du coup mon formulaire ou on rentre toutes les infos, il n'est plus base sur la seule table ManufactureOrder mais sur la jointure de toutes les tables. (je voulais pas passer par des sous-formulaires parce que mon formulaire etait deja fait et selon la disposition ca pouvait pas coller)
Du coup pour qu'on puisse rentrer des infos, comme la jointure est de type INNER JOIN, si je veux qu'il arrive a faire la jointure, il faut qu'il y ait une ligne dans chacune des tables Scrap, TeamLeader... qui correspond au ManufactureOrder qu'on ouvre (vide) pour qu'il arrive a afficher le formulaire.
Pour l'instant ma solution est assez bricolage: sur le formulaire de creation d'un nouveau ManufactureOrder, j'ai dans le AfterInsert plein de requetes d'insertion (INSERT INTO Scrap etc) qui creeent des lignes vides avec la cle etrangere sur le ManufactureOrder qui vient d'etre cree.
De meme quand je veux supprimer un ManufactureOrder, quand on clique sur le bouton Delete, il va effacer d'abord tous les records qui correspondent dans les autres tables puis le record dans la table ManufactureOrder (et dans cet ordre sinon evidemment il ne veut pas effacer le record de ManufactureOrder s'il reste des records "fils" dans les autres tables)
Je trouve que c'est un peu bricolage, est-ce qu'il n'y a pas un moyen d'ameliorer tout ca?![]()
Partager