我有一個鏈接的數據庫到我的Access前端。從Excel文件導入數據,所以文件沒有從其他用戶鎖定用戶
此Excel電子表格更新頻率非常高,每當用戶打開前端時,它也會在另一個窗口中打開鏈接的Excel電子表格,從而防止其他人嘗試使用該鏈接的電子表格。
我試圖想出幾個不同的解決方案,並沒有佔上風。
方法1:
利用VBA創建Excel的副本通過以下行每次打開表單時文件在本地目錄。
Private Sub Form_Load()
FileCopy "\\calfs01\LOCATION_A\FILE.xlsx", _
"\\calfs01\LOCATION_B\FILE.xlsx"
End Sub
我收到一條錯誤消息,指出我沒有複製它所需的權限。不過,我有權限訪問此文件,因爲我可以手動執行此操作。
方法2:
鏈接的Excel電子表格代替,創建基於從Excel電子表格中的數據的新表,並將它上的Form_Load更新表()。最後,我無法完成這一步,很不幸失去了代碼!
使用自動化過程的問題是Excel電子表格中的前兩行是標題,我不知道解決此問題的方法。
方法3:
使用批處理文件複製Excel文件,但該文件位於網絡驅動器上(糾正我,如果我錯了),不能從網絡驅動器複製。
我在這裏的主要問題是什麼將是做下面的步驟的最佳方式?
- 將文件複製在本地(或網絡上,只要有至少一個拷貝爲每個用戶因此沒有衝突的連接問題到電子表格)
- 鏈接文件拷貝一次
所以,如果我使用方法2,你有什麼我可以用作參考來幫助我使用這種方法嗎?某種類的教程?另外,在導入時,是否可以使用此過程更改每列的名稱?有181列,我不介意手動執行1次代碼,只要它是一次性的,不需要每次打開數據庫就完成 – Maldred
使用這兩種方法的方法二,你可以實際列狀態名稱(第一種方法就像'SELECT F1 As ColumnA,F2 As Column2 etc FROM etc',第二種方法插入現有表並使用其列名)。我沒有教程(可以閱讀[DoCmd.TransferSpreadsheet]的官方文檔(https://msdn.microsoft.com/en-us/vba/access-vba/articles/docmd-transferspreadsheet-method-access ),只是寫出了這兩種方法,儘管我將我的答案鏈接到命名範圍的快速指南。 –