Delphi suche einer Zeile im dbgrid1Datenbank

Servus,

ich hab mit Access eine Datenbank programmiert. Jetzt will ich nach einem Datensatz wiefolgt suchen:

Ich schreibe in ein Edit z.b. den Buchstaben ‚s‘. Nun sollen alle Datenbankeinträge, die nicht mit ‚s‘ beginnen herausfallen. Sprich, die Datensäte sollen im DBGrid nicht gelöscht sondern versteckt werden.

procedure TForm4.txtSuchenKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i, laenge, buffer : Integer;
test, split_text : string;
begin
//showmessage(AnsiLowerCase(txtSuchen.Text));
DataSource1.DataSet.First;
while not DataSource1.DataSet.Eof do
begin
if txtSuchen.Text ‚‘ then
begin
for i := 1 to DataSource1.DataSet.FieldByName(‚sorte‘).Index do
begin
laenge := length(txtSuchen.Text);
test := copy(datasource1.DataSet.FieldByName(‚sorte‘).AsString, 1,laenge);
split_text := copy(txtSuchen.Text, i, laenge);
//showmessage(test + split_text);
if AnsiLowerCase(test) split_text then
begin
//showmessage(‚Nö‘);
//HIER MÜSSTE DANN
DIE VISIBLE EIGENSCHAFT HIN
DataSource1.DataSet.Next;
end
else
begin
//showmessage(‚Find‘);
datasource1.DataSet.Next;
end;
end;
end;
end;
end;

Liebe Grüße und danke im voraus

Hallo,

für diese Aufgabe nimmt man SQL:

Select from where sort like „S%“

Anstelle von „S“ musst Du dann halt Edit1.Text einfügen. Das % bedeutet, dass nach dem Buchstaben/Wortteil beliebiger Text kommen darf.

Grüße

Danke schonmal für Deine Antwort :smile:

Ich kenn mich etwas mit SQL aus. Jedoch hab ich ja die Datenbank mit microsoft Access erstellt. Ich war der Meinung, dass die dann mit SQL nicht funktionieren wird. Falls ich falsch liege, könntest Du mir bitte kurz erläutern, was ich nun genau machen muss? Ich habe bereits : ADOCOnnection—> mit Access connected, ADOTable–> mit ADOConnection connected und Datasource mit Table connected.

LG
Ben

Hi,

Access kann schon SQL, ist aber dennoch eine Filebasierte DB, also kein SQL Server, aber das ist wieder ein anderes Thema.

Nimm anstelle der ADOTAbel einfach eine ADOQuery und gut ist…

Und dann mit visible arbeiten?

Ich versuche es mal.

Danke :smile:

Jetzt kann ich ADOQuery nicht aktivieren :frowning:

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.

hmm… da sollte ich mal nen Blick auf die Sourcen habe. Habe dir ne Email geschickt…