2017-01-10 10 views
1

Эта строка кода:Противоречивые ошибка при использовании ADODB в VBA с параметрами для RecordSet Open

rs.Open SQLStr, conn, adOpenStatic 

оказывается несколько изменчивы - иногда она работает без проблем, а иногда он выдает ошибку:

Variable not defined.

Это, как представляется, вызывает проблемы с adOpenStatic. Я пытаюсь не ссылаться на библиотеку ADODB, так как это потребует от всех моих пользователей ссылки на эту библиотеку. Если это не сработало, то прекратите, но мое разочарование проистекает из того, что иногда это работает, а иногда и нет.

Просто интересно, кто-нибудь сталкивался с этим раньше и имел решение?

+0

Почему вы поздно связать это? «попытка избежать ссылки на библиотеку ADODB, поскольку она потребует, чтобы все мои пользователи ссылались на эту библиотеку», не имеет никакого смысла - если у них нет установленной библиотеки, «CreateObject» все равно будет бросать. – Comintern

ответ

1

При работе с внешними libriary в late-binding mode вы не можете работать с константами, такими как adOpenStatic. Используйте 3 istead (всего три), который представляет собой числовое представление adOpenStatic.

Другие параметры и ихние числовые repesentations вы можете найти here