powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как создать запрос со сложным условием?
14 сообщений из 14, страница 1 из 1
Как создать запрос со сложным условием?
    #32440731
rss2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, спецы!
Может кто знает, есть ли возможность в Accessе сделать запрос (может что то типа хранимой процедуры), который бы динамически формировался в зависимости от разных условий, т.е. формируется строка запроса и запускается на выполнение. В результате, юзер открывает запрос (или чего еще) и видит набор данных!
Такое у Accessa бывает или нет?
Спасибо.
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32440738
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант раз:

dim rs as dao.recordset
const tablename = "mytable"
const wherestr = "id=""1"""
set rs = currentdb.openrecordset("select * from " & tablename & " where " & wherestr)

Вариант два:
currentdb.QueryDefs("queryname").SQL = "select blabla from blablatable;"
docmd.openquery "queryname" ...

Вариант три и т.д. вероятно появятся после уточнения задачи.
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32440745
rss2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GEO, спасибо за ответ. Пока что я тоже нашел эти 2 варианта, но запускаю этот код в обработчике событий формы - по клику на кнопке.
А нужно, чтобы это был Запрос или другой объект, который пользователь может открыть самостоятельно (без вызова какой-либо формы). Я так понимаю, ято это должно быть аналогом stored procedure (SQL Server).
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32440746
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что мешает сделать такой запрос:

select * from table1 where field1=myfunction()

и прописать функцию, которая формирует условие.
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32440766
rss2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В некоторых случаях условие WHERE не должно быть в запросе, ну или всегда возврашать TRUE, т.е. иногда нужны все записи. А где можно прописать эту функцию, чтобы она использовалась при выполнении запроса?
Спасибо.
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32440825
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/74501&hl
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32440839
lobodava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самореклама на SQL.RU
это как раз про "запрос, который бы динамически формировался в зависимости от разных условий" .
И не только...
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32441057
rss2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо! Все стало ясно.
А кто-нибудь знает, как из формы можно открыть запрос (grid???), источник данных для которого только что сформированный рекордсет?
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32441063
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
set me.recordset=rst
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32441071
rss2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, но немного не то.
Мне нужно что-то типа этого:

DoCmd.OpenQuery (myRecordSet)


Динамически сформировать query не подходит.

Set qryTest = CurrentDb. QueryDefs ("z1")
qryTest. SQL = strQuery

Это возможно?
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32441097
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у тебя был вопрос
по поводу условий
ты куда-то пошел в бок.
причем здесь DoCmd.OpenQuery (myRecordSet) ?
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32446249
rss2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понимаю, что плохо объяснил... Но, что-то лучше не получается :)
Я вижу это так: Иногда приходится запрос составлять из кусков строк. В результате получаем строку, представляющую из себя sql комманду SELECT...
Что можно с ней делать?
1. Создать на ее основе query и DoCmd.OpenQuery...
2. создать Recordset. Как посмотреть его, не изобретая ничего на форме? Стандартным способом? Есть такая возможность?
Т.е., задача - используя минимум затрат вывести данные для редактирования, полученные из запроса, который был сформирован из строки "SELECT * FROM..."...

Перечитал - уже самому ничего непонятно. :)
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32446285
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть "знакомый", который в таких случаях пользуется следующим способом:
CurrentDb.CreateQueryDef "sdfs", "sfdsdfsdf"
docmd.OpenQuery "sdfs"

Тоже способ. С минимумом затрат. Правда, никаких возможностей узнать, что делает пользователь/повлиять на эти действия нет. Но это уж кому чего надо - побыстрее или понадежнее сделать..
...
Рейтинг: 0 / 0
Как создать запрос со сложным условием?
    #32446289
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
CreateQueryDef - только в mdb (не mde) и только если юзер один.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как создать запрос со сложным условием?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]