2014-01-28 2 views
0

Вот что я пытаюсь сделать с excel/access 2007. У меня есть таблица в Access. Я пытаюсь создать временную таблицу для хранения результатов запроса, хранящихся в строке strSQL_Insert. Однако, когда я пытаюсь выполнить DoCmd.RunSQL, я получаю ошибку времени выполнения «424». Msgstr "Требуется объект". Я попытался выполнить сам запрос и получить результаты в excel, и это, похоже, работает нормально. Вот что у меня естьОшибка выполнения Currentdb.execute в Excel/VBA

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 и посмотрите, дает ли это какие-либо результаты.

Смежные вопросы