Tabelle--> Locate ??? Nur einen Datensatz finden
-
Ich habe da mal eine ganz doofe Frage, ich komme gerade überhaupt nicht weiter. Ich möchte gerne eine Abfrage in ein Programm einbauen. Es soll überprüft werden wenn ich z.B. "Tho" eingebe ob ein Datensatz mit 'Tho' anfängt. Soweitso gut das habe ich hinbekommen. So nun soll er aber weiter suchen ob es noch mehrere Datensätze gibt die mit 'Tho' anfangen. 1. 'Thorsten' der zweite soll dann 2. 'Thomas' sein.
Locate sucht aber immer nur den ersten Datensatz heraus der mit Tho anfängt und gibt den dann immer wieder aus falls ich es noch einmal probieren sollte.
Wenn mir einer eine Hilfestellung geben könnte wäre ich ihm oder ihr sehr Dankbar...
TLocateOptions SearchOptions;
SearchOptions.Clear();
SearchOptions << loPartialKey, loCaseInsensitive;
bool LocateSuccess = TPDaten->Locate("Nr.", "1",
SearchOptions);if ((Edi_EName->Text != "")||(LocateSuccess == true))
{
LocateSuccess = TPDaten->Locate("VNName", Edi_SName->Text,SearchOptions);
if(LocateSuccess == true)
{
LB_SAusgabe->Items->Add(TPDaten->FindField("VNName")->AsString);
}
MFG Denfius
-
Hallo
eventuell hilft es ja, wenn du nach einer bereits erfolgten Locate-Suche vor dem nächsten Locate erstmal ein Next() machst. Allerdings ist die Beschreibung von Locate() nicht optimistisch.
Ansonsten eben eine extra Abfrage durchführen und anhand von Unique Index auswählen.
bis bald
akari
-
Hallo
besser ist wenn du mit TQuery arbeitest
(SELECT * FROM xxx WHERE yyy LIKE 'Tho%')Mfg
Klaus