сравнить два набора записей в VB6 - PullRequest
1 голос
/ 07 декабря 2009

HI

У меня есть два набора записей rs1 и rs2 в vb6. Я хочу сравнить каждую запись в RS1 с каждой записью в RS2. Если rtn (столбец) в rs1 такой же, как в rtn в rs2.then, то установите дату = сейчас и заявите = c.

Это то, что я хочу сделать. Как сравнить каждую строку в rs1 с каждой строкой в ​​rs2. Помогите мне, пожалуйста.

Ответы [ 2 ]

1 голос
/ 07 декабря 2009

Просто зациклите оба набора записей во внутреннем и внешнем цикле, как показано ниже

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
0 голосов
/ 14 декабря 2009

Гораздо лучшим решением было бы сравнение в Query / SQL вместо кода, чтобы каждая несоответствующая строка возвращалась из одного запроса.

Например

SELECT T1.*,T2.* 
FROM T1,T2
WHERE (T1.ID=T2.ID) AND 
     ((T1.Field1<>T2.Field1) OR (T1.Field2<>T2.Field2) ...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...