2013-04-05 195 views
2

我正在嘗試將數據從我的訪問數據庫導出到Excel電子表格。一切都很順利,直到我嘗試爲表單編寫onclick事件。下面是代碼:Onclick將查詢結果從訪問導出到Excel

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "ReportQuery", "C:\helloworld.xlsx", True 

我得到的錯誤是「運行時錯誤3051」 Microsoft Access數據庫引擎無法打開或寫入文件......它已經完全由其他用戶打開或需要權限查看和寫入其數據。

我覺得很難相信引擎沒有權限。有沒有設置或我在這裏失蹤的東西?

+2

您是否有足夠的權限在C:\中創建文件?如果你打開記事本,輸入「Hello」,然後嘗試將它保存爲'C:\ hello.txt'你是否成功? – 2013-04-05 20:43:07

+0

訪問權限以啓動它的用戶/進程的權限運行。它不作爲特殊的系統帳戶運行。 – HansUp 2013-04-05 21:06:31

+0

啊。我懂了。是。這是問題所在。在嘗試網絡驅動器路徑之前,我使用C:\作爲測試位置。我的錯!謝謝! – 2013-04-05 21:19:14

回答

2

您似乎沒有足夠的權限寫入驅動器C:的根目錄。測試時,請始終選擇一個「安全」位置(如「文檔」文件夾)以創建或更新文件。

順便說一句,如果您在創建.xlsx文件時使用acSpreadsheetTypeExcel12Xml而不是acSpreadsheetTypeExcel12,則可能會取得更好的成功。