Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBLookupComboBox mit Werten verschiedener Tabellen speisen?? (https://www.delphipraxis.net/64429-dblookupcombobox-mit-werten-verschiedener-tabellen-speisen.html)

Archer 3. Mär 2006 14:12

Datenbank: Access • Zugriff über: ADO

DBLookupComboBox mit Werten verschiedener Tabellen speisen??
 
Ich habe leider folgendes Problem:

Ich habe drei Access-Tabellen: XAchse, YAchse und Projekte
alle liegen in einer Datenbank: test.mdb
XAchse, YAchse haben beide folgende Spalte(unter anderem): Achsname

Nun meine Frage:

Gibt es einen Weg, in einer DBlookupcombobox die Einträge der Records in der Spalte
'Achsname' beider Tabellen (XAchse, YAchse) zusammen darzustellen?

Sinn:

Ich möchte auf einer Form die zum Projekt gehörigen Achsen angeben, wobei es möglich sein soll
alle bestehenden Achsnamen (die aus XAchse, und die aus YAchse) in der DBLookupcombobox auszuwählen.


Ansatz: mit ADODataset unter Command Text ??? (im Stile von Select Achsname from Xachse und Yachse)
Wie lautet dafür die SQL-Syntax????

Vielen Dank für schnelle Hilfe!!!!!
Gruß, Archer

mkinzler 3. Mär 2006 14:28

Re: DBLookupComboBox mit Werten verschiedener Tabellen speis
 
das müßte mit UNION gehen:

SQL-Code:
select Achsname from Xachse union select Achsname from Yachse;
[edit]Tippfehler korrigiert select statt delect[/edit]

marabu 3. Mär 2006 14:32

Re: DBLookupComboBox mit Werten verschiedener Tabellen speis
 
Hallo Jochen,

warum hast du zwei Tabellen (XAchse, YAchse), wenn du sie über einen Fremdschlüssel referenzierst? Wenn die Tabellen zu einer Gen-Spec-Beziehung gehören, dann referenzierst du die falsche Tabelle. Da scheint ein Wurm in deinem Datenmodell zu sein. Oder du hast wichtige Informationen unterschlagen.

Freundliche Grüße vom marabu

Archer 3. Mär 2006 14:43

Re: DBLookupComboBox mit Werten verschiedener Tabellen speis
 
Danke MKinzler!

Das wars!

Delphi-Quellcode:
select Achsname from Xachse union select Achsname from Yachse;
funktioniert. :thumb:

jetzt muss ich lediglich noch das Problemchen mit doppelten Achsnamen lösen :wink:

Gruß, und schönes WE!
Archer

joachimd 3. Mär 2006 16:15

Re: DBLookupComboBox mit Werten verschiedener Tabellen speis
 
Zitat:

Zitat von Archer
Danke MKinzler!
jetzt muss ich lediglich noch das Problemchen mit doppelten Achsnamen lösen :wink:

UNION ALL ist Dein Freund.
SQL-Code:
select Achsname from Xachse UNION ALL select Achsname from Yachse;

Archer 4. Mär 2006 16:41

Re: DBLookupComboBox mit Werten verschiedener Tabellen speis
 
Danke Joachimd!!!

SQL-Code:
select Achsname from Xachse UNION ALL select Achsname from Yachse;
liefert mir tatsächlich wie gewünscht die Achsnamen beider Tabellen in der
Liste der DBLookupcombobox.

Leider ergibt sich daraus gleich wieder ein neues Problem:

Existiert tatsächlich eine Achse mit gleichem Namen in beiden Tabellen, so werden
in der Liste beim Klick darauf auch beide markiert, bzw. ausgewählt.
Wie kann man das unterbinden?? :gruebel:

Nach der Auswahl möchte ich nämlich abfragen aus welcher Tabelle der Achsname stammt.


Gruß, Archer!


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 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