AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zwei Tabel als Baum Darstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Zwei Tabel als Baum Darstellen

Ein Thema von thklingler · begonnen am 3. Mai 2006 · letzter Beitrag vom 8. Mai 2006
Antwort Antwort
Seite 3 von 3     123   
raiguen
(Gast)

n/a Beiträge
 
#21

Re: Zwei Tabel als Baum Darstellen

  Alt 8. Mai 2006, 11:20
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:
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;
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...
Hoofe, ich hab mich nicht zu kompliziert ausgedrückt
  Mit Zitat antworten Zitat
thklingler

Registriert seit: 1. Jan 2003
Ort: Bad Wurzach
47 Beiträge
 
Delphi 2006 Enterprise
 
#22

Re: Zwei Tabel als Baum Darstellen

  Alt 8. Mai 2006, 11:30
Zitat:
Das Testprogramm läösst sich leider nicht ausführen, da die zugehörigen Datafiles fehlen
Ups Schnelligkeit schütz nicht vor dummheit, Ich habe die Datendatei oben in das Zip mit eingefügt.

Danke für die schnelle Hilfe, werde das nach dem essen ausprobieren.
Thomas Klingler
www.setupprofis.de
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#23

Re: Zwei Tabel als Baum Darstellen

  Alt 8. Mai 2006, 12:31
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
  Mit Zitat antworten Zitat
thklingler

Registriert seit: 1. Jan 2003
Ort: Bad Wurzach
47 Beiträge
 
Delphi 2006 Enterprise
 
#24

Re: Zwei Tabel als Baum Darstellen

  Alt 8. Mai 2006, 13:55
Danke für die Hilfe jetzt geht es.
Thomas Klingler
www.setupprofis.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:14 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