将Excel电子表格导入现有MS Access表

时间:2013-10-16 02:56:01

标签: excel ms-access import ms-office

我有一个Access数据库。这是几张桌子的设置。

id - companyID(autonumber)PK,company(text),firstName(text),lastName(text)

category - companyID(number)将PK与类别,类别(文本)相结合

salesmen - companyID(number)将PK与代码,代码(文本)相结合

id和category之间以及id和salesmen之间存在1-many关系。

如果我有一个包含company,firstName,lastName,category1,category2,category3,salesman1,salesman2列的电子表格,我该如何将列导入相应的表?

我的第一个想法是导入电子表格,然后将company,firstName和lastName附加到id表。然后我将使用id表加入导入的电子表格,以创建一个包含所有电子表格列和自动生成的companyID的新表。然后我可以将companyID和category1附加到类别表中。然后对类别2和3执行相同操作,依此类推。

如果要导入很多电子表格,这看起来真的很复杂。此外,导入电子表格的人不是程序员,所以她希望它​​尽可能方便用户。

有没有更好的方法来导入这些电子表格?

谢谢!

1 个答案:

答案 0 :(得分:2)

我要做的是创建另一个表来将原始数据导入,然后将INSERT数据从那里导入相关表格。

DoCmd.RunSQL ("DELETE * FROM ImportDataTable;")
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "ImportDataTable", "C:\exceldata.xls"

Access VBA中的第二行将数据导入名为ImportDataTable的表中(ImportDataTable列名应为F1,F2,F3等)。 然后对某些ImportDataTable数据需要进入的每个表使用追加查询(INSERT INTO)。所有这些代码都可以放在表单上的按钮后面,以便用户只需在新数据可用时按下按钮。