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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2014, 11:32   #1
elrin
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 18
По умолчанию Исходный вид таблицы после фмльтрации

Уважаемые форумчане!
Есть такой код:
Код:
procedure TfMain.btn2Click(Sender: TObject);
begin
  fDM.qryLANDINDIVIDUAL.Filter := 'fname= ' + QuotedStr(edt2.Text);
  fDM.qryLANDINDIVIDUAL.Filtered := True;
end;
procedure TfMain.btn3Click(Sender: TObject);
begin
  fDM.qryLANDINDIVIDUAL.SQL.Clear;
  fDM.qryLANDINDIVIDUAL.SQL.Add('SELECT * FROM LANDINDIVIDUAL');
  fDM.qryLANDINDIVIDUAL.Active:=True;
end;
нужно, чтоб btn3 вернула исходный вид таблицы со всеми записями. Понимаю, что нужно обратится к DBGrid1, которий отвечает за отображение запесей. Имя главной формы fMain. Подскажите, пожалуйста, где чего подправить!???
Спасибо!

Последний раз редактировалось Stilet; 14.11.2014 в 11:40.
elrin вне форума Ответить с цитированием
Старый 14.11.2014, 11:49   #2
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Так должен вернуть если в edt2.Text будет пуста , то есть , вначале удалите текст в edt2
Код:
procedure TfMain.btn3Click(Sender: TObject);
begin
   with fDM.qryLANDINDIVIDUAL do
   begin
	   close;
	   SQL.Clear;
	   SQL.Add('SELECT * FROM LANDINDIVIDUAL');
	   open;
  end;
end;
А если напишешь у edt2 из события OnChange так с LIKE
Код:
    if (edt2.Text <> '') then
     begin
       fDM.qryLANDINDIVIDUAL.Filter := '(fname LIKE ''' + Trim(edt2.Text) + '%'')';
       fDM.qryLANDINDIVIDUAL.Filtered := True;
       end
    else
    fDM.qryLANDINDIVIDUAL.Filtered := False;
   end
Тогда при удаление из edt2. автоматически отображается все записи ....

Последний раз редактировалось xxbesoxx; 14.11.2014 в 11:57.
xxbesoxx вне форума Ответить с цитированием
Старый 14.11.2014, 11:51   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Вообще-то
Код:
fDM.qryLANDINDIVIDUAL.Filtered := False;
phomm вне форума Ответить с цитированием
Старый 14.11.2014, 12:05   #4
elrin
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 18
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Вообще-то
Код:
fDM.qryLANDINDIVIDUAL.Filtered := False;
тогда запрос на фильтр не срабатывает
elrin вне форума Ответить с цитированием
Старый 14.11.2014, 12:08   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
нужно, чтоб btn3 вернула исходный вид таблицы со всеми записями
Цитата:
тогда запрос на фильтр не срабатывает
Так исходный вид или с фильтром?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.11.2014, 12:10   #6
elrin
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 18
По умолчанию

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
Так должен вернуть если в edt2.Text будет пуста , то есть , вначале удалите текст в edt2
Код:
procedure TfMain.btn3Click(Sender: TObject);
begin
   with fDM.qryLANDINDIVIDUAL do
   begin
	   close;
	   SQL.Clear;
	   SQL.Add('SELECT * FROM LANDINDIVIDUAL');
	   open;
  end;
end;
А если напишешь у edt2 из события OnChange так с LIKE
Код:
    if (edt2.Text <> '') then
     begin
       fDM.qryLANDINDIVIDUAL.Filter := '(fname LIKE ''' + Trim(edt2.Text) + '%'')';
       fDM.qryLANDINDIVIDUAL.Filtered := True;
       end
    else
    fDM.qryLANDINDIVIDUAL.Filtered := False;
   end
Тогда при удаление из edt2. автоматически отображается все записи ....
Задумку понял, оба варианта устраивают, НО
Запрос не сработал ни в первом ни во втором случае. Может потому. что не указано обращение к DBGrid???
elrin вне форума Ответить с цитированием
Старый 14.11.2014, 12:11   #7
elrin
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Так исходный вид или с фильтром?
Без фильтра. Первоначальный вид таблицы

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
Так должен вернуть если в edt2.Text будет пуста , то есть , вначале удалите текст в edt2
Код:
procedure TfMain.btn3Click(Sender: TObject);
begin
   with fDM.qryLANDINDIVIDUAL do
   begin
	   close;
	   SQL.Clear;
	   SQL.Add('SELECT * FROM LANDINDIVIDUAL');
	   open;
  end;
end;
А если напишешь у edt2 из события OnChange так с LIKE
Код:
    if (edt2.Text <> '') then
     begin
       fDM.qryLANDINDIVIDUAL.Filter := '(fname LIKE ''' + Trim(edt2.Text) + '%'')';
       fDM.qryLANDINDIVIDUAL.Filtered := True;
       end
    else
    fDM.qryLANDINDIVIDUAL.Filtered := False;
   end
Тогда при удаление из edt2. автоматически отображается все записи ....
Все, работает, РЕСПЕКТ за помощь, код с LIKE то что надо!!!

Последний раз редактировалось Stilet; 14.11.2014 в 12:32.
elrin вне форума Ответить с цитированием
Старый 14.11.2014, 12:31   #8
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

elrin Пожалуйста
xxbesoxx вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 7 - нужно проверить исходный код сортировки таблицы. raymond100 Помощь студентам 0 21.12.2011 20:50
Выровнять таблицы по ширине, а после по содержимому Polotenchik Microsoft Office Word 4 12.06.2011 11:23
после добавления таблицы в конце файла появляются пустые строки OLEG'arh Microsoft Office Word 4 17.09.2010 16:11
Вернуть исходный вид таблицы agregator Microsoft Office Excel 2 21.02.2010 09:57
Обновление таблицы после выполнения селекта Tatochka Microsoft Office Access 5 15.01.2010 10:40