Tabellenfilter , mehrere AnsiStrings verbinden
-
Hallo,
ich habe mal eine Frage zu folgendem Code:
void __fastcall TForm5::SpeedButton2Click(TObject *Sender) { Table1->Close(); Table1->Filter =AnsiString("NAME = '") + Edit1->Text + "'"; Table1->Filtered=true; Table1->Open(); Edit14->Text=Table1->RecordCount; }
Die Tabelle wird also nachdem der Benutzer einen Namen eingegeben hat, dursucht und nur die Datensätze angezeigt bei denen der Name übereinstimmt.
Jetzt möchte ich aber das man z.B. Vor- und Nachname eingeben kann.
Also 2 Filter die man verbinden müsste.
Laut Hilfedatei sollte es mit "AND" funktionieren. Klappt aber bis jetzt nicht.Vielleicht wisst Ihr ja eine Möglichkeit.
Danke
-
"Klappt nicht" ist keine ausreichende Problembeschreibung.
Wo ist dein (nichtfunktionierender) Code?
-
Hi,
ich weiß schon das es nicht besonders verständlich war, aber man will sich ja nicht blamieren.
Also hier der nicht funzende Code:
[/code]
{
Table1->Close();
Table1->Filter =AnsiString("NAME = '") + Edit1->Text + "'" AND
AnsiString("Vorname= '") +Edit2->Text+ "'";
Table1->Filtered=true;
Table1->Open();
Edit14->Text=Table1->RecordCount;
}
[/code]Als Fehlermeldung kommt:
[C++ Error] Unit5.cpp(135): E2379 Statement missing
-
Das AND gehört in den Filterstring.
Table1->Filter = "Name = '" + Edit1->Text + "' AND Vorname = '" + Edit2->Text + "'";
Bei deiner Fehlermeldung hast du übrigens ein kleines, aber wichtiges Detail übersehen, nämlich welches Statement vemisst wird: das Semikolon.
-
Hi,
ähm ja, jetzt funktioniert das wohl. Irgendwie peinlich. Aber man lernts ja noch
Vielen Dank für die schnelle Hilfe !