问题:物料表中存在重复记录,现在要求删除掉多余的重复记录,每个物料编码只保存一条记录,要如何处理?
解答:如果重复记录所有字段的值都相同的情况下,直接用查询从物料表中取排除重复记录的数据,然后将其生成一个新表“物料表_新表”:
Select DISTINCT * INTO 物料表_新表 FROM 物料表;
运行此查询后删除原来的“物料表”,将“物料表_新表”重命名为“物料表”即可。
如果不能确定除物料编码之外的字段值是否也相同,则就不能用查询的方法,而需要用到记录集来处理了,以下是DAO方式的处理代码,ADO和这个也差不多:
- Dim rst As DAO.Recordset
- Dim strTemp As String
- Set rst=CurrentDb.OpenRecordset("Select * FROM 物料表 orDER BY 物料编码")
- If rst.RecordCount>0 Then
- rst.MoveFirst
- strTemp=rst!物料编码
- rst.MoveNext
- Do Until rst.EOF
- If rst!物料编码=strTemp Then
- rst.Delete
- Else
- strTemp=rst!物料编码
- End If
- rst.MoveNext
- Loop
- End If
- rst.Close
- Set rst=Nothing