|
|
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
Привет, спецы! Может кто знает, есть ли возможность в Accessе сделать запрос (может что то типа хранимой процедуры), который бы динамически формировался в зависимости от разных условий, т.е. формируется строка запроса и запускается на выполнение. В результате, юзер открывает запрос (или чего еще) и видит набор данных! Такое у Accessa бывает или нет? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2004, 02:02 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
Вариант раз: 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" ... Вариант три и т.д. вероятно появятся после уточнения задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2004, 02:58 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
GEO, спасибо за ответ. Пока что я тоже нашел эти 2 варианта, но запускаю этот код в обработчике событий формы - по клику на кнопке. А нужно, чтобы это был Запрос или другой объект, который пользователь может открыть самостоятельно (без вызова какой-либо формы). Я так понимаю, ято это должно быть аналогом stored procedure (SQL Server). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2004, 07:59 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
А что мешает сделать такой запрос: select * from table1 where field1=myfunction() и прописать функцию, которая формирует условие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2004, 08:16 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
В некоторых случаях условие WHERE не должно быть в запросе, ну или всегда возврашать TRUE, т.е. иногда нужны все записи. А где можно прописать эту функцию, чтобы она использовалась при выполнении запроса? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2004, 11:25 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
/topic/74501&hl ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2004, 13:57 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
Самореклама на SQL.RU это как раз про "запрос, который бы динамически формировался в зависимости от разных условий" . И не только... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2004, 14:18 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо! Все стало ясно. А кто-нибудь знает, как из формы можно открыть запрос (grid???), источник данных для которого только что сформированный рекордсет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2004, 10:28 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
set me.recordset=rst ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2004, 10:57 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
Спасибо, но немного не то. Мне нужно что-то типа этого: DoCmd.OpenQuery (myRecordSet) Динамически сформировать query не подходит. Set qryTest = CurrentDb. QueryDefs ("z1") qryTest. SQL = strQuery Это возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2004, 11:33 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
у тебя был вопрос по поводу условий ты куда-то пошел в бок. причем здесь DoCmd.OpenQuery (myRecordSet) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2004, 13:27 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
Я понимаю, что плохо объяснил... Но, что-то лучше не получается :) Я вижу это так: Иногда приходится запрос составлять из кусков строк. В результате получаем строку, представляющую из себя sql комманду SELECT... Что можно с ней делать? 1. Создать на ее основе query и DoCmd.OpenQuery... 2. создать Recordset. Как посмотреть его, не изобретая ничего на форме? Стандартным способом? Есть такая возможность? Т.е., задача - используя минимум затрат вывести данные для редактирования, полученные из запроса, который был сформирован из строки "SELECT * FROM..."... Перечитал - уже самому ничего непонятно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 21:31 |
|
||
|
Как создать запрос со сложным условием?
|
|||
|---|---|---|---|
|
#18+
У меня есть "знакомый", который в таких случаях пользуется следующим способом: CurrentDb.CreateQueryDef "sdfs", "sfdsdfsdf" docmd.OpenQuery "sdfs" Тоже способ. С минимумом затрат. Правда, никаких возможностей узнать, что делает пользователь/повлиять на эти действия нет. Но это уж кому чего надо - побыстрее или понадежнее сделать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 23:00 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1665&tid=1676012]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 422ms |

| 0 / 0 |
