Einzelnen Beitrag anzeigen

merlin17

Registriert seit: 15. Dez 2002
Ort: Mittelfranken
980 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

ADO und Master/Detail/Detail

  Alt 14. Jun 2004, 22:33
hallo,

ich habe vor vielen Jahren (1996) ein kleines Programm auf BDE-Basis Geschrieben. Läuft heute noch bei einigen ohne Probleme.
Nun gibt es scheinbar mit der BDE und dem MSACCESS-Treiber bei einem Kunden ein paar Probleme mit MDAC 2.8 (Version lt. dem Kunden, ich habe hier nur 2.7a??).
Ich wollte nun eine kleine Exportroutine dahin gehend ändern, dass ich die drei TTable-Objekte gegen drei TADOTable-Objekte ersetze (mit gemeinsamer Connection). Soweit alles kein Problem. Nur:

Ich habe drei Tabellen
Rechnung
RechnungsFall
RechnungsPosition

in der Access-Datenbank (von einem anderen Verfahren (scheinbar vb <g>).
Wie bekomme ich bei drei Tabellen die Master-Detail-Detail-Geschichte hin.
d.h. ich füge einen Rechnungssatz ein (ID: 1) und dann will ich die Fälle in die 2. Tabelle einfügen und bei RE_ID soll automatisch die 1 übernommen werden. Und Entsprechend bei der Positionstabelle eine RFall_ID von der 2. Tab).
Ich habe (mein erster Kontakt ADO btw) schon die Feinheiten CursorLocation und CursorTyp entdeckt und die Rechungs-ID wird jetzt korrekt übernommen (ohne reLoad der Tabelle) aber die Relation von Fall mit Position klappt dann nicht mehr.....

Code:
While-Not-Schleife Rechnung
Rechnung.Insert
    While Not-Schleife Fälle
       Insert von Datensätzen in Fälle mit ID_RE
       While Not Schleife Positonen
         Insert von DS Positionen mit Übernahme der ID_Fälle
   ...next....
Mit der BDE TTable lief der Export aus meinen PDox-Tables in die Access-Tabellen ohne jegliche Probleme (und sogar richtig schnell!!)

Wie sieht hier eine Lösung bei den drei Tabellen und den Einstellungen der TADOTable oder TADODataset aus?!?! Ist doch sicherlich möglich, oder? Ich will mich nicht allzu tief mit ADO auseinander setzen (ich arbeite primär mit Oracle und Interbase und früher mal mit der BDE).


Danke für jeden Tip


thomas
- TeamNevrona cannot respond to questions received via email -
http://rave-notes.blogspot.com
  Mit Zitat antworten Zitat