TransferSpreadsheet 删除伪重复项
TransferSpreadsheet dropping pseudo-duplicates
我正在修改一个 Access 2010 进程,该进程使用 TransferSpreadsheet 将 Excel 文件导入临时文件 table,清理数据,然后将其导出。 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
tmpTABLE
中的第一列Patient
似乎设置为主键(或具有唯一索引)。所以它不能有重复值,并删除那些记录。
由于您的导入文件中有字段名,您可以向 tmpTABLE
添加一个新的自动编号列,将其设置为主键,并使用与之前相同的代码进行导入。
新列不会从导入的数据中设置,而是自动从自动编号中设置。
我正在修改一个 Access 2010 进程,该进程使用 TransferSpreadsheet 将 Excel 文件导入临时文件 table,清理数据,然后将其导出。 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
tmpTABLE
中的第一列Patient
似乎设置为主键(或具有唯一索引)。所以它不能有重复值,并删除那些记录。
由于您的导入文件中有字段名,您可以向 tmpTABLE
添加一个新的自动编号列,将其设置为主键,并使用与之前相同的代码进行导入。
新列不会从导入的数据中设置,而是自动从自动编号中设置。