Filtrowanie DataSet

0

Do filtrowania DBGrida uzywam poniższego kodu:

SMDBGrid1.DataSource.DataSet.Filtered:=true;
SMDBGrid1.DataSource.DataSet.Filter:='nazwa = '+QuotedStr(Edit1.Text);

Mankamentem tego rozwiązania jest to, że działa tylko w przypadku podania całego łańcucha znaków.
Aby rozpocząć filtrowanie po wpisaniu kilku znaków próbowałem dodawać * i operator like ale filter ich nie akceptuje.
Google również niewiele mówi.

0

google mowi: http://www.delphipages.com/forum/showthread.php?t=199302
jak dla mnie to wlasnie o to Ci chodzi... ?

0

Co to znaczy nie akceptuje? jakiś komunikat błędu?
Jaka baza danych?
Jakiego typu jest DataSet?

u mnie (baza acces, TADODataSet) filtrowanie :

DataSource.DataSet.Filter='ColumnName like ''%dupa%''';

działa poprawnie, ale już

DataSource.DataSet.Filter='ColumnName like ''%dupa''';

już nie. Mam jeszcze wiele innych przypadków, gdzie filtr powinien zadziałać, ale nie działa...
Pojawia się błąd: "Argumenty są niewłaściwego typu, wykraczają poza dopuszczalny zakres lub są ze sobą w konflikcie."

Miał ktoś podobną zagwozdkę z filtrowaniem? Znając życie, ado tak już ma, i tak musi pozostać...

0

Baza SQL Server
Komponent DataSet TADO

SMDBGrid1.DataSource.DataSet.Filtered:=false;
SMDBGrid1.DataSource.DataSet.Filter:='nazwa=like''%'+Edit1.Text+'%'+'';
SMDBGrid1.DataSource.DataSet.Filtered:=true;

Próbowałem wszystkich wersji zarówno z powyższego postu jak i z linka.

Błąd:
Argumenty są niewłaściwego typu, wykraczają poza dopuszczalny zakres lub są ze sobą w konflikcie.

0
SMDBGrid1.DataSource.DataSet.Filter:='nazwa=like''%'+ Edit1.Text +'%''';
0

ten sam błąd.
Kod wywołuje poprzez procedurę Edit: Tt1.Edit1Change(Sender: TObject);

1 użytkowników online, w tym zalogowanych: 0, gości: 1