Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
Delphi 2006 Professional
|
Namen über mehrer Tabellen suchen/geleichzeitig anzeigen
7. Aug 2006, 10:15
Datenbank: NexusDB • Version: 2.05 • Zugriff über: Datasource / Query
Ich hab für mich ein komplexes Problem wo ich nicht so richtig weiss wie ich es lösen soll. Ich erkläre zuerst einmal meinen Aufbau:
1. Tabelle = Welle
2. Tabelle = Lager
Die zweite Tabelle enthält also "n" Einträge die zu jeweils einem Eintag in der ersten Tabelle gehören. In der Lagertabelle sind viele Parameter und eben auch der Lagername gespeichert. Abhängig davon werden eben Messungen durchgeführt
3. Tabelle = Referenzen
Irgend eine von den vielen Messungen wird als Referenzmessung gekennzeichnet, und diese wird in der Referenztabelle gespeichert. In dieser Referenztabelle soll jetzt aber nicht die Lagernummer sondern der Name der Lagerstelle nachher in meiner Software angezeigt werden. Jetzt könnte ich klar einfach den Namen in der Refernztabelle speichern. Das geht aber leider nicht, denn der Name ändert sich ab und zu ( Kundenwunsch, und der ist Befehl ). Also muss ich in der Referenztabelle mir die Nummer der Welle und des Lagers merken, und würde nun gerne darüber den Namen wieder bekommen.
Mein erste Versuch:
Die Tabelle "Lager" hat als Mastersource die Tabelle "Welle", die Tabelle "Welle" hat als Mastersource die Tabelle "Referenzen". Das funktioniert auch so weit, wenn ich einen Eintrag in der Tabelle "Referenzen" selektiere, dann wird im Grid die richtige Welle und die dazugehörigen Lagerstellen angezeigt. Was ich jetzt noch nicht habe ist, dass die Namen automatisch im Grid der Tabelle "Referenzen" stehen.
Also habe ich über den Fieldetitor der Tabelle ein weiters Feld in der Tabelle eingeführt, und dieses als Lookup ( "Nachschlagen" )Feld definiert. Dort als Schlüsselfeld die Lagernummer der Referenztabelle gewählt, als Datenmenge die Datasource die auf die Lagertabelle zeigt, als Schlüssel die Lagernummer und als Ergebnis den Lagernamen
Das klappt in soweit, dass ich für den ersten Eintrag in der Referenztabelle den richtigen Namen bekomme. Es sieht aber so aus als ob der Lookup nicht durch die Datenbank läuft, denn ich bekomme bei allen Wellen den Namen für die Lager des ersten Wellentyps
Ich hoffe ich habs verständlich erklärt. Hat jemand eine Idee wie ich es schaffe dass für alle Wellen und deren Lager in der Tabelle "Referenzen", die ja alles gleichzeitig anzeigt, die Namen der Lager zu bekommen?
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
|