Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Eine einfache Abfrage erstellen. Wie? (https://www.delphipraxis.net/62468-eine-einfache-abfrage-erstellen-wie.html)

mlspider 5. Feb 2006 10:31

Datenbank: Paradox • Version: 7 • Zugriff über: BDE

Eine einfache Abfrage erstellen. Wie?
 
Hallo,

wie der Titel schon vermuten lässt, handelt es sich bei mir um ein absoluten "Datenbank-Neuling".

Ich habe mir eine kleine Rechnungsmaske erstellt, die an vier Tabellen gebunden ist (Artikel, Kunden, Rechnungen und Rechnungsdaten). Dem einen oder anderen dürfte dieses Beispiel recht bekannt vorkommen. Ich habe es 1:1 aus dem Buch "Kochbuch Borland Delphi 5", aus dem Hanser-Verlag, übernommen. In der Sparte SQL sind ein paar nette Anweisungen zu finden. Leider kein konkretes Beispiel für eine Delphi-Anwendung.

Nun meine Frage: Kann mir jemand irgendwie darlegen, wie man eine "einfache" Abfrage (z.b. Rechnungen nach Kundenname anzeigen lassen) realisiert.

Bin für jede Hilfe dankbar.

mkinzler 5. Feb 2006 11:09

Re: Eine einfache Abfrage erstellen. Wie?
 
Ich habe das genannte Buch nicht, versuche aber mal nach deinem Angaben die Datenbankstruktur zu erkennen.
Annahme 4 Tabellen(Artikel, Kunden, Rechnungen und Rechnungsdaten).

Alle Rechnungen pro Kunde:
SQL-Code:
select
    * 
from
    Rechnungen.db r, Kunden.db k
where
    r.Kunde = k.id
group by
    k.id
Edit: sql-tags eingefügt

mlspider 5. Feb 2006 11:22

Re: Eine einfache Abfrage erstellen. Wie?
 
Eine sehr simple Abfrage ist mir soeben gelungen. Das Eingrenzen von Rechnungszeitraum. Es wurden mir mit Hilfe von:

SQL-Code:
SELECT * FROM rechnungen WHERE datum BETWEEN '01.02.2006' AND '18.02.2006'
alle Rechnungen innerhalb dieses Zeitraums angezeigt. Leider befinden sich die Kundennamen in der Tabelle Kunden.db. Wie könnte man jetzt diese Abfrage erweitern, so dass vielmehr auch der jeweilige Kunde angezeigt wird?

mkinzler 5. Feb 2006 11:28

Re: Eine einfache Abfrage erstellen. Wie?
 
Durch einen Join, siehe mein Beispiel oben.

Wenn du mir die DDL-Skripte der Tabellen postet, kann ich die richtigen Spaltennamen nehmen.

mlspider 5. Feb 2006 11:34

Re: Eine einfache Abfrage erstellen. Wie?
 
Sorry für diese nun folgende dämliche Frage. Welche Dateien oder was genau soll ich denn posten (DDL-Skripte der Tabellen)?

mkinzler 5. Feb 2006 11:36

Re: Eine einfache Abfrage erstellen. Wie?
 
DDl = Data Definition Language

Sql-Skripte zur Erzeugunger der Datenbank ( Create table ...) oder eine Übersicht der Tabellen mit Feldern

mlspider 5. Feb 2006 11:47

Re: Eine einfache Abfrage erstellen. Wie?
 
Globaler Alias: BOffice.

Artikel.db:
1. Nr (Zähler, Indiziert)
2. Artikelname (Alpha)
3. Einkaufspreis (Währung)
4. Verkaufspreis (Währung)
5. Bestand (ShortInteger)
6. MwSt (Short Integer)

Kunden.db:

1. Kundennr (Zähler)
2. Name (Alpha)
usw.

Rechnungen.de

1. Nr. (Zähler)
2. Datum (Datum)
usw.

Sollte erstmal reichen. Ich hoffe Du kannst damit was anfangen.

mkinzler 5. Feb 2006 11:58

Re: Eine einfache Abfrage erstellen. Wie?
 
In der Rechnungen.db sollte noch eine Verweis auf die Kunden stehen z.b. KundenNr

mlspider 5. Feb 2006 12:02

Re: Eine einfache Abfrage erstellen. Wie?
 
Dieses Feld ist vorhanden. KundenNr (Long Integer)

mkinzler 5. Feb 2006 12:06

Re: Eine einfache Abfrage erstellen. Wie?
 
SQL-Code:
select
    k.Name, r.Nr, r.Datum
from
    Rechnungen r, Kunden k
where
    r.KundenNr = k.Nr
group by
    k.Nr


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 Uhr.
Seite 1 von 2  1 2      

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