如何将HTML文档与几个表链接到MS Access数据库

时间:2013-05-27 10:00:42

标签: ms-access ms-access-2007 access-vba ms-access-2003 linked-tables

我的目的是将* .html文档链接到MS Access数据库并将其导出到* .XLS文件。 问题是我的* .html文件包含50多个类似的表。

enter image description here

如果我使用“链接HTML向导”,它看起来像

enter image description here

在这里,我可以从html文档中选择我要链接的特定表。 但每次我有不同的html文件与不同数量的表形式从50到100.表的结构是相同的。而且我不确定最好的方法是手动将100个表链接到数据库。另外,我可以在“链接表管理器”中看到我链接表的路径: enter image description here

我写了一些VBA代码来将每个表连接到数据库:

Set MyDB = CurrentDb()
i = 0
For i = 1 To 100

Set MyTable = MyDB.TableDefs("ZVPL")

MyTable.Connect = ";Database=" & MYc_Path_HTML & "\" & "ZVPL.htm" & "\" & "Report output" & i
MyTable.RefreshLink
Call ExportToXLS("ZVPL") 'function that allows to export my table to XLS
i = i+1
Next

但它不起作用。错误是“找不到文件... \报告输出1”。我也检查过,路径是正确的。 从* .html文档中提取所有表的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

通过添加连接字符串解决问题,如:

Set MyDB = CurrentDb()

i = 0
For i = 1 To 100
  Set MyTable = MyDB.CreateTableDef("ZVPL")
  MyTable.SourceTableName = "Report output" & i
  MyTable.Connect = "HTML Import;DSN=ZVPL Link Specification1;HDR=NO;IMEX=3;CharacterSet=65001;Database=" & MYc_Path_ZVPLHTM & "ZVPL.htm"
  MyDB.TableDefs.Append MyTable
  MyDB.TableDefs.Refresh
  Call ExportToXLS("ZVPL") 'Export to Excel
  DoCmd.SetWarnings False
  MyDB.Execute "DROP TABLE " & "ZVPL"
  DoCmd.SetWarnings True
Next