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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2014, 14:21   #1
Посол_Вон
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 24
По умолчанию Фильтрация данных в dbgrid

Возник вопрос про фильтрацию данных в dbgrid.Раньше фильтровал с помощью
DataModule4.Adotable3.Filtered:=tru e;
DataModule4.Adotable3.Filter:='knig a='+Quotedstr(edit1.text);
Но сейчас делаю БД без датамодуля.
Безымянный.jpg
Хочу сделать чтобы к примеру пользователь вводил данные в Edit, потом нажимал на кнопку(например ФАМИЛИЯ) и в таблице выводились отфильтрованные данные.Задавайте вопросы, уточню , сижу за компом.
Посол_Вон вне форума Ответить с цитированием
Старый 21.05.2014, 14:36   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Чем отличается Adotable3 на DataModule от Adotable3 без DataModule?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.05.2014, 14:42   #3
Посол_Вон
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Чем отличается Adotable3 на DataModule от Adotable3 без DataModule?
Отпишу поподробнее. Делфи я связал с Аксесомю(с помощью адо коннекшена,адоквери и датасоурса) т.е Adotable нету,Adotable я использовал в другой БД, но сейчас решил начать сначала уже без Adotable.Поискал в инете , вроде как то можно с помощью SQL, Но к сожалению ничего не получилось((

Последний раз редактировалось Посол_Вон; 21.05.2014 в 14:55.
Посол_Вон вне форума Ответить с цитированием
Старый 21.05.2014, 15:20   #4
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

в принципе, БД и сама без дата модуля работает. датамодуль ты используешь тока в своём приложении. Как на меня - лучше пользоваться не ADOTable, а ADODataset, ADOTable - это тот же ADODataset тока с обрезаным функционалом.
Далее
Код:
DataModule4.Adotable3.Filtered:=tru e;
DataModule4.Adotable3.Filter:='knig a='+Quotedstr(edit1.text);
перед тем как изменить условие фильтра, набор данных нужно вывести из режима фильтрации, если конечно он был до этого задействован:
Код:
DataModule4.Adotable3.Filtered:=FALSE;
DataModule4.Adotable3.Filter:='knig a='+Quotedstr(edit1.text);
// а уже потом
DataModule4.Adotable3.Filtered:=TRUE;
Тяжело быть бестолковым.....

Последний раз редактировалось Dark_Spirit; 21.05.2014 в 15:22.
Dark_Spirit вне форума Ответить с цитированием
Старый 21.05.2014, 15:27   #5
Посол_Вон
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Dark_Spirit Посмотреть сообщение
в принципе, БД и сама без дата модуля работает. датамодуль ты используешь тока в своём приложении. Как на меня - лучше пользоваться не ADOTable, а ADODataset, ADOTable - это тот же ADODataset тока с обрезаным функционалом.
Далее
Код:
DataModule4.Adotable3.Filtered:=tru e;
DataModule4.Adotable3.Filter:='knig a='+Quotedstr(edit1.text);
перед тем как изменить условие фильтра, набор данных нужно вывести из режима фильтрации, если конечно он был до этого задействован:
Код:
DataModule4.Adotable3.Filtered:=FALSE;
DataModule4.Adotable3.Filter:='knig a='+Quotedstr(edit1.text);
// а уже потом
DataModule4.Adotable3.Filtered:=TRUE;
А без adotable, в моём случае как фильтр сделать?)
Посол_Вон вне форума Ответить с цитированием
Старый 21.05.2014, 15:31   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
With ADoQuery1 do begin
 Close;
  sql.text:='select * from ... where knig a='+Quotedstr(edit1.text);
 Open;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.05.2014, 15:35   #7
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

можно, но для этого тебе нужны будут другие компоненты отображения данных, а не dbgrid, например компоненты Ehlib, или DevExpress
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 21.05.2014, 15:41   #8
Посол_Вон
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Dark_Spirit Посмотреть сообщение
можно, но для этого тебе нужны будут другие компоненты отображения данных, а не dbgrid, например компоненты Ehlib, или DevExpress
Вообще никак чтоль?(Эхх
Посол_Вон вне форума Ответить с цитированием
Старый 21.05.2014, 15:42   #9
Посол_Вон
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
With ADoQuery1 do begin
 Close;
  sql.text:='select * from ... where knig a='+Quotedstr(edit1.text);
 Open;
end;
Вбил ваш код в кнопку (баттон) , запускаю программку в поле edit пишу к примеру фамилию, нажимаю на кнопку и вся информация с dbgrid удаляется((
зы
простите, Я чайник!
аа, всё заработало!!!Спасибо большоеее!)

With ADoQuery1 do begin
Close;
sql.text:='select * from sotrudniki (это название таблицы в аксес)where imap(это назавние поля)='+Quotedstr(edit1.text);
Open;
end;

код вбил в баттон.

Последний раз редактировалось Посол_Вон; 21.05.2014 в 15:57.
Посол_Вон вне форума Ответить с цитированием
Старый 21.05.2014, 15:50   #10
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

ну вообще-то, нет. Событие Onkeypress возникает, как только ты нажимаешь любую клавишу, а не всю строку
можешь попробовать написать проверку на нажатие клавиши Enter и только после этого выполнение кода
Код:
With ADoQuery1 do begin
 Close;
  sql.text:='select * from ... where knig a='+Quotedstr(edit1.text);
 Open;
end;
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтрация в ячейке DBGrid yaapelsinko БД в Delphi 9 04.02.2012 19:43
Фильтрация DBGrid Delphi7 MrMorozko Помощь студентам 1 22.11.2010 15:40
Сортирование и фильтрация DBGrid Stranger333 Помощь студентам 2 08.03.2010 20:49
фильтрация в DBGrid ГОСЕАН БД в Delphi 4 17.07.2007 17:05
Фильтрация по месяцу DBgrid .... khaz БД в Delphi 5 28.04.2007 14:03