![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 27.05.2009
Сообщений: 6
|
![]()
Добрый день всем! Помогите пожалуйста с запросом.
Работаю с Delphi7, база данных Access, использую ADOQuery Как написать запрос (в самом Query,а не коде), чтобы отфильтровать записи по значению, введенному в Edit? (сами значения в Edit меняются автоматически, но это уже совсем другая история) В свойстве SQL я пишу: select FIO, Nachisleno, K_vidache from Nachislenie where Mes='''+Edit1.Text+''' В итоге - пустая таблица... Объясните - что я делаю не так? (Поле Mes - текстовое) |
![]() |
![]() |
![]() |
#2 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
Пока я могу лишь предположить частую логическую ошибку - вы в конце концов пишете ExecSql, хотя для получения результата нужно писать Open... |
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
может стоит сделать так:select FIO, Nachisleno, K_vidache
from Nachislenie where Mes=:mes. А при нажатии кнопки нужно: Query1.Parametrs.ParamByName('mes') .value:=Edit1.text
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 27.05.2009
Сообщений: 6
|
![]()
Дело в том, что мне нужно отфильтровать записи в самом ADOQuery, так как потом я отправляю отчет в Excel, а по всем записям пробегаться долго. Так что эта табличка у меня временная... и должна обновляться каждый раз при изменении значения в Edit.
Разве нельзя прописать запрос только в свойстве SQL, не прибегая к коду? хотя... может я чего-то не понимаю... |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 26.05.2009
Сообщений: 26
|
![]()
В самом Query нельзя обращаться к компонентам, т.е. в SQL редакторе самого копонента нельзя прописать where Mes='''+Edit1.Text+''' Это должно быть только в коде проекта.
Но можно как тебе написал Sparky использовать параметры. Т.е. пишешь where Mes=:mes, где :mes это параметр, которому передаются данные, а передавать данные ему надо в основном коде программы: ADOQuery1.Close; ADOQuery1.Parametrs.ParamByName('me s') .value:=Edit1.text //Пробелы убери в mes, что-то форум их сам ставит ADOQuery1.Open; И можешь поставить этот код туда, где у тебя автоматом изменяются данные в Edit. Последний раз редактировалось VaBank; 27.05.2009 в 14:46. |
![]() |
![]() |
![]() |
#6 |
Регистрация: 27.05.2009
Сообщений: 6
|
![]()
VaBank
Спасибо большое! Получилось!!! Какие вы тут все умные! 8))) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SQL запрос + SQL запрос | BeSeech | Microsoft Office Access | 10 | 14.02.2009 17:04 |
SQL-запрос | Dissonance | БД в Delphi | 5 | 17.06.2008 07:11 |
Поиск в базе по значению в Edit | Arteom | БД в Delphi | 2 | 19.10.2007 22:23 |
SQL-запрос | Stenfit | Помощь студентам | 2 | 02.04.2007 18:35 |
SQL запрос на основе другого SQL запрса... | Timoxa | БД в Delphi | 1 | 07.01.2007 18:15 |