MS访问自动链接Excel电子表格(MS Access Auto Link Excel Spread

2019-10-29 04:16发布

我有我在哪里具有其自身的目录系统的每个部件管理系统要求的目录结构。 每个组件的要求被存储在具有多个工作表(工作表#是静态的)一个excel工作簿。 我目前使用的访问作为一个中心位置,以查看这些表中的信息并对其进行查询。 我讨厌每一个新的组件文档添加到目录的时间来手动链接新的Excel文件。 有没有一种方法,当每次我开始接触,它会搜索存储Excel文件的目录树,并自动将它们链接来访问,如果他们不链接和更新我保存查询,包括新的文件。 我在想,我可以在这些子目录保存在一个表中的子目录名称和所有文件名中引用其他表,这样它搜索文件系统,它的名字比较表另一个表。 这是可能的,如果因此可能有人点我在正确的方向。

Answer 1:

您可以使用方向或FileSystemObject的递归从目录树中获取文件。 访问存储文件中的TableDef或你的连接属性链接信息能够得到它:

SELECT msysobjects.Database
FROM msysobjects
WHERE (((msysobjects.Database) Is Not Null));

你可以得到的工作表,如下所示:

   ''Requires reference to the Microsoft Excel x.x Object Library

   Dim strFileName As String
   Dim objXL As New Excel.Application 
   Dim wkb As Excel.Workbook
   Dim wks As Object

   ''objXL.Visible = True

   strFileName = "C:\Docs\LTD.xls"
   Set wkb = objXL.Workbooks.Open(strFileName)

   For Each wks In wkb.Worksheets
      DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, _
            wks.Name, strFileName, True, wks.Name & "$"
   Next

   ''Tidy up
   wkb.Close
   Set wkb = Nothing
   objXL.Quit
   Set objXL = Nothing

或使用ADOX.Catalogue: http://forum.lessthandot.com/viewtopic.php?f=95&t=3712



文章来源: MS Access Auto Link Excel Spreadsheets