对象变量或 With 块变量没有设置(错误 91)创建对象变量有两个步骤。第一,必须先声明对象变量。然后必须用 Set 语句将一个正确的引用赋值给对象变量。同样地,With...End With 块必须先用 With 语句进入点来执行初始化。此错误有以下的原因和解决方法: 试图使用的对象变量,还没有用一个正确对象的引用来赋值。 给对象变量指定或再指定一个引用。例如,如果在下列的代码中省略 Set 语句的话,那么引用 MyObject 将会产生错误:Dim MyObject As Object
' 创建对象变量。Set MyObject = Sheets(1)
' 创建一个正确的对象引用。MyCount = MyObject.Count
' 计数值赋给 MyCount。试图用的对象变量已经被设为 Nothing。 Set MyObject = Nothing
' 释放此对象。MyCount = MyObject.Count
' 引用了已释放的对象。再指定引用给对象变量。例如,使用新的 Set 语句给对象设置新的引用。此对象是正确的对象,但没有被设置,因为在对象库中,在 “引用” 对话框中没有被选取。 在 “添加引用” 对话框选择对象库。在 With 块内GoTo 语句的去向。 不要跳进 With 块。确保块使用 With 语句进入点以执行初始化。当选了 “设置下一条语句” 命令时,在 With 块内指定了一行。 With 块必须用 With 语句执行初始化。==========================================你的错误应该是:你定义了一个数据库链接(或者链接对象,或者控件)但是没有对这个链接初始化(如set conn=createobject("adodb.connection"))或者赋值,导致该对象为空,所以当你使用这个对象的时候就会出问题。一个窗口是无法直接使用另一个窗口上的ado控件的,需要引用的时候必须带上窗体名字,比如在form2中使用form1里的data1控件,就必须使用:form1.Data1.这样的格式才是正确的,如果form1中的data1没有初始化或者这个窗口没有打开,则报错参考资料:http://bjgangguan.com/shengchanguige.html