Перебирая набор записей vb6 - PullRequest
0 голосов
/ 26 мая 2018

Итак, я сделал это миллионами разных способов, но это немного беспокоит меня.Я пытаюсь перебрать набор записей, определить номер и сравнить со следующей записью.Если они совпадают, я хочу изменить соответствующее значение.Кажется, это работает, в некоторой степени, но затем я получаю все записи как «Совпадающие» .... говоря, что «Нет соответствующих записей».Я уверен, что это что-то глупое, что я скучаю, так что если кто-то может указать на мой недостаток здесь, это было бы здорово!Как всегда, заранее спасибо !!!

    con.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\Books.mdb;" & _
"Jet OLEDB:Engine Type=4;"

rs1.Open "A", con, adOpenKeyset, adLockPessimistic, adCmdTableDirect
rs2.Open "B", con, adOpenKeyset, adLockPessimistic, adCmdTableDirect

rs1.MoveFirst
While Not rs1.EOF
    rs2.MoveFirst
    While Not rs2.EOF
         If rs1("ID").Value = rs2("ID").Value Then
         With rs2
            !Matching_Criteria = "Matched"
            .Update
            End With
         Else
             With rs2
            !Matching_Criteria = "UnMatched"
            .Update
            End With
         End If
        rs2.MoveNext
    Wend
rs1.MoveNext
Wend

1 Ответ

0 голосов
/ 26 мая 2018
  1. Убедитесь, что бот таблиц находится в монопольном доступе для вас и / или используйте статический первый (я не помню четко)

  2. Заполните обаrst's:

    .MoveLast
    .MoveFirst
    lCnt = .RecordsCount ' (движок не хочет его форматировать ...)

  3. Используйте For i = 1 to lCnt вместо While ... Wend.

...