在Excel/VBA中执行Currentdb.execute的问题
下面是我尝试使用excel/access 2007所做的工作。我有一张桌子。我试图创建一个临时表来存储字符串strSQL_Insert中存储的查询结果。然而,当我尝试执行DoCmd.RunSQL时,我得到一个运行时错误“424”。“所需对象”。我试着自己执行查询并将结果输入excel,结果似乎正常。这是我的在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
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,看看是否会产生任何结果。欢迎使用堆栈溢出!请务必阅读选择标记时弹出的有用说明。