Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Tabellen verknüpfen (https://www.delphipraxis.net/95896-tabellen-verknuepfen.html)

sventeq 15. Jul 2007 14:29

Datenbank: Access • Version: 2003 • Zugriff über: ADO

Tabellen verknüpfen
 
Hallo,
ich bin neu in der Delphiwelt und befasse mich grad mit Datenbanken. Die Verbindung läuft über ADO-Komponenten. Ich hab eine ADOConnection, eine DataSource und eine ADOTable. In meiner Access-Datenbank habe ich zwei Tabellen, nameTel, in ihr sind Name, Vorname, TelNr und plz vorhanden und plz, in ihr gibt es nur eine ID und die eigentliche plz. Die Spalte plz in nameTel enthält nur eine Ziffer, die der ID in der Tabelle plz entspricht. Ich will die beiden Tabellen verknüpft und in einem Grid dargestellt haben, so dass man alle Felder der Tabelle nameTel sieht und die eigentliche PLZ aus der Tabelle plz.

Kann mir da jemand helfen?

mkinzler 15. Jul 2007 14:33

Re: Tabellen verknüpfen
 
Nennt man Join

SQL-Code:
select
    n.Name, n.Vorname, n.TelNr,
    p.plz, p.ort
from
    nameTel n join plz p on.p.id = n.plz;

sventeq 16. Jul 2007 14:15

Re: Tabellen verknüpfen
 
Danke für deine Antwort, aber leider hast du meine Frage missverstanden. Die SQL-Anweisung ist nicht mein Problem, sondern mit welcher Kommponente ich zwei Tabellen verknüpfen kann und wo man da die SQL-Anweisung reinschreibt. Ich es mit einem DataSet probiert und dort auch eine SQL-Anweisung eingetragen, aber das Grid zeigt nur die nameTel-Tabelle an.

mkinzler 16. Jul 2007 14:23

Re: Tabellen verknüpfen
 
z.B. TADOQuery

sventeq 16. Jul 2007 17:19

Re: Tabellen verknüpfen
 
Danke, habe ich gemacht. Allerdings bekomme ich eine Fehlermeldung: "Syntaxfehler in FROM-Klausel", wenn ich deine SQL-Anweisung benutzen will.

select n.Name, n.Vorname, n.Tel, p.plz from nameTel n join plz p on p.id = n.plz

grenzgaenger 16. Jul 2007 17:30

Re: Tabellen verknüpfen
 
propier es mal so:

SQL-Code:
select n.Name, n.Vorname, n.Tel, p.plz from nameTel n, plz p where p.id = n.plz

DeddyH 16. Jul 2007 18:06

Re: Tabellen verknüpfen
 
Ich kenn mich mit Access nicht aus, aber da gibt es doch AFAIK so eine verrückte "Klammer-Syntax". Ansonsten sind IMO beide Statements korrekt.

sventeq 18. Jul 2007 17:33

Re: Tabellen verknüpfen
 
Danke, für eure Antworten. Schön zu wissen, dass man hier geholfen wird :wink:

Die Variante mit den Join wollte er absolut nicht, aber ein LEFT JOIN hat er akzeptiert.

SELECT n.Name, n.Vorname, n.Tel, p.plzNr FROM nameTel as n
LEFT JOIN plz as p ON n.plz=p.ID

nochmals Danke


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