Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DataModul - Master Detail (https://www.delphipraxis.net/49088-datamodul-master-detail.html)

testoli 5. Jul 2005 11:16

Datenbank: SQL 2000 • Zugriff über: ADO

DataModul - Master Detail
 
Hallo,

ich möchte meine VCL Forms soweit es geht von ADO Komponenten befreien. Dafür habe ich ein Datamodul eingefügt. Hier möchte ich gerne eine Masterdetailverbindung mit den ADO Komponenten herstellen und diese dann mit den DBGrids des VCL Form verbinden.

Auf dem dem Datamodul habe ich folgende Komponenten eingefügt:
1. ADOConnection (AC) - Diese soll -solange der User das Programm geöffnet hat- aktiv bleiben.
2. ADOTable (AT1)- Diese hat als Connection die AC und als Datasource die DS eingetragen. Die Tabelle, die von der Datenbank gezogen wird, ist eine View (VW_PERSON)
3. ADOTable (AT2)- Wie 2. nur die View zeigt auf die VW_ADRESSEN.
4. Datasource (DS)

Die Verbindung zwischen den VWs ist PERS_ID -> ADR_PERS_ID

Auf dem VCL Form habe ich 2 DBGrids:
1. DBGrid (DG1) soll die Personen anzeigen.
2. DBGrid (DG2) soll die dazugehörigen Adressen anzeigen.

Was muss ich im Datamodul einstellen, damit aus den ATs eine Master/Detail Verbindung ensteht?

Wie kann ich auf das Datamodul zugreifen und die DB Grids an die Table heften. Auf eine Klick in DG1 soll natürlich die DG2 die neuen Daten anzeigen? :gruebel:

Danke!
Oliver

marabu 5. Jul 2005 11:46

Re: DataModul - Master Detail
 
Hallo Oliver,

zusätzlich zu DS auf dem DatenModul brauchst du DS1 und DS2 auf deiner GridForm. Das DatenModul musst du dann noch in die uses Klausel des implementation Abschnitts deiner GridForm aufnehmen. Vielleicht bringt dich das ja schon auf den Weg...

Delphi-Quellcode:
// DatenModul DM.OnCreate()
DS.DataSet := AT1;
AT2.MasterSource := DS;
AT2.MasterFields := 'PERS_ID';

// GridForm.OnCreate
DS1.DataSet := DM.AT1;
DG1.DataSource := DS1;
DS2.DataSet := DM.AT2;
DG2.DataSource := DS2;
Grüße vom marabu

testoli 5. Jul 2005 13:50

Re: DataModul - Master Detail
 
:dancer:

Vielen Dank für den ausführlich Code. Das rockt.......

LG
Oliver


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz