2014-01-28 3 views
0

다음은 Excel 2007/Access 2007에서 수행하려고하는 작업입니다. Access에 테이블이 있습니다. strSQL_Insert 문자열에 저장된 쿼리 결과를 저장할 임시 테이블을 만들려고합니다. 그러나 DoCmd.RunSQL을 실행하려고하면 런타임 오류 '424'가 발생합니다. "필요한 개체". 쿼리 자체를 실행하고 결과를 Excel로 가져 오려고했는데 제대로 작동하는 것 같았습니다. 여기에 내가 무엇을 가지고있다Excel/VBA에서 Currentdb.execute를 실행하는 문제

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 

어떤 도움을 주시면 감사하겠습니다.

+0

스택 오버플로에 오신 것을 환영합니다! 태그를 선택할 때 팝업되는 유용한 설명을 읽으십시오. – Charles

답변

0

Excel 내에서 실행중인 경우 CurrentDb가 인스턴스화되지 않을 수 있습니다. CurrentDB를 dbConnection으로 바꾸고 이것이 결과를 산출하는지보십시오.

관련 문제