例子:
a=text1.text
if a < 10 then
msgbox "你输入数字是" & a
else
msgbox "输入不能大于10"
end if
上面是个简单的例子。
我的思路是当我第一次输入数小于10。如输入的是6,给我提示。
当我第二次输入数大于10。给我错误提示。在给我错误提示以后,能不能把我这次输入错误的数字在text1.text里取消并显示上次输入对的数字。
第一次输入6,=对。
第二次输入15,=错。
错误提示反回窗口。第二次输入15不见,显示的是第一次对的6这个数字。
也不知道我说的明白不明白。希望高手帮我看看能不能实现,最好给个小例子。
a=text1.text
if a < 10 then
msgbox "你输入数字是" & a
else
msgbox "输入不能大于10"
end if
上面是个简单的例子。
我的思路是当我第一次输入数小于10。如输入的是6,给我提示。
当我第二次输入数大于10。给我错误提示。在给我错误提示以后,能不能把我这次输入错误的数字在text1.text里取消并显示上次输入对的数字。
第一次输入6,=对。
第二次输入15,=错。
错误提示反回窗口。第二次输入15不见,显示的是第一次对的6这个数字。
也不知道我说的明白不明白。希望高手帮我看看能不能实现,最好给个小例子。
Num=val(trim(text1.text))if Num>=0 And Num<10 then msgbox "你输入的数字为" & str(Num) Num2=Numelse msgbox "输入的数据不能大于10" text1.text=Num2end if
----------------------------------
Option Explicit
Dim b As StringPrivate Sub Command1_Click()
Dim a As Stringa = Text1.Text
If a < 10 Then
MsgBox "你输入的是" & a
b = a
Else
b = b
MsgBox "请输入正确的值!" & "上次您输入的是..." & b
Text1.Text = b
End If
End SubPrivate Sub Form_Load()
Text1.Text = ""
End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
KeyAscii = 8
ElseIf KeyAscii < 46 Or KeyAscii > 57 Then
KeyAscii = 0
End IfEnd Sub
------------------------------
说明:
Text1_KeyPress(KeyAscii As Integer) 该事件让文本框只能输入数字和小数点.程序最主要的部分是:
通用部分的变量b的声明:Dim b As String 该变量记录正确的值..
请结帖!!
我的程序如下:
Private Sub Text1_Change(index As Integer)
m1 = Val(Text1(0).Text)
m2 = Val(Text1(1).Text)
..............
m20 = Val(Text1(19).Text)
........
........
m0 = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10
If m0 < 17 Then
.............
.............
Label10.Caption = "︻" & 16 - m1 - m2 - m3 - m4 - m5 - m6 - m7 - m8 - m9 - m10 & " ︼"Else
Label1.Caption = "请不要大于16"
End If
Private Sub Text1_Change(Index As Integer)
Dim N(0 To intTextNum) As Integer
Dim M(0 To intTextNum) As Integer
Dim i As Integer
M(0) = 0
For i = 1 To intTextNum
M(i) = Val(Text1(i).Text)
M(0) = M(0) + M(i)
Next
If M(0) < 17 Then
N(Index) = M(Index)
.............
.............
Label10.Caption = "?" & 16 - m1 - m2 - m3 - m4 - m5 - m6 - m7 - m8 - m9 - m10 & " ?"
Else
Label1.Caption = "?晄梫戝槹16"
Text1(Index).Text = N(Index)
End IfEnd Sub
我有5组text,第一组有20个。前10个管用,后10个不管用。在后10个中出现不管用后,前10个也就不管用了。
第二---第五组只是第一个管用。这几组每组都是5个text。
因为数组个数不同,我没有用Private Const intTextNum = 100而是自己设定
Dim N(0 To 19) As Integer
Dim M(0 To 19) As Integer和 Dim N(0 To 4 As Integer
Dim M(0 To 4) As Integer
以下是我的相应代码:为第二组text其它同样
Private Sub Text2_Change(index As Integer)
Dim N(0 To 4) As Integer
Dim M(0 To 4) As Integer
Dim i As Integer
M(0) = 0
For i = 1 To 4
M(i) = Val(Text2(i).Text)
M(0) = M(0) + M(i)
Next
m21 = Val(Text2(0).Text)
m22 = Val(Text2(1).Text)
m23 = Val(Text2(2).Text)
m24 = Val(Text2(3).Text)
m25 = Val(Text2(4).Text)
If Check2(0).Value = 0 Then
If Check(0).Value = 1 Then
m0 = (Val(Text1(0).Text) + Val(Text1(1).Text) + Val(Text1(2).Text) + Val(Text1(3).Text) + Val(Text1(4).Text) + Val(Text1(5).Text) + Val(Text1(6).Text) + Val(Text1(7).Text) + Val(Text1(8).Text) + Val(Text1(9).Text))
If m0 < 17 Then
N(index) = M(index)
m0 = (Val(Text1(10).Text) + Val(Text1(11).Text) + Val(Text1(12).Text) + Val(Text1(13).Text) + Val(Text1(14).Text) + Val(Text1(15).Text) + Val(Text1(16).Text) + Val(Text1(17).Text) + Val(Text1(18).Text) + Val(Text1(19).Text))
If m0 < 61 Then
N(index) = M(index)
m0 = (Val(Text2(0).Text) + Val(Text2(1).Text) + Val(Text2(2).Text) + Val(Text2(3).Text) + Val(Text2(4).Text))
If m0 < 61 Then
N(index) = M(index)
............
.........
...........
Else
Set Form9.ParentForm = Me
Form9.Show
Form9.Label1.Caption = "不能大于60天,你的可用天数不够"
Form9.Caption = "输入错误"
Text2(index).Text = N(index)
End If
Else
Set Form9.ParentForm = Me
Form9.Show
Form9.Label1.Caption = "不能大于60天,你的可用天数不够"
Form9.Caption = "输入错误"
Text2(index).Text = N(index)
End If
Else
Set Form9.ParentForm = Me
Form9.Show
Form9.Label1.Caption = "不能大于16天,你的可用天数不够"
Form9.Caption = "输入错误"
Text2(index).Text = N(index)
End If
在我的5组text中。1,4全部管用,5没有用上这个方法。2,3text组里,每一个不管用。