Entwickler-Ecke

Datenbanken - lookup feld per Sql Ansprechen


der Berliner - Mo 21.07.08 12:12
Titel: lookup feld per Sql Ansprechen
Hallo zusammen

Ich habe eine Tabelle "T_Material" und
eine Tabelle "T_Firmen"

In der Table Komponente habe ich ein Lookupfield eingebaut das mir über die ID den Firmennamen in die Tabelle packt.

Wie kann ich nun per Sql auf diese Lookup Feld,das ja nur in der Table Komponente Vorhanden ist zugreifen ?

Wenn mann das nach Hergebrachter Weise tut:

Delphi-Quelltext
1:
'SELECT * FROM T_Material WHERE Firma = "BlaBla"'//Wobei Firma das Lookup Feld ist                    

kommt der Fehler:

Zitat:
Feld Firma nicht vorhanden.


Was ja auch Stimmt.
Gibt es trotzdem eine Möglichkeit auf solche Lookup Felder zuzugreifen ?

Ich hoffe das war verständlich genug.
gruß
Andre


ZeitGeist87 - Mo 21.07.08 12:19
Titel: Re: lookup feld per Sql Ansprechen
user profile iconder Berliner hat folgendes geschrieben:
Hallo zusammen

Ich habe eine Tabelle "T_Material" und
eine Tabelle "T_Firmen"

In der Table Komponente habe ich ein Lookupfield eingebaut das mir über die ID den Firmennamen in die Tabelle packt.

Wie kann ich nun per Sql auf diese Lookup Feld,das ja nur in der Table Komponente Vorhanden ist zugreifen ?

Wenn mann das nach Hergebrachter Weise tut:

Delphi-Quelltext
1:
'SELECT * FROM T_Material WHERE Firma = "BlaBla"'//Wobei Firma das Lookup Feld ist                    

kommt der Fehler:

Zitat:
Feld Firma nicht vorhanden.


Was ja auch Stimmt.
Gibt es trotzdem eine Möglichkeit auf solche Lookup Felder zuzugreifen ?

Ich hoffe das war verständlich genug.
gruß
Andre


Hallo,

Hier wäre ein Join sinnvoll

Wichtig: ID-Feld muss in beiden Tabellen vorhanden sein und einen eindeutigen Bezug zueinander haben.

SQL-Anweisung
1:
SELECT * FROM T_Material, T_Firma WHERE T_Material.ID = T_Firma.ID and T_Firma.Firma = "BlaBla";                    


Wobei du jetzt aufpassen musst, denn mit Select * bekommst du somit den Inhalt beider Tabellen angezeigt.

LG
Stefan


der Berliner - Mo 21.07.08 17:24

Ok, Danke das Hat Geholfen.
ich habs jetzt so:


Delphi-Quelltext
1:
2:
3:
4:
SqlSuchText := 'SELECT * 
                FROM T_Material,T_Firmen 
                WHERE (T_Material.ID_Firma = T_Firmen.ID) 
                AND (UPPER(T_Firmen.Firma) LIKE UPPER("'
+SuchFirma+'%"))';



mfg
Andre