VB 急急急急~!! 请高手过来看看

来源:百度知道 编辑:UC知道 时间:2024/05/05 10:34:46
VB校验程序怎么编
假定高校招生中,准考证号是表示考生的关键字。为了正确的判断准考证号输入的正确性,将7位数的考证号在起前面加一位检验位,构成有检验位的8位准考证。 现假定公式为
=================================
7
a=(∑Di*i)mod 10
i=1
公式中的 7和 i=1 分别是在∑上下的 是公式中的一部分
其中 a为检验码,Di为第i位的数
例如某准考证号为:2573458,则检验位为
a=(8*1+5*2+4*3+3*4+7*5+5*6+2*7) mod 10 =1
具有检验位的准考证号为12573458

要求:
1输入7位数的准考证好,单击“产生”按钮,产生对应具有检验位锝位数的准考证,并在标签中显示,当输入非7位数字,显示出错信息,清除输入内容,重新输入
2输入具有检验位的8位准考证号,单击“检验”按钮,检验输入的准考证号正确与否,当输入非8位数字,显示出错,清除输入的内容,重新输入

小弟初学者 ,不是很懂,望各位高手帮忙指教。能否将代码复制下来 让我看看 先谢谢了
2楼的高手 COMMAND2 有问题 不知道错哪里 谢谢

一个文本框,2个命令按钮,不改任何属性,程序测试可用
什么问题,我用着没问题啊
Private Sub Command1_Click()
If Len(Text1.Text) <> 7 Then
msg = MsgBox("请输入长度为7的准考证号", vbOKOnly + vbExclamation)
Text1 = ""
Text1.SetFocus
Else
For i = 1 To 7
Sum = Sum + Val(Mid(Text1.Text, i, 1)) * (8 - i)
Next
Text1 = CStr(Sum Mod 10) + Text1
End If
End Sub

Private Sub Command2_Click()
If Len(Text1.Text) <> 8 Then
msg = MsgBox("请输入长度为8的校验准考证号", vbOKOnly + vbExclamation)
Else
For i = 2 To 8
Sum = Sum + Val(Mid(Text1.Text, i, 1)) * (9 - i)
Next i
If Sum Mod 10 <> Val(Mid(Text1.Text, 1, 1)) Then
msg = MsgBox("对不起,您输入的号码不正确,请重新输入", vbOKOnly + vbExclamation)
Text1 = ""
Text1.SetFocus
Else
msg = MsgBox("验证通过,该准考证号为:" & vbCrLf & Right(Text1, 7), vbOKOnly)
Text1 = ""
Text1.SetFocus
End If
End If
End Sub<