通过自定义功能执行检查时,无法识别复选框的更改。
我们有一个可以单击复选框的表格。在这种情况下,记录将添加到列表中,并使用保存功能对其进行更新。并且提到了用于选中所有复选框的功能,但是这与我单击单个复选框时的行为不一样。
代码“全选”
ModelValue_B
点击复选框
ChildValue
当前使用全选功能时,复选框的状态未保存。仅当单独选中一个复选框时。
在两种情况下都应正确保存。
答案 0 :(得分:0)
使用 AfterUpdate 事件:
Private Sub Befehl83_Click()
With Me.RecordsetClone
.MoveFirst
Do Until .EOF
If !visited.Value = False Then
.Edit
!visited.Value = True
.update
End If
.MoveNext
Loop
End With
End Sub
答案 1 :(得分:0)
这不是一个理想的解决方案:
Private Sub Befehl83_Click()
With Me.Recordset
.MoveFirst
Do Until .EOF
.Edit
.Fields("visited") = True
.Update
Call chkVisited_Click()
.MoveNext
Loop
End With
End Sub
这将主动更新记录集,实际上您会看到活动记录在表单中移动。
另一种解决方案是重新构建代码,并根据表单的记录集直接对基础数据源进行更新。然后相应地更新您的列表。
根据文档,RecordsetClone是表单记录集的只读副本。 https://docs.microsoft.com/en-us/office/vba/api/access.form.recordsetclone