LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: конструкт...
 Тема: конструктор запросов
 
 15.06.2007 21:04:27
Dmitry1
17 сообщения


Тема: конструктор запросов
Есть следующая проблема: требуется предоставить пользователю возможность выбирать из базы произвольные данные по различным (заранее неизвестным) критериям. Учить пользователя писать SQL строку - не выход, может можно открыть какой-нибудь заранее созданный запрос к режиме конструктора. Это, в принципе, проблему могло бы решить... Но только вот что - как это сделать программно. Т.е. как программно создать запрос, открытый в режиме конструктора или открыть уже существующий...
Может есть другой метод... ПОдскажите, если знаете...


P.S. Общие вопросы по базе данных
Автор: Дмитрий от 10.08.2003 22:38:21 Источник ...
 15.06.2007 21:04:27
Pite
6 сообщения


RE: конструктор запросов
Если пользователи видят перед собой таблицу я их учу пользоваться "Фильтр по выделенному", они потом так радуются жизни.
Ну а если следует соорудить запрос для дальнейшего использования (ну там отчет, сложный расчет и пр.), можно состряпать форму для запроса и потом непосредственно использовать данные из формы в запросе, но можно создать запрос программно.
Dim db As Database
Dim qdf As QueryDef
Dim strWHERE As String

Set db = CurrentDb
Set qdf = db.CreateQueryDef("ttt")

qdf.SQL = "SELECT * FROM pppp WHERE "
Ну и пошел по полям формы анализировать если не пусто то..., внимательно с датой, текст в кавычки,
короче следи за синтаксисом.
strWHERE = "........"

qdf.SQL=qdf.SQL & strWHERE

Всем SET Nothing
И у тебя появится запрос ttt
Да чуть не забыл перед Create необходимо убедится в отсутсвии запроса ttt см. db.QueryDefs.Name
Или по "ошибке" удалить запрос и вернуться назад.




P.S. Общие вопросы по базе данных
Автор: Pite от 11.08.2003 7:27:36 Источник ...
 15.06.2007 21:04:27
Pite
6 сообщения


RE: конструктор запросов
Если пользователи видят перед собой таблицу я их учу пользоваться "Фильтр по выделенному", они потом так радуются жизни.
Ну а если следует соорудить запрос для дальнейшего использования (ну там отчет, сложный расчет и пр.), можно состряпать форму для запроса и потом непосредственно использовать данные из формы в запросе, но можно создать запрос программно.
Dim db As Database
Dim qdf As QueryDef
Dim strWHERE As String

Set db = CurrentDb
Set qdf = db.CreateQueryDef("ttt")

qdf.SQL = "SELECT * FROM pppp WHERE "
Ну и пошел по полям формы анализировать если не пусто то..., внимательно с датой, текст в кавычки,
короче следи за синтаксисом.
strWHERE = "........"

qdf.SQL=qdf.SQL & strWHERE

Всем SET Nothing
И у тебя появится запрос ttt
Да чуть не забыл перед Create необходимо убедится в отсутсвии запроса ttt см. db.QueryDefs.Name
Или по "ошибке" удалить запрос и вернуться назад.




P.S. Общие вопросы по базе данных
Автор: Pite от 11.08.2003 7:28:07 Источник ...
 15.06.2007 21:04:27
Dmitry1
17 сообщения


RE: конструктор запросов
Спасибо за совет. Метод действительно очень удобный и достаточно мощный.


P.S. Общие вопросы по базе данных
Автор: Дмитрий от 11.08.2003 10:20:14 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: конструкт...
ПоискПоиск  Список форумовСписок форумов  
right