Einzelnen Beitrag anzeigen

Jetro223

Registriert seit: 20. Dez 2003
24 Beiträge
 
#1

QReport aus mehreren Tabellen aufbauen? SQL Join?

  Alt 28. Dez 2003, 13:58
Hallo, da mir hier immer so genial geholfen wird und sich bisher keiner über meine Fragerei beschwert...*hüstel*:


Also ich hab immer noch meine Paradox 7 Datenbank (Zugriff via TQuery und SQL). Die ist inzwischen auf 2 Tabellen "gewachsen".

Code:
Tabelle 1:
Artikelnummer
.
.
.
LNR
und

Code:
Tabelle 2:
LNR
Name
Ich erstelle jetzt einen QuickReport, in dem ich einige Daten aus Tabelle 1 ausdrucken möchte.

Code:
QuickReport:

Artikelnummer . . . LNR
Nun soll aber in den Report noch der zur Spalte "LNR" gehörende "Name" aus Tabelle 2.

Also:

Code:
Artikelnummer(Tabelle1) . . . Name(Tabelle2) . . .LNR(Tabelle1)
So rufe ich den QuickReport auf:

Delphi-Quellcode:
procedure TFArtikel.BVorschauClick(Sender: TObject);
var
  slSQL : TStrings;
  sMessage : string;
begin
  //Artikelnummer
  If RadioButtonArtNr.Checked Then
    If (Length(EDArtNrVon.Text) = 5) AND (Length(EDArtNrBis.Text) = 5) Then
      Begin
        slSQL := DB.SQL;
        DB.SQL.Clear;
        DB.SQL.Add('SELECT * FROM "c:\artikel.db" WHERE ArtNr BETWEEN ' + EDArtNrVon.Text + ' AND ' + EDArtNrBis.Text + ' ORDER BY ArtNr');
        DB.Open;
        FQRArtNr.QuickRep1.Preview;
        DB.SQL := slSQL;
        DB.Open;
    End;
end;
Das Dataset vom Quickreport, der sich auf einer anderen Form befindet steht auf dem Query von der ersten Form (wo ich noch ein DBGrid hab' und die ganze Bearbeitung der Daten passiert).

Frage: Wie bekomm ich es so hin, das er automatisch zur Spalte "LNR" aus Tabelle 1 im Quickreport den Wert von "Name" aus Tabelle 2 holt?

Ich dachte irgendwie mit einem SQL-Join (was ich nebenbei gesagt noch nie gemacht hab' ), so von wegen

SQL-Code:
SELECT Name
FROM artikel, tabelle2
WHERE tabelle2.lnr = QRDBText.Caption
... könnte es so funktionieren? Und wenn ja, WANN muss ich das aufrufen )

Ich freue mich schon auf eure Antworten

Edit: Oder geht das irgendwie über so ein Lookup Field?
  Mit Zitat antworten Zitat