比较vb6中的两个记录集

时间:2009-12-07 15:50:51

标签: vb6

HI,

我在vb6中有两个记录集rs1和rs2。我想将rs1中的每条记录与rs2中的每条记录进行比较。如果rs1中的rtn(列)与rs2.then中的rtn相同,则设置date = now和claim = c。

这就是我想做的事情。如何将rs1中的每一行与rs2中的每一行进行比较。请帮帮我。

2 个答案:

答案 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) ...)