我正在做一个标记更新数据库系统。我需要将每个文本框的值限制为小于 100,当大于 100 或不是数字时,会弹出一个消息框并且在用户更改错误之前不会保存数据。我该怎么做?
问问题
3630 次
2 回答
2
我同意 Hiren Pandya 的观点,但我想我也会添加我自己的观点。
请注意,将字符串转换为数值并非易事,但 VB6 中的Val、CInt、 CDBl 等函数都可以为您提供接近您想要的行为。(其中一些链接用于 VB.Net,但仍然很有价值)。当您自己验证用户输入时,您要确保正在考虑数字分组、正/负、小数分隔符等。大多数时候,内置功能已经足够好了。
Private Sub Text1_Change()
On Error GoTo Err_Handler
Dim text As String
text = Text1.text
If IsNumeric(text) = True Then
'If you only want integers...
Dim value As Integer
value = Val(text)
If value <= 100 And value > 0 Then
'The value is good so whatever stuff you need to do
'And then leave the procedure
Exit Sub
End If
End If
'Let everything else fall through here...
Err_Handler:
MsgBox "Invalid input."
'Other stuff to prevent saving
End Sub
于 2013-03-23T18:36:43.480 回答
1
在文本框的属性中,将 MaxLength 设置为 2。
如果您想要一条消息,请在文本框中更改事件中,您可以...
If Len(txtBox.Text)>2 then msgbox...
然后在消息框中添加您的消息。
如果您需要,我可以详细说明。像下面这样的东西......
Private Sub Text1_Change()
If Len(Text1) > 6 Then
Text1 = " "
MsgBox "Not more than six"
Text1.SetFocus
End If
End Sub
于 2013-03-23T18:17:26.457 回答