运行时错误3704在打开的对象上
我正在为这种情况而苦苦挣扎
我有一个查询,当我运行在MSSQL服务器pipe理工作室,它给了我18行,它存储在一个单元格。 数据库连接到一个活的服务器,我们想创buildExcel仪表板,所以它刷新与实时数据,并创buildgraphics等….
*****编辑*****
我试过一个非常简单的查询,它可以工作,例如我可以得到
从表中select最大(date时间),我确实有最新的同步。
事情是:我的查询了
1)声明表进行validation2)临时表“with table as();” 对所有的数据进行sorting,并用一些过滤的“RowNumber”对它们进行sorting,稍后调用Where语句,只需要一些行号来避免重复
我认为在这个连接之间必须closures,可以吗?
通常这个代码可以解决,但是对于这个服务器我得到:
“对象closures时不允许运行时错误3704操作”
我search了论坛和谷歌没有运气
Dim con As ADODB.Connection Dim rs As ADODB.Recordset Dim query As String Set con = New ADODB.Connection Set rs = New ADODB.Recordset strCon = "Provider=SQLOLEDB.1;" _ & "Password=*******;" _ & "Persist Security Info=True;" _ & "User ID=********;" _ & "Initial Catalog=*******;" _ & "Data Source=***.**.**.**;" _ & "Use Procedure for Prepare=1;" _ & "Auto Translate=True;Packet Size=4096;" _ & "Use Encryption for Data=False;" _ & "Tag with column collation when possible=False" con.Open (strCon) rs.ActiveConnection = Con 'modified with suggestion below strSQLQuery = Worksheets("Query").Range("B2").Value rs.Open strSQLQuery For i = 0 To rs.Fields.Count - 1 Sheet2.Cells(1, i + 1) = rs.Fields(i).Name Next i Worksheets("Result").Range("A2").CopyFromRecordset rs rs.Close Set rs = Nothing con.Close Set cn = Nothing
魔术师能帮我吗? 因为现在即时通讯作为一个演示,但我想推广到VB工具,并希望确保它不是一个服务器相关的问题。
先谢谢你
con.Open (strCon) rs.ActiveConnection = strCon
应该
con.Open strCon rs.ActiveConnection = con
即。 您应该将ActiveConnection
设置为刚刚打开的Connection
对象,而不是连接string。