在访问数据库中进行修改之前触发AfterUpdate

时间:2013-05-21 12:42:34

标签: ms-access

在Access 2003上,我有一些数据绑定到一个表,其中一个 True / False 列名为 Selection 我可以检查。

我需要使用所选项目的计数更新文本框。 (选择=真

当我使用复选框的 AfterUpdate 事件时,我注意到dabase中的修改无效,因此我选择的项目编号错误(当我检查一行时,我有count - 1,当我取消选中时,我已计算+ 1)

你知道解决方法吗?

我试过了:

  nombreSelections = DCount("*", "TmpSelectionPalette", "Selection = True")
  If (Selection.value) Then
        nombreSelections = nombreSelections + 1
  Else
        nombreSelections = nombreSelections - 1
  End If

但是这个技巧不起作用,有时我有好的数,有时候不是

1 个答案:

答案 0 :(得分:1)

如果您要使用DCount(),并且希望在单击复选框后立即更新计数,则需要将表单的.Dirty属性设置为False以提交(写入) )表的变化。也就是说,你需要这样的东西:

Private Sub chkSelection_AfterUpdate()
Me.Dirty = False  '' commit changes
Me.txtSelectedCount.Value = DCount("*", "Clients", "Selection")
End Sub