Переход через DAO.Recordset - пропускает первые 2540 записей - А? - PullRequest
0 голосов
/ 03 октября 2019

Кажется достаточно простой задачей, но я вижу странный результат.

1) Набор записей основан на действительном запросе, который возвращает 2739 записей

2) Когда я .MoveFirstзатем выполните команду .MoveNext, отправив вывод в debug.print, и цикл, похоже, пропускает первые 2540 записей. Индексные номера совпадают со значениями идентификатора из моего запроса.

3) Упрощенный код ниже достигает EOF, как и ожидалось

Есть предложения, что может произойти?

Dim rs1 As DAO.Recordset
Dim n As Integer
Dim db As Database

Set db = CurrentDb
Set rs1 = db.OpenRecordset("myQuery")

n = 0

With rs1
    .MoveFirst
    Do Until .EOF
        n = n + 1
        Debug.Print n & " - " & .Fields("INPUT_ID")
        .MoveNext
    Loop
End With

Результаты отладки выглядят следующим образом:

2541 - 26023261
2542 - 26023262
2543 - 26023263
<<snip>>
2737 - 26023457
2738 - 26023458
2739 - 26023459

Что случилось со строками с 1 по 2540?

1 Ответ

2 голосов
/ 03 октября 2019

В ближайшем окне предел строки равен 199. Таким образом, он отображает только результаты последних 199 строк вашего кода.

...