Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi INNER JOIN mit Access (https://www.delphipraxis.net/163494-inner-join-mit-access.html)

DeddyH 4. Okt 2011 07:28

AW: INNER JOIN mit Access
 
SQL-Code:
SELECT
  Tabelle1, Tabelle2, Tabelle3
...
Du willst ja wohl Felder abfragen und keine Tabellen, oder?

[edit] Wie ist es denn mit der "alten" Syntax, geht das?
SQL-Code:
SELECT
  * 
FROM
  Prüfling, Abteilung, Standort
WHERE
  Prüfling.AbteilungID = Abteilung.AbteilungID
AND
  Prüfling.StandortID = Standort.StandortID
[/edit]

Kevin11 4. Okt 2011 07:31

AW: INNER JOIN mit Access
 
Zitat:

Zitat von DeddyH (Beitrag 1128219)
SQL-Code:
SELECT
  Tabelle1, Tabelle2, Tabelle3
...
Du willst ja wohl Felder abfragen und keine Tabellen, oder?

Ja, will ich! Das ganze Accesszeug macht mich jetzt schon wieder ganz kirre.

Ich möchte von allen 3 Tabellen alle Spalten Abfragen.

Delphi-Quellcode:
Form2.ADOQuery1.SQL.Add('SELECT Prüfling.*, Abteilung.*, Standort.* FROM (Prüfling INNER JOIN Abteilung ON Prüfling.AbteilungID = Abteilung.AbteilungID)INNER JOIN Standort ON Prüfling.StandortID = Standort.StandortID');
Ist das so richtig?

Delphi-Quellcode:
Form2.ADOQuery1.SQL.Add('SELECT * FROM (Prüfling INNER JOIN Abteilung ON Prüfling.AbteilungID = Abteilung.AbteilungID)INNER JOIN Standort ON Prüfling.StandortID = Standort.StandortID');
Oder doch lieber so?

DeddyH 4. Okt 2011 07:33

AW: INNER JOIN mit Access
 
Hast Du mein Edit gesehen und ausprobiert? Bei einem INNER JOIN sollte das eigentlich unproblematisch sein.

Kevin11 4. Okt 2011 07:39

AW: INNER JOIN mit Access
 
Jop, alles ausprobiert. Der Fehler kommt immernoch, ich tippe so langsam darauf, dass es an der Open funktion liegt. Weil ich in der Delphi Hilfe kein Open gefunden habe für die tadoquery Komponente.

DeddyH 4. Okt 2011 07:46

AW: INNER JOIN mit Access
 
Open gibt es aber, da musst Du Dir keinen Kopf machen. Was mich etwas stört, sind die Umlaute bei "Prüfling". Ich weiß nicht, ob das nicht evtl. Probleme verursachen könnte.

Gollum 4. Okt 2011 07:50

AW: INNER JOIN mit Access
 
Hallo,

wenn Du die Abfrag benutzt, die Du gepostet hast, dann fehlt dort ein Leerzeichen vor dem 2. INNER JOIN.

Am Open liegt es sicher nicht.

Um alle Felder aus allen Tabellen anzuzeigen musst du diesen Teile nehmen:
Delphi-Quellcode:
ADOQuery1.Close();
ADOQuery.SQL.Text:=
  'SELECT Prüfling.*, Abteilung.*, Standort.* FROM (Prüfling INNER JOIN Abteilung ON Prüfling.AbteilungID = Abteilung.AbteilungID) INNER JOIN Standort ON Prüfling.StandortID = Standort.StandortID';
ADOQuery.Open();
Access ist die einzige DB, die ich kenne, bei der die JOIN-Parameter geklammert werden müssen. Die Klammerung beim o.g. Beispiel stimmt soweit.

Umlaute sind in Access auch kein Problem. Sowohl in Tabellen- wie auch in Feldnamen.

mkinzler 4. Okt 2011 11:19

AW: INNER JOIN mit Access
 
Zitat:

Umlaute sind in Access auch kein Problem. Sowohl in Tabellen- wie auch in Feldnamen.
Für die meisten DBMS aber, deshalb würde ich darauf verzichten


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 Uhr.
Seite 3 von 3     123   

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