Sql 尝试关闭记录集或连接时VBA代码执行中断
我尝试使用ADODB将数据从SQL Server获取到我的Excel工作表中。我还激活了“引用”下的“Microsoft ActiveX数据对象2.8库”。我必须承认,我是ADODB的新手 下面的代码启动良好,记录集正确写入Excel工作表。但是,代码在“rs.close”处抛出一个错误,表示“代码执行已中断” 由于此错误消息非常普遍,我自己无法找到任何与此相关的信息 我已经关闭了访问我机器上相同数据库的所有其他程序Sql 尝试关闭记录集或连接时VBA代码执行中断,sql,excel,vba,adodb,Sql,Excel,Vba,Adodb,我尝试使用ADODB将数据从SQL Server获取到我的Excel工作表中。我还激活了“引用”下的“Microsoft ActiveX数据对象2.8库”。我必须承认,我是ADODB的新手 下面的代码启动良好,记录集正确写入Excel工作表。但是,代码在“rs.close”处抛出一个错误,表示“代码执行已中断” 由于此错误消息非常普遍,我自己无法找到任何与此相关的信息 我已经关闭了访问我机器上相同数据库的所有其他程序 Sub Test() Dim con As ADODB.Connection
Sub Test()
Dim con As ADODB.Connection
Dim conStr As String
Dim SQL As String
Dim rs As Recordset
Dim myWb As Workbook
Set myWb = ThisWorkbook
Set con = New ADODB.Connection
conStr = "Provider=SQLOLEDB;Data Source=*censored*;Initial Catalog=RegMetrics;Trusted_connection=yes;"
con.Open conStr
SQL = "Select * From dbo.fn_Counterparty_RWA()"
Set rs = con.Execute(SQL)
myWb.ActiveSheet.Range("A2").CopyFromRecordset rs
rs.Close
con.Close
End Sub
只需重新启动我的计算机即可解决此问题。您以前在运行时是否尝试过ctrl-Esc停止代码?如果是这样,请尝试重新启动excel。还可以查看在rs.close to deassign object helps之后添加“set rs=nothing”是否重新启动了我的计算机,现在运行正常。我猜以前的代码中有一个奇怪的开放连接“遗留”。谢谢你,亚历克斯。不知道如何将此标记为已回答…很高兴知道它现在适用于您。