Feldinhalt aus Datenbank holen?

Hallo,

in meine Adressdatenbank (mit Delphi 5.0 und einer Paradox-Tabelle erstellt) gebe ich immer wieder die gleichen Postleitzahlen mit den dazugehörigen Orten ein, weil mein ganzer Bekanntenkreis schließlich aus der gleichen Gegend stammt. Da liegt es doch auf der Hand, daß sich mein Programm nach Eingabe der Postleitzahl den Ort selber aus der Datenbank holt, falls er dort schon einmal eingetragen wurde.

Ich bin leider kein Programmierprofi und schaffe das einfach nicht. Auch mit einer SQL-Abfrage habe ich es schon versucht. Leider ohne Erfolg.

Kann mir jemand den entscheidenden Tipp geben?

Gruß Ebi

Hi,

in SQL könnte die Abfrage etwa so aussehen:

„SELECT tblAdressen.Ort WHERE tblAdressen.PLZ = 12345;“

Bin mir nicht ganz sicher, ob du SQL-Abfragen in dieser Form an lokale Paradox-Tabellen schicken kannst - bei anderen Datenbank-Systemen wie z.B. MySQL kannst du auch noch die Anzahl der Ergebnisszeilen begrenzen:

„SELECT tblAdressen.Ort WHERE tblAdressen.PLZ = 12345 LIMIT 1“

Somit hättest du nur eine Zeile, auch wenn das Ergebnis aus mehreren Daten besteht.

Eine andere Möglichkeit wäre, eine Funktion zu schreiben. Dieser Funktion gibst du als Parameter die Postleitzahl und die Funktion sucht sich aus der Tabelle den Ort (mit einer Schleife) und liefert als Rückgabewert den Ort.

Falls du noch Fragen hast, mail einfach…

Gruss
Akin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Akin,

vielen Dank für Deine prompte Antwort.

Mit der SQL-Abfrage habe ich es so wie Du schreibst auch schon probiert. Das ist wohl nicht das Problem. Aber wie bekomme ich das Ergebnis in mein Edit-Feld? Ich versuche zum Beispiel:
BDEditOrt.Text := SQLSucheOrt.AsString;
Ich habe auch schon probiert:
TblAdressenOrt.AsString := SQLSuchOrt.AsString;

Aber das scheint alles nicht zu funktionieren.

Hast Du mir da auch noch einen Tipp?

Gruß Ebi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

BDEditOrt.Text := SQLSucheOrt.AsString;

BDEditOrt.Text := SQLSucheOrt.FieldByName(‚Ort‘).AsString;

TblAdressenOrt.AsString := SQLSuchOrt.AsString;

TblAdressenOrt.FieldByName(‚Ort‘).AsString := SQLSuchOrt.FieldByName(‚Ort‘).AsString;

Gruss, Niels

1 Like

Danke,

jetzt hat es funktioniert.

Gruß Ebi