| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > поиск данных из Edit |
| Автор: INeo 22.3.2011, 12:02 |
| Всем привет. Помогите разобраться с поиском значений которые будут вводится в edit. Нужно по средствам запроса брать значения из таблицы, которые будут вводится в edit. И по ходу дела с фильтрацией помогите. Как это реализовать в компоненте adotable знаю, а вот с компонентом adoquery сложновато дается. Ниже предоставляю само приложение в котором все это хочу реализовать. Пжл, помогите. |
| Автор: superVad 22.3.2011, 15:01 |
| Попробуй еще раз сформулировать. |
| Автор: INeo 22.3.2011, 16:05 | ||
| =) я понимаю вам смешно =) Я просто в панике щас. В общем нужно реализовать такое дело. Пользователь будет набирать в edit например, инвентарный номер компа, далее жмет по кнопке найти и комп с указанным номером должен отобразится Добавлено через 2 минуты и 5 секунд
Вот то, что я имею ввиду =) |
| Автор: Данкинг 22.3.2011, 16:40 |
| Ну, используй locate в простейшем случае. |
| Автор: INeo 22.3.2011, 16:46 | ||
Хотелось бы узнать как сделать с запросом Добавлено через 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 Жмешь найти и не чего не происходит. Даже ошибку не выдает |
| Автор: Данкинг 22.3.2011, 17:26 |
А если * вместо % ? |
| Автор: INeo 22.3.2011, 17:58 | ||
пробывал *, но тоже безрезультатно. еще вот так попробывал 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 внимания. |
| Автор: Данкинг 22.3.2011, 18:02 |
| Во-первых, попробуй выполнить запрос в самом Access'е. Во-вторых, попробуй trim(Edit1.Text) взять. |
| Автор: Antimol 22.3.2011, 18:17 | ||
| может DBGrid не связан с fdm.QMainComp Так и есть у тебя связь: DBGrid1 -> fDM.DSQMainComp -> TMainComp при изменении данных в Edit1 выполняется запрос в QMainComp просто измени источник данных в DBGrid1 на DSQMainComp И код можно проще написать на событие onChange для Edit1
|
| Автор: INeo 22.3.2011, 20:00 | ||||
Antimol, огромнейшее тебе СПАСИБО!!! Все работает отлично!!! Ура!!!Конечно Всем кто отвечал спасибо! Как хорошо что есть такие профессионалы и хорошие люди как Antimol! Все разжевал и четко объяснил, профессионально! Еще раз спасибо!!! Очень благодарен! =) |
| Автор: Antimol 23.3.2011, 13:20 |
| Пожалуйста. Старался |