无法在VBA中使用sql临时表(无法删除表)

无法在VBA中使用sql临时表(无法删除表),sql,vba,Sql,Vba,如何更改vba代码,使其能够在sql查询中运行临时表 这是我的VBA代码存储过程包含的临时表 Sub a() Dim connection As ADODB.connection Dim recordset As ADODB.recordset Dim command As ADODB.command Dim strProcName As String 'Stored Procedure name Dim strConn As String ' connection string. Dim se

如何更改vba代码,使其能够在sql查询中运行临时表 这是我的VBA代码存储过程包含的临时表

Sub a()
Dim connection As ADODB.connection
Dim recordset As ADODB.recordset
Dim command As ADODB.command
Dim strProcName As String 'Stored Procedure name
Dim strConn As String ' connection string.
Dim selectedVal As String


Set connection = New ADODB.connection
Set recordset = New ADODB.recordset
Set command = New ADODB.command
strConn = "Provider=SQLOLEDB.1;Persist Security Info=true;Data source =1.1.2.7\B;User ID = sa; password=a;Initial catalog=A"
connection.ConnectionString = strConn
connection.Open

command.ActiveConnection = connection
command.CommandText = "pLOAN_LIST"
command.CommandType = adCmdStoredProc
command.Parameters.Refresh
'command.Parameters(1).Value = "3"

Set recordset = command.Execute()

ThisWorkbook.Sheets("Sheet1").Cells(1, 1).CopyFromRecordset recordset

recordset.Close
Set recordset = Nothing

connection.Close
Set connection = Nothing

End Sub

实际上,生成或使用临时表的不是VBA代码,而是存储过程。同样,是存储过程返回临时表

例如,如果要从存储过程返回值集,只需选择它作为最后一个输出

选择 myfield1, myfield2, 麦菲尔德 从…起 @mydefinedtable 哪里 条件=要求 因此,您可能需要首先确定存储过程的实际功能


也许你能比我更详细地描述这一点。

与其删除表,不如删除所有数据。不能删除正在使用的表。此解决方案可能不适用于您,但如果您将数据放入表中,但保留表,则效果基本相同。

您要求的是什么?还不清楚