如何使用 VBA 使具有特定标签的所有文本框仅接受 ACCESS 表单中的数值

问题描述

我有一个包含多个文本框的表单,我正在寻找一种方法,如果文本框具有特定标签,则它只接受数字值。

我发现以下代码可以单独完成我想要的操作。

Select Case KeyAscii
    Case vbKey0 To vbKey9,vbKeyBack,vbKeyClear,vbKeyDelete,_
    vbKeyLeft,vbKeyRight,vbKeyUp,vbKeyDown,vbKeyTab
        If KeyAscii = 46 Then If InStr(1,TextBox1.Text,".") Then KeyAscii = 0
    Case Else
        KeyAscii = 0
        Beep
End Select

解决方法

将您的代码包装在一个函数中,然后从控件的按键事件(如果它带有标记)调用它。

或者,如果有很多控件/文本框,请使用 WithEvents

可以在我的项目 VBA.ModernTheme 中找到一个示例(用于点击事件)。

At 可能需要一点时间才能掌握,但它是一种非常强大的技术,可以将冗余代码减少到最低限度。