![]() |
Re: Zwei Tabel als Baum Darstellen
Moin :-)
Das Testprogramm läösst sich leider nicht ausführen, da die zugehörigen Datafiles fehlen ;-) Zu Deinem Problem: du sagst nicht, welche DB keine Aktualisierung erhält ;-) Ich vermute mal, dass wahrscheinlich die Table2 nicht immer aktualisiert wird. Soweit ich mich erinnere, istt ja Table2 die Detailtabelle von Table1 und es werden dann ja auch nur die zugehörigen Detailsätze angezeigt. Solange ein Unterknoten von Table1 angeklickt wird, dürfte die Case-Abfrage im OnChange-Ereignis auch den angeklickten Detailsatz finden. Wenn aber auf ein Unterknoten eines anderen Hauptsatzes(Table1) geklickt wird, dann kann der Datensatz auch nicht gefunden werden ;-) Lösung (Gedankenansatz):
Delphi-Quellcode:
Es muss also zunächst geprüft werden, ob der zum angeklickten Unterknoten zugehörige Elternknoten (ParentNode) die gleiche Hersteller_ID hat wie der zur Zeit aktuelle Datensatz der Haupttabelle; wenn nicht, dann muss erst die Haupttabelle auf die ID des Eltenknoten eingestellt werden, damit sich die Detailtabelle entsprechend aktualisieren kann und erst dann wird auch der zum angeklickten Unterknoten zugehörige Datensatz gefunden und angezeigt...
procedure TForm1.tvbaumChange(Sender: TObject; Node: TTreeNode);
var: ParentNode: TTreeNode; begin Showmessage('jetzt'); case Node.Level of 0: // Hersteller DataModule2.TdbTable1.Locate('Hersteller_ID', Integer(Node.Data), []); 1: //Produkt begin ParentNode := Node.Parent; if Integer(ParentNode.Data) <> DataModule2.TdbTable1.FieldByName('Hersteller_ID').Value then DataModule2.TdbTable1.Locate('Hersteller_ID', Integer(ParentNode.Data), []); DataModule2.TdbTable2.Locate('Pr_ID', Integer(Node.Data), []); end; end; Label1.Caption:=DataModule2.TdbTable1.FieldValues['Firma']; Label2.Caption:=DataModule2.TdbTable2.FieldValues['Bezeichung']; Label3.Caption:=IntToStr(DataModule2.TdbTable2.FieldValues['maxl']); Label4.Caption:=IntToStr(DataModule2.TdbTable2.FieldValues['Breite']); end; Hoofe, ich hab mich nicht zu kompliziert ausgedrückt :roll: |
Re: Zwei Tabel als Baum Darstellen
Zitat:
Danke für die schnelle Hilfe, werde das nach dem essen ausprobieren. |
Re: Zwei Tabel als Baum Darstellen
Moin :)
Jo, jetzt klappt's ;-) Wie ich's mir gedacht habe: wenn Unterknoten von einem zuvor selektierten Haupteintrag (in den Beispieldaten Metecno) angeklickt werden, dann wird der entsprechende Unterdatensatz gefunden. Wird jedoch auf einen Unterdatensatz eines anderen Herstellers (hier: Thysen) geklickt, passiert nix... Der Grund: siehe mein Posting #21 ;-) |
Re: Zwei Tabel als Baum Darstellen
Danke für die Hilfe jetzt geht es.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz