在丢失焦点后,将Null中的所有文本框更改为值0.0时出现问题。具体来说,如果在按Tab键后文本框为空白,它将恢复为0,因为它会影响表单其他部分的计算。为每个文本框事件过程编写代码(57个左右的框)似乎很乏味,所有框的名称都不同。
我想知道是否有一种有效的方法可以在轻松失去焦点后更改文本框值,而不是更改表单中每个文本框的事件过程。
由于
答案 0 :(得分:0)
想想我会举一个例子和我的评论。你可以沿着这些方向使用:
Public Function DefaultToZero(frm As Form)
Dim ctrl As Access.Control
For Each ctrl In frm
If ctrl.Tag = "Default" Then
If Nz(ctrl.Value, "") = "" Then
ctrl.Value= "0.0"
End If
End If
Next ctrl
End Function
然后,您只需在设计模式下选择所有控件,并将标记设置为“默认”。不是最好的答案,但除了使用每个“迷失焦点”事件之外,我并没有真正看到任何其他选项。