在Access中将许多空文本框更改为0

时间:2015-01-09 15:38:31

标签: database vba ms-access access-vba

在丢失焦点后,将Null中的所有文本框更改为值0.0时出现问题。具体来说,如果在按Tab键后文本框为空白,它将恢复为0,因为它会影响表单其他部分的计算。为每个文本框事件过程编写代码(57个左右的框)似乎很乏味,所有框的名称都不同。

我想知道是否有一种有效的方法可以在轻松失去焦点后更改文本框值,而不是更改表单中每个文本框的事件过程。

由于

1 个答案:

答案 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

然后,您只需在设计模式下选择所有控件,并将标记设置为“默认”。不是最好的答案,但除了使用每个“迷失焦点”事件之外,我并没有真正看到任何其他选项。