Eigentlich sollte man die Use-Cases trennen.
Man hat ein DatenModul mit der Connection und x DataSets die
auschliesslich als Lookup verwendet werden.
Delphi-Quellcode:
TBaseDataModule = class( TDataModule )
Connection: TADOConnection;
PersonLookup: TADOTable;
...
end;
Für jeden Use-Case baut man sich jetzt ein eigenes DataModule. Da packt man dann alle Tabellen/Abfragen drauf und verknüpft diese, wie man das nun so braucht. Für die Verbindung nimmt man sich das zentrale
TBaseDataModule
.
Kommt jetzt ein Formular daher, dann erzeugt sich dieses Formular eine Instanz von dem passenden Use-Case und verbindet die DataSets mit dem Grid/Edits/... whatever.
Dann kommt man auch nicht in die Notlage, dass sich 2 Formulare gegenseitig auf den füssen stehen, weil beide auf die gleichen DataSets zugreifen.