1
我想迭代一个表中的数据库名称,打开数据库,检查是否存在查询,如果它删除它,然后从数据库导入一个查询这段代码正在执行。我不断收到Set badqueryname = "qry_InformationMailer"
行的编译时错误,并且我正在尝试使用该错误设置要删除的查询的名称。这是该行抛出迭代数据库和删除查询
object required
完整的语法错误:
我想迭代一个表中的数据库名称,打开数据库,检查是否存在查询,如果它删除它,然后从数据库导入一个查询这段代码正在执行。我不断收到Set badqueryname = "qry_InformationMailer"
行的编译时错误,并且我正在尝试使用该错误设置要删除的查询的名称。这是该行抛出迭代数据库和删除查询
object required
完整的语法错误:
当值赋给一个简单的变量类型,不要使用Set
。
'Set badqueryname = "qry_InformationMailer"
badqueryname = "qry_InformationMailer"
或者,如果你愿意,你可以使用Let
代替Set
。
Let badqueryname = "qry_InformationMailer"
但我没有看到Let
经常使用。
实际上,在您的代码中,值badqueryname在您分配其值后再也不会更改。换句话说,它像一个常量一样使用,所以你可以使它成为一个常量。
Const badqueryname As String = "qry_InformationMailer"
一个的这些变化应该消除对象所需错误。但是,那么你会遇到一个错误,在该行的未申报QRY ...
If qry.LoopName = badqueryname Then
添加Option Explicit
到您的模块的声明部分,然后运行调试 - >从VB编辑器的主菜单编译。
编译器还应该抱怨这里是因为升是不宣...
For l = LBound(myArray) To UBound(myArray)
解决任何编译器抱怨,然后运行调试 - >再编译。重复直到没有更多的编译错误。
不错,赶上qry.LoopName应该读取qryLoop.Name。 –