我有一个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!)中的值执行的,而不是从记录集中执行的。那么循环它的效用是什么? –