2

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

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

category - companyID(数字)与类别、类别(文本)组合的PK

salesmen - companyID(number) 结合code PK,code(文字)

id 和 category 之间以及 id 和 salesmen 之间存在一对多的关系。

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

我的第一个想法是导入电子表格,然后将公司、名字和姓氏附加到 id 表中。然后我会将导入的电子表格与 id 表连接起来,以创建一个包含所有电子表格列以及自动生成的 companyID 的新表。然后我可以将 companyID 和 category1 附加到类别表中。然后对类别 2 和 3 执行相同的操作,依此类推。

如果我有很多电子表格要导入,这似乎真的很复杂。此外,将导入电子表格的人不是程序员,因此她希望它尽可能用户友好。

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

谢谢!

4

1 回答 1

2

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

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

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

于 2013-10-16T08:08:33.500 回答