Home » Tipps & Tricks » Datenbanken » TTable » In einer Datenbank weitersuchen

In einer Datenbank weitersuchen

Folgende Prozedur öffnet eine Tabelle und sucht mit FindFirst und FindNext. Zum Vergleich werden die Werte mittels AnsiLowerCase in Kleinbuchstaben umgewandelt.

procedure DatabaseSearch(DatabaseFilename, TablePart, SearchString: string);
var
  DataSource: TDataSource;
  DSTable: TTable;
begin
  DataSource := TDataSource.Create(Form1);
  DSTable := TTable.Create(Form1);
  try
    DataSource.DataSet := DSTable;
    DSTable.TableName := DatabaseFilename;
    DSTable.Active := true;
    if DSTable.FindFirst then begin
      repeat
        if AnsiLowerCase(DSTable.FieldByName(TablePart).AsString) =
          AnsiLowerCase(SearchString) then begin
          // Hier kann man nun auf die Daten der einzelnen Einträge zugreifen
          // über z. B. DSTable.FieldByName('ID').AsInteger usw.
        end;
      until DSTable.FindNext = false;
    end;
  finally
    DataSource.free;
    DSTable.free;
  end;
end;