在连续的表格中,我有一个带有controlsource =“= hasDocument([Nr])的复选框”,该函数的定义如下:
Private Function hasDocument(Nr As Variant) As Boolean
On Error Resume Next
If IsNull(Nr) Then
' pass
ElseIf err <> 0 Then
' pass
Else
hasDocument = DExists("ID", "Kurztexte", "Aufwendungs_Nr=" & Nr)
End If
End Function
大部分时间它都有效,但在某些机器上,函数hasDocument不会触发。 当控件获得焦点时,该函数仅针对该记录在该机器上触发。
使用form.recalc,该函数将触发所有显示的记录。但是当你向下滚动时,Access不会触发新记录的功能。
当我想将此表单用作子表单时,form.recalc的工作方式如上,但随后访问重绘子表单,所有控件再次显示Null。所以,如果该函数从未被解雇..
我做了一个GIF来澄清:
此问题仅发生在Access 2010中。使用Access 2013时,表单也会在控件中加载没有值,但在1-2秒后(有点长),hasDocument函数开始为所有记录触发。
重新启动机器通常会让问题消失一段时间,但它会不断弹出。
有没有人建议什么可能导致这种行为?
答案 0 :(得分:0)
对于遇到同样问题的任何人:Microsoft现在发布一个修复此问题的修补程序。