我有一個On_Load()
子,它檢查子窗體上的記錄,按記錄記錄。例如,如果子窗體加載了12條記錄,則需要該子項以第一條記錄開始,運行DCount
(它會檢查該作業編號是否出現在另一個表上),然後移至下一條記錄,然後檢查那一個等,直到達到最後的記錄。這裏是我的代碼的時刻:VBA訪問 - 檢查子窗體加載記錄集
Set rst = Me.RecordsetClone
On Error Resume Next
rst.MoveFirst
'Put code to check keyword schedule here. First get job no
Do Until Me.Specific_Job_No.Value = "00"
strSpec = Format(Me.Specific_Job_No.Value, "00")
strJob = Left(Me.Parent.JobRef.Value, 18) + strSpec
'Then check if that job no is in slot 1, then 2, etc
If DCount("*", "tblKeywordsSchedule", "[Slot1] Like ""*" & strJob & "*""") > 0 Then
Me![Added to Schedule] = True
Me![Added to Schedule].Locked = True
Else
Me![Added to Schedule] = False
Me![Added to Schedule].Locked = False
End If
'Then go to next record
rst.MoveNext
Loop
我的問題是,它被卡在rst.MoveNext
,只是不斷一遍又一遍檢查的第一條記錄。我究竟做錯了什麼?
你的代碼對我沒有意義。您正在對與您的記錄集無關的標準執行循環,並且在循環中您不會對記錄集中存在的任何值執行任何操作。你想要達到什麼? –
@ThomasG我正在嘗試循環訪問記錄集中的十二條記錄,並對它們進行一些操作(以DCount爲準)。 – TCassa
Dount以及之後的所有內容都是根據您的表單(Me!)中的值執行的,而不是從記錄集中執行的。那麼循環它的效用是什麼? –