Recordset - object variable or with block not set
|
|
Четверг, 24 Ноября 2016 г. 10:57
+ в цитатник
Доброго времени суток, Господа!
Может кто-нибудь подсказать в чем прикол (скорее всего моя проблема тривиальна, но все же):
Создаю и заполняю Recordset (в этом случае все ОК):
+ |
Dim db As Database
Dim rs As Recordset
Dim querPM As QueryDef
Set db = DBEngine.Workspaces(0).Databases(0)
Set querPM = db.QueryDefs("zapros1")
Set rs = querPM.OpenRecordset
|
rs нормально открывается, с ним можно свободно работать
Другой вариант(Не работает):
+ |
Dim db As Database
Dim rs As Recordset
Set db = DBEngine.Workspaces(0).Databases(0)
Set rsPM = db.OpenRecordset("SELECT " _
& "PRB_RELS.R2, NLZ_RELS.N_PLAVKI, PRB_RELS.N_RUCHEY, PRB_RELS.N_ZAGOTOVKI, PROKAT321_SPR_NDT_SENSOR.NAME, PROKAT321_SPR_NDT_SENSOR.DESCRIPTION, PROKAT321_TBL_NDT_PM.DEFECT_POS, PROKAT321_TBL_NDT_PM.DEFECT_LENGTH, PROKAT321_TBL_NDT_PM.DEFECT_AMPLITUDE " _
& "FROM (PRB_RELS LEFT JOIN NLZ_RELS ON PRB_RELS.R1 = NLZ_RELS.R1) LEFT JOIN (PROKAT321_TBL_NDT_PM LEFT JOIN PROKAT321_SPR_NDT_SENSOR ON PROKAT321_TBL_NDT_PM.SENSOR_ID = PROKAT321_SPR_NDT_SENSOR.ID) ON PRB_RELS.R2 = PROKAT321_TBL_NDT_PM.R2 " _
& "WHERE (((PRB_RELS.R2)=755654) AND ((PROKAT321_SPR_NDT_SENSOR.NAME)='" & C1 & "'));")
|
При обращении к rs ошибка в сабже.
Пробую добавить параметры, н-р:
+ |
Set rsPM = db.OpenRecordset("SELECT " _
....
& "WHERE (((PRB_RELS.R2)=755654) AND ((PROKAT321_SPR_NDT_SENSOR.NAME)='" & C1 & "'));", adOpenDynamic, adLockOptimistic)
|
Тогда ошибка: "ODBC - блокировка всех записей невозможна"
Собственно почему меня не устраивает 1й вариант? - не хочу
захламлять хранить кучу запросов (а их будет 20шт), причем меняется в них только один параметр.
Подскажите как вопрос решить, ну или подтолкните на мудрую мысль ;)
http://www.sql.ru/forum/1239986/recordset-object-variable-or-with-block-not-set
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-