【问题标题】:Preventing a user from entering anything but integers into a textbox防止用户在文本框中输入除整数以外的任何内容
【发布时间】:2015-05-03 08:55:17
【问题描述】:

我正在 Access 中构建一个表单,并且我有几个需要整数值的文本框。现在您可以输入字符而不是数字,按下提交按钮时会弹出一个调试窗口。在整数文本框中输入无效条目时,如何防止用户按下提交按钮。

谢谢!

【问题讨论】:

  • 您是否尝试将“检查号码”代码放入文本框的_BeforeUpdateOnChange 事件中?

标签: ms-access vba


【解决方案1】:

首先,在表格设计中将字段设为数字类型。然后转到“字段属性”并确保“字段大小”设置为整数。这会处理十进制数字,因为它会在文本框失去焦点时将它们四舍五入为最接近的整数。

接下来,进入提交按钮属性并设置 Enabled = False。这会将其变灰,并且不允许用户单击它。您可能希望将此代码添加到表单的 On Current 属性中,以便在加载记录时,它会根据已有的值启用或禁用提交按钮。如果表单上有多个整数文本框,则需要将多个整数文本框对象“与”到相同的 if 语句:

Private Sub Form_Current()
    If Not IsNumeric(Me.IntegerTextBox.Value) Then
        Me.SubmitButton.Enabled = False
    Else
        Me.SubmitButton.Enabled = True
    End If
End Sub

最后,将此代码添加到文本框的 On Change 事件中。这将在输入适当的数值时启用按钮,并在每次按下键时更新按钮。

Private Sub IntegerTextBox_Change()
    If Not IsNumeric(Me.IntegerTextBox.Text) Then
        Me.SubmitButton.Enabled = False
    Else
        Me.SubmitButton.Enabled = True
    End If
End Sub

对表单上的每个整数字段执行此操作。

【讨论】:

  • 只是想知道这是否是您正在寻找的答案?
  • 有什么方法可以使用此代码并仍然允许小数吗?但我认为这是我需要进入的正确方向
  • 是的。进入您的表格设计并设置字段类型 Number。然后转到字段属性并将属性“字段大小”从整数更改为单(或双,如果你有大小数)。我会将发布的答案保留为整数,因为这是您最初的问题。
  • @BriannaCates 另外,请参阅我为表单的 On Current 事件添加的另一个步骤。
  • 太棒了!非常感谢
【解决方案2】:

在表格设计中,将数据类型编号(整数)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-05
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 2011-01-17
    相关资源
    最近更新 更多