在Excel/VBA中执行Currentdb.execute的问题

在Excel/VBA中执行Currentdb.execute的问题,excel,vba,ms-access,Excel,Vba,Ms Access,下面是我尝试使用excel/access 2007所做的工作。我有一张桌子。我试图创建一个临时表来存储字符串strSQL_Insert中存储的查询结果。然而,当我尝试执行DoCmd.RunSQL时,我得到一个运行时错误“424”。“所需对象”。我试着自己执行查询并将结果输入excel,结果似乎正常。这是我的 Sub GetDataADO() Dim dbConnection As Object Dim dbRecordSet As Object Dim strSQL As String Di

下面是我尝试使用excel/access 2007所做的工作。我有一张桌子。我试图创建一个临时表来存储字符串strSQL_Insert中存储的查询结果。然而,当我尝试执行DoCmd.RunSQL时,我得到一个运行时错误“424”。“所需对象”。我试着自己执行查询并将结果输入excel,结果似乎正常。这是我的

Sub GetDataADO()

Dim dbConnection As Object
Dim dbRecordSet  As Object
Dim strSQL As String
Dim dbFileName As String
Dim DestinationSheet As Worksheet
Dim strTable As String
Dim strSQL_Insert As String

strTable = "tblTempTest"

Set dbConnection = CreateObject("ADODB.Connection")
Set dbRecordSet = CreateObject("ADODB.Recordset")

dbFileName = "H:\Unscan.accdb"

dbConnection.Provider = "Microsoft.ACE.OLEDB.12.0;Data Source=" _
& dbFileName & ";Persist Security Info=False;"

Set DestinationSheet = Worksheets("Sheet2")

With dbConnection
     .Open
 End With

strSQL_Insert = "INSERT INTO tblTempTest " _
& "SELECT TOP 10 BranchNumber , COUNT(*) as Total FROM BUDetails " _
& "GROUP BY BranchNumber ORDER BY 2 DESC ;"

CurrentDb.Execute strSQL_Insert

dbRecordSet.Close
dbConnection.Close

Set dbRecordSet = Nothing
Set dbConnection = Nothing
Set DestinationSheet = Nothing


Exit Sub

End Sub

非常感谢您的帮助。

如果您是从Excel中运行此功能,则CurrentDb可能不会被实例化。尝试用dbConnection替换CurrentDB,看看是否会产生任何结果。

欢迎使用堆栈溢出!请务必阅读选择标记时弹出的有用说明。