Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2010, 16:58   #1
AlexSol.BY
 
Регистрация: 23.04.2010
Сообщений: 8
По умолчанию Фильтрация по дате в ADO

Имеется MaskEdit с заданной маской типа __.__.____ и база данных созданная в Acces с имеющей поле типа Дата. Подскажите как выйти из это положения. Пробывал в MaskEdit1Change:

if(MaskEdit2->Text != " . . ") ADOTable1->Filtered=true;
else
ADOTable1->Filtered=false;
ADOTable1->Filter=" Дата >='"+StrToDate(MaskEdit2->Text)+"'";

код вроде работает но фильтр останавливается после ввода 2 цифры, а при очистке всей строки выдает ошубку.
AlexSol.BY вне форума Ответить с цитированием
Старый 19.05.2010, 17:10   #2
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Лично я при использовании фильтрации выполняю шаги в следующей последовательности:
1. Filtered:=false;
2. Filter:='xxxxxxxxxxxxxxx';
3. Filtered:=true;
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 19.05.2010, 17:19   #3
AlexSol.BY
 
Регистрация: 23.04.2010
Сообщений: 8
По умолчанию

Это не причина
AlexSol.BY вне форума Ответить с цитированием
Старый 19.05.2010, 17:32   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Полный код покажи, как ты выполняешь фильтрацию данных в таблице...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 19.05.2010, 17:37   #5
AlexSol.BY
 
Регистрация: 23.04.2010
Сообщений: 8
По умолчанию

Это и есть весть код. К примеру с работой с текстовыми полями все прекраснно работает

Код:
if(Edit1->Text.Length()>0)
  ADOTable1->Filtered=true;
else
  ADOTable1->Filtered=false;
  ADOTable1->Filter=" Имя >='"+Edit1->Text+"'";
с датой проблема :-(

Проблему решил переводом поля в текс, зато потерял коррекную сортировку по дате, а что делать.....

Последний раз редактировалось Stilet; 07.12.2010 в 11:53.
AlexSol.BY вне форума Ответить с цитированием
Старый 07.12.2010, 10:32   #6
Maxvella
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 16
По умолчанию

Может быть будет в помощь...
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
s:string;
begin
if Key=#13 then
begin
Table1.Active:=true;
s:='';
if Edit1.Text<>'' then s:=s+'Fio='+#39+edit1.text+'*'+#39;
if (edit1.text<>'')and(Edit2.Text<>'')then s:=s+' and ';
if Edit2.Text<>'' then s:=S+'Address='+#39+edit2.text+'*'+#39;
if (edit3.text<>'')and((edit1.text<>'') or(Edit2.Text<>''))then s:=s+' and ';
if Edit3.Text<>'' then s:=s+'Phone='+#39+edit3.text+'*'+#39 ;
Table1.Filter:=s;
Table1.Filtered:=true;
end;
end;
на примере тел.справочника методом фильтра

Последний раз редактировалось Stilet; 07.12.2010 в 11:54. Причина: дополнение
Maxvella вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтрация и ADO Derius БД в Delphi 33 22.05.2010 15:15
фильтрация по текущей дате ahvahsky2008 БД в Delphi 5 04.05.2010 05:30
Фильтрация по текущей дате DimOn4Ik БД в Delphi 4 25.04.2010 21:48
Фильтрация Query по дате Riddick Помощь студентам 3 10.11.2008 20:35
фильтрация отображения из ADO... Roof БД в Delphi 5 19.08.2008 14:38