|
|
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
допустим есть запрос: parameters p byte; select p; требуется сделать форму в которой вводится занчение, передаётся параметру запроса, затем выводится результат запроса. Как это сделать не меняя код запроса (чтобы не было прямых/косвенных ссылок на форму)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 01:30 |
|
||
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
Так не получится. Запрос с параметром можно использовать только для рекордсета. А тут надо составлять селект на лету и подсовывать его в RecordSource формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 01:33 |
|
||
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
А нельзя ли на основе RecordSet сформировать контент формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 01:50 |
|
||
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
А чем ссылки то мешают? Сослался в запросе на форму - и спи, отдыхай! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 09:33 |
|
||
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
Ввели параметр, потом в обработчике какого-нибудь события контрола параметра пишем Dim Qd1 as dao.querydef Set qd1=CurrentDB.Querygefs("МойЗапрос") qd1.Parameters("МойПараметр")=Me!МойКонтрол DoCmd.OpenForm "ФормаМойЗапрос" Forms("ФормаМойЗапрос").Recordset=qd1.Execute Set qd1=nothing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 10:05 |
|
||
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
Чой-то я не пойму зачем изголяться? Хочешь-не хочешь но к форме, хоть и не явно, но обращаешься: параметер чем-то надо заполнить, а значение его - на форме! Так не проще ли все сделать как SELECT ... FROM ... Where ((p = [Forms]![Form1].[param])) и Sub param_AfterApdate() Me.Requery Кода 1 строчка, забот 0! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 10:33 |
|
||
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
Меня попросили сделать не меняя код запроса, я сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 10:47 |
|
||
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
Shark ! Притензий нет! Усе Ок! Просто не понятно, когда такое нужно, что за причина не пользоваться возможностями системы, "изгаляться"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 10:58 |
|
||
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
Я там наврал маленько вместо forms...Recordset= нада Set forms...Recordset= >Зачем такое надо Например, 1) если твоя форма вызывается из разных мест 2) Смотрит на разные источники в разных случаях 3) Запрос используется в другом месте, а плодить их неохота. 4) Да мало-ли:-) Нравятся мне динамически формируемые строчки. Про это и топик недавно был. /topic/96362&pg=-1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 11:24 |
|
||
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
автор1) если твоя форма вызывается из разных мест 2) Смотрит на разные источники в разных случаях 3) Запрос используется в другом месте, а плодить их неохота. Все это одно и тоже! 'Query MyFromQry as Query как я понимаю уже существует? А чем тебе не нравится таое решение: Public Sub OpenMyForm(p1, p2 ...) Dim db as DataBase: Set db = Currentdb dim qd as QueryDef: Set qd = db.QueryDefs("MyFromQry") Dim fm As Form, se as Sting se = "SELECT ... FROM ... Where ((p = " & p1 ") And (p2 = " & p2 & " And ...))" или if p1 = 0 Then se = "SELECT ... FROM ... Where Else ... Endif qd.SQL = se DoCmd.OpenForm "MyFrom" End Sub И все! На все случаи жизни открытия твоей формы из любого места! А если охота, создай коллекцию твоих форм и плоди их как New MyFrom, но при этом выкини MyFromQry и пользуйся после DoCmd.OpenForm "MyFrom" Set fm = Forms("MyFrom") fm.RecordSource = se И все в одной процедуре! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 14:55 |
|
||
|
Передача значения параметра в запрос
|
|||
|---|---|---|---|
|
#18+
2 Shark я так пытался, но у меня select запрос, а для select запросов не разрешается выполнение qdf.execute ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2004, 19:25 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32549816&tid=1674069]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 477ms |

| 0 / 0 |
