通过VBA将Excel文件导入Access时出现问题

时间:2019-03-29 20:52:38

标签: vba ms-access access-vba

我创建了一个多用户访问表单,该表单基本上在一天中的大部分时间都在多人计算机上打开。在此表单上,我创建了一个按钮,该按钮将通过VBA导入Excel电子表格。代码是:

Option Compare Database

Private Sub Command0_Click()

DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE ExcelTable.* FROM ExcelTable;"
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "ExcelTable", "C:\Users\JohnDoe\Documents\MyTable.xlsx", True, "Data!A6:DB" & numberofrows
DoCmd.SetWarnings True

End Sub

此代码可以很好地导入数据。但是,用户经常需要全天更新电子表格。我经常遇到两个问题:

  1. 如果用户尝试使用更新的版本覆盖原始电子表格,则会收到错误消息“无法访问只读文档”。

  2. 如果用户尝试打开电子表格,则会收到错误消息,指出excel文件已被锁定以进行编辑。

给我的印象是,通过运行上面的VBA代码,用户正在导入静态表(而不是链接表),这意味着一旦将该表导入Access,它就不再引用原始Excel文件。

如何解决这些错误消息?

用户将需要在一整天内多次更新excel文件,现在,每个人都必须完全退出Access才能访问原始excel文件。

0 个答案:

没有答案