在MS Access中追加链接表时出现运行时错误

时间:2012-09-12 19:44:50

标签: vba ms-access ms-access-2003

我有一个链接到Excel电子表格的数据库。手动添加链接表时,我没有问题(我只是按照小向导,表格创建完美)。我试图使用VBA自动执行:

Dim db as DAO.Database
Dim tdf as TableDef

Set db = CurrentDB
Set tdf = db.CreateTableDef("linked_table")
tdf.Connect = "Excel 8.0;HDR=YES;IMEX=2;DATABASE=" & Me.txtExcelFile  ' references form field
db.TableDefs.Append tdf  ' Here's where I get a run time error

不幸的是,我在最后一行得到了运行时错误3264,它说:“没有字段定义 - 不能附加TableDefs或Index。”我甚至不确定为什么需要最后一行(从文档中我发现将表添加到数据库的TableDefs集合中)。有关解决错误的任何建议吗?

1 个答案:

答案 0 :(得分:4)

你错过了:

tdf.SourceTableName = "Sheet1$"

或者您希望用作表格的任何范围或工作表名称。

所以,总之,这对我有用:

Dim db as DAO.Database
Dim tdf as TableDef

Set db = CurrentDB
Set tdf = db.CreateTableDef("linked_table")
tdf.SourceTableName = "Sheet1$"
tdf.Connect = "Excel 8.0;HDR=YES;IMEX=2;DATABASE=" & Me.txtExcelFile  ' references form field
db.TableDefs.Append tdf

您还可以使用TransferSpreadsheet链接Excel