Как внедрить циклический параметр vba(dao.recordset)?
Никита123
Дата: 29.02.2008 10:49:46
подскажите пожалуйста!!!!!!!!
есть запрос на выборку в процедуре,в нём есть параметр,значение которого=значению циклической переменной в этой же процедуре!
запрос прописывается в dao.recordset
Как мне прописать этот параметр,чтоб recordset его видел?
вид процедуры:
Sub trydao123()
for h=1 to 10000
Dim rn As dao.Recordset(запрос на sql........where поле=h(параметр))
.................................прочие операторы
next h
end sub
заранее спасибо!!!!!!!!!
Ёжик`
Дата: 29.02.2008 10:53:34
Оно конечно на 10000 циклах умрет, но код примерно таков
Dim rn As dao.Recordset
Dim h AS long
for h=1 to 10000
Set rn = CurrentDb.OpenRecordset("Select ... where поле=" & h & ";")
.................................прочие операторы
rn.close
set rn = Nothing
next h
sdfgsdfgsdf
Дата: 29.02.2008 10:54:44
Лучше бы ты сказал чё зделать надо .... типа есть такие то таблици и данние, а надо получить тото и тото... ато , понавыдумывал здесь.... :" есть параметр,значение которого=значению циклической переменной в этой же процедуре!" - нету у меня такой травы шоб это догнать... (старость, наверное)
4321
Дата: 29.02.2008 11:04:59
Ёжик` |
Оно конечно на 10000 циклах умрет, но код примерно таков |
Dim Q As dao.QueryDef
Dim rst As dao.Recordset
Dim h AS long
Set Q = CurrentDb.CreateQueryDef("")
Q.SQL="Select ... where поле=[hParam];"
for h=1 to 10000
Q.Parameters("hParam") = f(h)
Set rst =Q.OpenRecordset
.................................прочие операторы
'rn.close
set rn = Nothing
next h
но в целом согласен с ежом. Если набор аксовый, поле, где =f(h) - индексировано, то всё это надо делать совсем не так. (см метод Seek, к примеру)
Никита123
Дата: 29.02.2008 23:16:49
Спасибо,ЁЖИК,получилось!а теперь вопрос,почему так " & h & "-recordset видит внешний параметр,а =[h]-не видит,ругается,что мало параметров?
вродь ниче не померло))))ну подождать приходиться,конечно!
Ёжик`
Дата: 01.03.2008 13:07:47
В топике два ответа для разных вариантов. фы1 в помощь.
ЗЫ В вба запросы нужно клеить без параметров, явно записывая их значения (мой вариант)