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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2010, 20:17   #1
Rainkhz
 
Регистрация: 25.05.2010
Сообщений: 9
Вопрос Организация поиска в бд

Всем доброго времяни суток!
Прошу вас о помощи!
Требуется организовать простенький поиск в БД,
Вводиш в Edit значение, нажимаш на кнопку, и чтоб он произвел поиск в одном каком нибудь столбце.
(база access подключена через ADO, отображается DBgrid - ом)
Rainkhz вне форума Ответить с цитированием
Старый 25.05.2010, 20:49   #2
Mollerat
Пользователь
 
Аватар для Mollerat
 
Регистрация: 11.03.2009
Сообщений: 25
По умолчанию

Организовать поиск можно через фильтры (свойство filter).

Код:
ADOTable.filtered:=true; 
ADOTable.filter:='{Имя записи} LIKE = '+ #39 + '%' + Edit.Text + '%' + #39;
Это поиск по тексту


если имеем дела с цифрами то делаем так

Код:
ADOTable.filtered:=true;
ADOTable.filter:='{Имя записи} = '+ Edit.Text ;
Отменить фильтр и вернуть все в обычное состояние
Код:
ADOTable.filtered:=false;
Mollerat вне форума Ответить с цитированием
Старый 25.05.2010, 21:29   #3
Rainkhz
 
Регистрация: 25.05.2010
Сообщений: 9
По умолчанию

А что вставлять в {Имя записи}?
Rainkhz вне форума Ответить с цитированием
Старый 25.05.2010, 21:36   #4
Rainkhz
 
Регистрация: 25.05.2010
Сообщений: 9
По умолчанию

Вылазет ошибка "Аргументы, имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом"
Rainkhz вне форума Ответить с цитированием
Старый 25.05.2010, 22:07   #5
Mollerat
Пользователь
 
Аватар для Mollerat
 
Регистрация: 11.03.2009
Сообщений: 25
По умолчанию

Имя записи по другому это имя поля. заголовок столбца по которому идет поиск. Прости опечатался

Код:
ADOTable.filtered:=true; 
ADOTable.filter:='{Имя записи} LIKE '+ #39 + '%' + Edit.Text + '%' + #39;
надо без "="
Mollerat вне форума Ответить с цитированием
Старый 25.05.2010, 22:42   #6
Rainkhz
 
Регистрация: 25.05.2010
Сообщений: 9
По умолчанию

Спасибо, разобрался, все работает!
Rainkhz вне форума Ответить с цитированием
Старый 25.05.2010, 22:47   #7
Mollerat
Пользователь
 
Аватар для Mollerat
 
Регистрация: 11.03.2009
Сообщений: 25
По умолчанию

Не за что

П С Для спасибо нажми средний значек под аватаром "Весы" мелоч а приятно
Mollerat вне форума Ответить с цитированием
Старый 05.07.2010, 21:33   #8
loki22208
Пользователь
 
Регистрация: 01.05.2010
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Rainkhz Посмотреть сообщение
Вылазет ошибка "Аргументы, имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом"
Такая же беда.
Причем на одной форме нормально работает, а на другой выдает вышеуказанную ошибку. Код такой:

if Length(Edit1.Text)>0 then
DataModule5.BookTable.Filtered:=tru e else
DataModule5.BookTable.Filtered:=fal se;
DataModule5.BookTable.Filter:='Номе р группы>'''+Edit1.Text+'''';

а в DataModule:

procedure TDataModule5.BookTableFilterRecord( DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:=false;
if copy(BookTableDSDesigner.AsString,1 ,Length(Form3.Edit1.Text))=
Form3.Edit1.Text then
Accept:=true;
end;
loki22208 вне форума Ответить с цитированием
Старый 05.07.2010, 21:46   #9
loki22208
Пользователь
 
Регистрация: 01.05.2010
Сообщений: 18
По умолчанию

Все с проблемой справился название поля надо было в квадраные скобки брать
if Length(Edit1.Text)>0 then
DataModule5.BookTable.Filtered:=tru e else
DataModule5.BookTable.Filtered:=fal se;
DataModule5.BookTable.Filter:='[Номер группы]>'''+Edit1.Text+'''';
loki22208 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организация поиска в Дельфи Тов. Дмитрий Помощь студентам 0 13.05.2010 15:20
Организация поиска на совпадение и вывода информации barbus Microsoft Office Excel 5 30.04.2010 00:05
Организация поиска) insomnia87 Microsoft Office Excel 9 22.01.2009 11:56
Организация поиска с выводом инфы в форму Алина_Алина Microsoft Office Excel 3 16.05.2008 23:20