![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
Doppelte Einträge in DBGrid
Hallo,
mein DBGrid beinhaltet mehrere gleiche Datensätze nach einer Suchabfrage, sowie ich eine weitere Tabelle namens Kunden.db in die Afrage mit einbeziehe. Hier ist die Welt noch in Ordnung:
SQL-Code:
Memo1.Text:='SELECT * FROM rechnungen WHERE datum BETWEEN '+''''+DateToStr(DateTimePicker1.Date)+''''+' AND '+''''+DateToStr(DateTimePicker2.Date)+''''+' ORDER BY datum';
Hier nicht mehr:
SQL-Code:
Aus Kunden lasse ich mir den jeweiligen Kundennamen anzeigen.
Memo1.Text:='SELECT * FROM rechnungen, kunden WHERE datum BETWEEN '+''''+DateToStr(DateTimePicker1.Date)+''''+' AND '+''''+DateToStr(DateTimePicker2.Date)+''''+' ORDER BY datum';
|
Re: Doppelte Einträge in DBGrid
Das ist ganz normal. Bei deiner Abfrage kriegst du bei z.B. 100 Kunden à 10 Rechnungen jeder exakt 100*10=1000 Records geliefert, nämlich jede erdenkbare Kombination. Deshalb musst Du dein Select Befehl noch durch ein Join erweitern, um alle die Rechnungen rauszufiltern, die nicht zu einem Kunden gehören.
Delphi-Quellcode:
Dabei geh ich aus, dass Du in der Rechnungen Tabelle eine Spalte "Kunde" mit einem Verweis auf den Kunden hast, mit dem eindeutigen Schlüssel ID.
Memo1.Text:='SELECT r.*, k.Name FROM rechnungen r join kunden k on r.Kunde=k.ID WHERE datum BETWEEN '+''''+DateToStr(DateTimePicker1.Date)+''''+' AND '+''''+DateToStr(DateTimePicker2.Date)+''''+' ORDER BY datum';
|
Re: Doppelte Einträge in DBGrid
OK, es klappt. Danke.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 Uhr. |
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