2014-10-27 3 views
0

У меня есть база данных доступа к интерфейсу, которая имеет только формы и код и базу данных доступа на заднем плане, которая имеет все таблицы данных. Я создаю базу данных временного доступа для выполнения всех необходимых вычислений. В форме в базе данных front end у меня есть кнопка, которая при щелчке должна выводить таблицу в базе данных temp, чтобы преуспеть. Когда я пытаюсь использовать docmd.outputto или docmd.transferspreadsheet, я получаю ту же ошибку # 3011 - Механизм базы данных Microsoft Access не смог найти объект. Нужно ли мне пытаться экспортировать таблицу с помощью другой команды, или я пытаюсь сделать что-то, что даже не возможно?Как экспортировать таблицу из другой базы данных доступа в excel

Sub expottbl() 
On Error GoTo Err_handle 

Dim rstable As DAO.Recordset 
Dim rsplan As DAO.Recordset 
Dim ppath As String 
dim tmpdb As DAO.Database 
dim bedb As DAO.Database 
dim wrkacc As DAO.Workspace 

Set wrkacc = DBEngine(0) 
Set tmpdb = wrkacc.OpenDatabase(tmppath) 
ppath = “c:/my documents" 

‘check for open file 
If IsXLBookOpen(ppath) = True Then 
MsgBox "Excel workbook is being used by another user. file cannot be exported" 
rstable.Close: Set rstable = Nothing 
rsplan.Close: Set rsplan = Nothing 
tmpdb.Close 
wrkacc.Close 
Set tmpdb = Nothing 
Set wrkacc = Nothing 
Exit Sub 
End If 
rstable.Close: Set rstable = Nothing 
rsplan.Close: Set rsplan = Nothing 

‘export table  
DoCmd.SetWarnings False 
‘outputto option 
DoCmd.OutputTo acOutputTable, "calc_tbl", acFormatXLSX, ppath, False, "", 0 

‘transferspreadsheet option 
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "calc_tbl", ppath, False 

MsgBox strloc & " file exported to:" & vbCrLf & ppath, vbInformation, "" 
DoCmd.SetWarnings True 

Set tmpdb = Nothing 
Set wrkacc = Nothing 

Exit Sub 

exit_handle: 'exit due to error 
Exit Sub 

Err_handle: 'error info 
MsgBox "MS Access has generated the following error" & vbCrLf & vbCrLf & "Error Number: " & _ 
Err.Number & vbCrLf & "Error Description: " & _ 
Err.Description, vbCritical, "An Error has Occured!" 
Resume exit_handle 

End Sub 

ответ

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