![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Adotable.filter [D6, D7]
Dest81 © (2006-04-07 14:43:00)Есть база *.mdb! Пробую фильтровать по текстовому полю - фильтрует если только есть полное совпадение! Как фильтровать без учета регистра и по первичному совпадению (типа 'Коз*')???
sniknik (2006-04-07 17:42:00) [1]> Cпасибо! Пошло!
но это неправильно!!! ;)
это написано, чтобы показать абсурдность TADOTable, поменяй его на TADODataSet с тем же кодом, и все станет на свои места. (и ни приведения ни обьявления дополнительных классов станут не нужны)
Dest81 (2006-04-07 17:31:00) [2]Cпасибо! Пошло!
sniknik (2006-04-07 17:13:00) [3]в принципе можно не обьявлять... просто приведение делать например к TADODataSet, будет одно и тоже.
sniknik (2006-04-07 17:11:00) [4]где у тебя форма на которой кнопка лежит? вот там
type
TMyADOTable = class(TADOTable);
TForm1 = class(TForm)
Button1: TButton;
....
procedure Button1Click(Sender: TObject);
....
end;
Dest81 (2006-04-07 16:31:00) [5]У меня чето неидет можно пример для adotable1 и где именно обявлять класс
sniknik (2006-04-07 16:10:00) [6]> А для Adotable
думаеш он чтото значит? Adotable это "обманка для идиотов" специальный генератор глюков, а на самом деле, внутри под шелухой, это "белый и пушистый" ADODataSet. (поэтому это и для него тоже)
код для проверки
type
TMyADOTable = class(TADOTable); //для доступа к "закрытым" методам, обьявить в том же модуле, перед/после TForm1
procedure TForm1.Button1Click(Sender: TObject);
begin
with TMyADOTable(ADOTable) do begin
CommandType:= cmdText;
CommandText:= 'SELECT * FROM '+TableName+' WHERE Name LIKE ''Коз%''';
Open;
end;
end;
и если вернет все из таблицы, а не только то что в условии, то я балерина...
Dest81 (2006-04-07 15:49:00) [7]А для Adotable
Соловьев (2006-04-07 15:24:00) [8]SELECT Таблица1.Name
FROM Таблица1
WHERE UCase(Name) like '*М*'
Desdechado (2006-04-07 15:14:00) [9]UPPER(fld) LIKE 'КОЗ%'