Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск данных из Edit 
:(
    Опции темы
INeo
  Дата 22.3.2011, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.3.2011

Репутация: нет
Всего: нет



Всем привет. Помогите разобраться с поиском значений которые будут вводится в edit. Нужно по средствам запроса брать значения из таблицы, которые будут вводится в edit. И по ходу дела с фильтрацией помогите. Как это реализовать в компоненте adotable знаю, а вот с компонентом adoquery сложновато дается.  Ниже предоставляю само приложение в котором все это хочу реализовать. Пжл, помогите.

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  TrenirovochnayaDB.zip 437,83 Kb
PM MAIL   Вверх
superVad
Дата 22.3.2011, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



Попробуй еще раз сформулировать.
PM MAIL   Вверх
Данкинг
Дата 22.3.2011, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(INeo @  22.3.2011,  12:02 Найти цитируемый пост)
Нужно по средствам запроса брать значения из таблицы, которые будут вводится в edit. 

Сам понял, что написал?
Цитата(INeo @  22.3.2011,  12:02 Найти цитируемый пост)
а вот с компонентом adoquery сложновато дается. 

Делай запрос с условием "where...".
Цитата(INeo @  22.3.2011,  12:02 Найти цитируемый пост)
Пжл, помогите. 

Я, кажется, догадался: надо выбирать из таблицы строки, где значение какого-то поля равно значению Edit? 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
INeo
Дата 22.3.2011, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.3.2011

Репутация: нет
Всего: нет



=)  я понимаю вам смешно =) Я просто в панике щас. В общем нужно реализовать такое дело. Пользователь будет набирать в edit например, инвентарный номер компа, далее жмет по кнопке найти и комп с указанным номером должен отобразится

Добавлено через 2 минуты и 5 секунд
Цитата(Данкинг @ 22.3.2011,  15:14)
Я, кажется, догадался: надо выбирать из таблицы строки, где значение какого-то поля равно значению Edit?


Вот то, что я имею ввиду =)
PM MAIL   Вверх
Данкинг
Дата 22.3.2011, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Ну, используй locate в простейшем случае.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
INeo
Дата 22.3.2011, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.3.2011

Репутация: нет
Всего: нет



Цитата(Данкинг @ 22.3.2011,  16:40)
Ну, используй locate в простейшем случае.

Хотелось бы узнать как сделать с запросом

Добавлено через 2 минуты и 26 секунд
Я пробывал так

procedure TfMain.Button1Click(Sender: TObject);
begin  
 fDM.QMainComp.Active := false;
  fDM.QMainComp.SQL.Clear;
  fDM.QMainComp.SQL.Add('SELECT *');
  fDM.QMainComp.SQL.Add('FROM MainComp');
  fDM.QMainComp.SQL.Add('WHERE InvNum LIKE'''+'%'+Edit1.text+'%''');
  fDM.QMainComp.Active := true

Жмешь найти и не чего не происходит. Даже ошибку не выдает 
PM MAIL   Вверх
Данкинг
Дата 22.3.2011, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(INeo @  22.3.2011,  16:46 Найти цитируемый пост)
Жмешь найти и не чего не происходит.

А если * вместо % ?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
INeo
Дата 22.3.2011, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.3.2011

Репутация: нет
Всего: нет



Цитата(Данкинг @ 22.3.2011,  17:26)
Цитата(INeo @  22.3.2011,  16:46 Найти цитируемый пост)
Жмешь найти и не чего не происходит.

А если * вместо % ?

пробывал *, но тоже безрезультатно.

еще вот так попробывал 

procedure TfMain.Button1Click(Sender: TObject);
begin
  with fdm.QMainComp do begin
    close;
    sql.Clear;
    sql.Add('SELECT * FROM MainComp WHERE InvNum=:pInvNum');
    Parameters.ParamByName('pInvNum').Value := Edit1.Text;
    open;

  end;

тот же эффект что и в первый раз. Жмешь НАйти и не чего, 0 внимания.
PM MAIL   Вверх
Данкинг
Дата 22.3.2011, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Во-первых, попробуй выполнить запрос в самом Access'е. Во-вторых, попробуй trim(Edit1.Text) взять.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Antimol
Дата 22.3.2011, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 28.7.2007
Где: Украина, Киев

Репутация: 4
Всего: 4



может DBGrid не связан с fdm.QMainComp

 smile 

Так и есть у тебя связь:

DBGrid1 -> fDM.DSQMainComp -> TMainComp 

при изменении данных в Edit1 выполняется запрос в QMainComp

просто измени источник данных в DBGrid1 на DSQMainComp

И код можно проще написать на событие onChange для Edit1

Код

procedure TfMain.Edit1Change(Sender: TObject);
begin
  fDM.QMainComp.SQL.Text:='SELECT * FROM MainComp WHERE InvNum LIKE :Param';
  fDM.QMainComp.Parameters.ParamByName('Param').Value:='%'+Edit1.text+'%';
  fDM.QMainComp.Open;
end;


Это сообщение отредактировал(а) Antimol - 22.3.2011, 18:33
--------------------
Лучшее спасибо это "+" к репутации.   Мой блог: ИНФОРМАТИЗАЦИЯ, и mirsovetov.net. Написание программ, исправление ошибок, статьи....
PM MAIL WWW ICQ   Вверх
INeo
  Дата 22.3.2011, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 18.3.2011

Репутация: нет
Всего: нет



Цитата(Antimol @ 22.3.2011,  18:17)
может DBGrid не связан с fdm.QMainComp

 smile 

Так и есть у тебя связь:

DBGrid1 -> fDM.DSQMainComp -> TMainComp 

при изменении данных в Edit1 выполняется запрос в QMainComp

просто измени источник данных в DBGrid1 на DSQMainComp

И код можно проще написать на событие onChange для Edit1

Код

procedure TfMain.Edit1Change(Sender: TObject);
begin
  fDM.QMainComp.SQL.Text:='SELECT * FROM MainComp WHERE InvNum LIKE :Param';
  fDM.QMainComp.Parameters.ParamByName('Param').Value:='%'+Edit1.text+'%';
  fDM.QMainComp.Open;
end;

Antimol, огромнейшее тебе СПАСИБО!!! Все работает отлично!!! Ура!!!Конечно Всем кто отвечал спасибо! Как хорошо что есть такие профессионалы и хорошие люди как Antimol! Все разжевал и четко объяснил, профессионально! Еще раз спасибо!!! Очень благодарен! =)
PM MAIL   Вверх
Antimol
Дата 23.3.2011, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 28.7.2007
Где: Украина, Киев

Репутация: 4
Всего: 4



Пожалуйста. Старался  smile  
--------------------
Лучшее спасибо это "+" к репутации.   Мой блог: ИНФОРМАТИЗАЦИЯ, и mirsovetov.net. Написание программ, исправление ошибок, статьи....
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0554 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.