HI,
我在vb6中有两个记录集rs1和rs2。我想将rs1中的每条记录与rs2中的每条记录进行比较。如果rs1中的rtn(列)与rs2.then中的rtn相同,则设置date = now和claim = c。
这就是我想做的事情。如何将rs1中的每一行与rs2中的每一行进行比较。请帮帮我。
答案 0 :(得分:1)
只需循环内部和外部循环中的两个记录集,类似于以下
rs1.MoveFirst
While not rs1.EOF
rs2.MoveFirst
While not rs2.EOF
'Do your comparisons here'
if rs1("colum").value = rs2("column").value then
'do other stuff
end if
rs2.MoveNext
Wend
rs1.MoveNext
Wend
如果您需要比较每个字段,您可以迭代以下类似的字段 这假设记录集具有相同顺序的相同字段
Dim i as integer
for i = 0 to rs1.Fields.Count -1
if rs.fields(i).Value = rs2.fields(i).value then
'DO other stuff'
End if
Next i
答案 1 :(得分:0)
更好的解决方案是在Query / SQL而不是代码中进行比较,以便从单个查询返回每个不匹配的行。
例如
SELECT T1.*,T2.*
FROM T1,T2
WHERE (T1.ID=T2.ID) AND
((T1.Field1<>T2.Field1) OR (T1.Field2<>T2.Field2) ...)