Hallo schniede,
Du solltest zuerst den Titel von SelectRange in
SetRange ändern,
da es
IMHO kein SelectRange für Tabellen gibt und nur zu Verwirrungen führt.
Ich habe eigentlich nur den Code der
OH genommen, damit funkt es nun mit einer Datumsauswahl.
BEACHTE:
Wenn Du mit SetRange arbeiten willst, muß gewährleistet sein, dass das Feld mit dem Du arbeitest
einen Index hat. Diesen kannst Du z.B. mit der Datenbankoberfläche einstellen (Tabelle/Umstrukturieren)
Ich habe also für unteres Bsp. einen Sekundärindex "byLastInvoiceDate" für das Feld LastInvoiceDate angelegt.
Delphi-Quellcode:
PROCEDURE TForm1.Button1Click(Sender: TObject);
BEGIN
Table1.Active := False;
Table1.DatabaseName := 'DBDemos';
Table1.TableName := 'Customer.db';
Table1.Active := True;
Table1.IndexName := 'byLastInvoiceDate';
IF Button1.Caption = '&Bereich übernehmen' THEN
BEGIN
Table1.SetRange([Edit1.Text], [Edit2.Text]); // z.B. Edit1: 17.11.1994 14:10:33 Edit2: 17.11.1995 14:10:33
Button1.Caption := 'Bereich &verwerfen'; // liefert alle Datensätze zwischen beiden Datums
END
ELSE
BEGIN
Table1.CancelRange;
Table1.Refresh;
Button1.Caption := '&Bereich übernehmen';
END;
END;
BTW: Wenn Du nicht absolut auf SetRange bestehst, solltest Du einmal nach
filter tabelle suchen und nachlesen.