我正在修改Access 2010进程,该进程使用TransferSpreadsheet将Excel文件导入临时表,清理数据并导出数据。 Excel文件是UID,名称,联系信息等的列表。有时,1个UID将有2个条目,因为有2个电子邮件地址。问题是,当我需要保留两者时,导入只会保留每条记录的第一条。下面的SQL和虚拟数据:
DoCmd.RunSQL ("DELETE * FROM tmpTABLE")
DoCmd.TransferSpreadsheet acImport, 9, "tmpTABLE", Me.txtFile, True
1234567890 Bob Bobson NULL bbobson@bobco.com
1234567890 Bob Bobson NULL bbobson2@bobco.com
0987654321 Fran Frannie NULL ffrannie@fran.com
答案 0 :(得分:0)
似乎Patient
中的第一列tmpTABLE
被设置为主键(或具有唯一索引)。所以它不能有重复的值,并丢弃这些记录。
由于导入文件中有字段名,因此可以向tmpTABLE
添加新的自动编号列,将其设置为主键,并使用与以前相同的代码导入。
新列不会从导入的数据设置,而是从自动编号中自动设置。