Попытка перебрать набор записей из пяти записей и получить бесконечный цикл - PullRequest
0 голосов
/ 30 июня 2019

Вот мой код. Когда это бежит, счет идет к 32 767. Процедура работает только с 5 записями.

Я пробовал MoveLast и MoveFirst вместе без результата.

strSQL = "SELECT * FROM People WHERE people.household_id=" & ziprec!household_id
Set peoplerec = CurrentDb.OpenRecordset(strSQL)
With peoplerec
    While (Not peoplerec.EOF)
        currentage = DateDiff("yyyy", !birthday, rightnow)
        Select Case currentage
            Case 0 To 4
                age_under5 = age_under5 + 1
            Case 5 To 17
                age_5to17 = age_5to17 + 1
            Case 18 To 64
                age_18to64 = age_18to64 + 1
            Case Else
                age_over65 = age_over65 + 1
        End Select
        count = count + 1
        .MoveNext
    Wend
End With

Код должен пройти пять записей и подсчитать количество людей в каждой возрастной группе. Он проходит все пять записей, но бесконечные времена.

1 Ответ

1 голос
/ 01 июля 2019

Попробуйте отладить его следующим образом (в ближайшем окне Ctrl + G в редакторе VBA):

strSQL = "SELECT * FROM People WHERE people.household_id=" & ziprec!household_id
Set peoplerec = CurrentDb.OpenRecordset(strSQL)
Debug.Print "strSQL is: " & strSQL
peoplerec.MoveLast
Debug.Print "peoplerec recordcount is " & peoplerec.RecordCount
peoplerec.MoveFirst
With peoplerec
    While (Not peoplerec.EOF)
        currentage = DateDiff("yyyy", !birthday, rightnow)
        Select Case currentage
            Case 0 To 4
                age_under5 = age_under5 + 1
            Case 5 To 17
                age_5to17 = age_5to17 + 1
            Case 18 To 64
                age_18to64 = age_18to64 + 1
            Case Else
                age_over65 = age_over65 + 1
        End Select
        count = count + 1
        .MoveNext
    Wend
End With

Потому что я не уверен, что есть ровно 5 записей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...