本机运行正常的程序,在其他机器上常常会有这个提示错误,让人伤透了脑筋。检查引用文件都没有问题,让人无从下手。今天再一次调试程序,感觉是类型不认识到原因。是否是代码有问题,而不是引用或者系统的缘故?旧代码如下:
Dim rs As New ADODB.Recordset
'Dim conn As New ADODB.Connection
On Error GoTo GetRs_Err
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
With conn
.ConnectionString = "PROVIDER=SQLOLEDB.1;PASSWORD=sa;PERSIST SECURITY INFO=false;USER ID=sa;INITIAL CATALOG=低温蜡生产管理;DATA SOURCE=192.168.1.222"
.Open
End With
调试的时候发现,rs一直是nothing。在看看conn的声明和定义方式是分为2步的,显示声明对象 Dim conn As ADODB.Connection, 再是生成一个实例 Set conn = New ADODB.Connection。 而rs是一句话完成了。该不会是这个原因吧? 试着把第一行“Dim rs As New ADODB.Recordset” 改为
Dim rs as ADODB.Recordset
Set rs as new ADODB.Recordset
运行下。没有错误提示了。真是让人惊喜。难道这真的是问题的原因吗? 理论上其实这2句的意思是一样的。 不管怎么说总算是暂时解决了这个困扰了我一年多的问题。我这样用用看吧。希望不要在出现错误提示了。