实时数据库更新

时间:2017-07-05 18:41:56

标签: database vba ms-access access-vba

我有~300个相同的Excel电子表格(.xlsx),它们都有十个不同的单元格,我想投影到Access数据库。有些是单个单元格,有几个范围 - 所有这些都在每个单独的工作簿中命名。数据库应保存同一行中同一工作表中的所有值,并且所有数字都应实时更新。

我的目标是使用访问来保持这些单元格内容的运行记录。我尝试使用以下方法将工作簿链接到Master Access数据库:外部数据 - >导入和链接 - > Excel->通过创建链接表链接到数据源 - >在这里,我会选择其中一个命名范围,然后点击“完成”,但每个电子表格只能执行一次。这使得重复此过程对所有电子表格都不可行。

有没有办法使用Access VBA为文件夹中的每个工作簿创建链接的Excel表?

我有点教自己Access,而且我仍然相对较新,所以任何见解都会有所帮助。

干杯。

1 个答案:

答案 0 :(得分:2)

幸运的是,我只是躺在某个地方。这会将所有excel文件链接到与数据库相同的文件夹中。

请注意,这只是使用文件名作为表名,并使用默认设置链接所有内容。更改Public Sub ImportExcel() Dim objFSO As Object 'FileSystemObject Dim databasefolderlocation As String Dim objFolder As Object 'Folder Dim objFile As Variant Set objFSO = CreateObject("Scripting.FileSystemObject") databasefolderlocation = Application.CurrentProject.Path 'This sets the folder, you can change it for another folder Set objFolder = objFSO.GetFolder(databasefolderlocation) For Each objFile In objFolder.Files If objFile.Name Like "*.xls" Or objFile.Name Like "*.xlsx" Then DoCmd.TransferSpreadsheet acLink, , objFile.Name, objFile.Path End If Next objFile End Sub 行以进行自定义。最初我将此链接到表单,以便我可以选择要导入的内容以及如何处理。

{{1}}