2013-10-16 120 views
2

我有一个Access数据库。以下是几个表格的设置。将Excel电子表格导入现有的MS Access表格

ID - companyID(自动编号)PK,公司(文本),名字(文本),姓氏(文本)

类别 - companyID(数量)联合PK与类别,类别(文本)

推销员 - companyID(number)将PK与代码,代码(文本)结合起来

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

如果我有一个公司,名字,姓氏,类别1,类别2,类别3,salesman1,salesman2列的电子表格,我怎么能将列导入到适当的表?

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

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

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

谢谢!

回答

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数据需要进入,所有这些代码都可以放在窗体上的按钮后面,这样用户只需要在新数据可用时按下按钮。

+0

我该如何确定我向id表中添加一行时所获得的companyID自动编号与我插入类别表中的companyID匹配?我仍然不确定如何将companyID添加到类别和销售人员表中。我可以提示允许用户选择要导入的Excel文件吗? – Tmcc

相关问题