以下是我在学生系统优化中做的一些调整
一、窗体大小调整
每个窗体的大小是固定不变的有的不能正常显示出我们所需要的所有内容,而在属性中改变后运行无法改变。
解决方法:在每个窗体中的Form_Load事件规定适合窗体的宽高
Private Sub Form_Load()
Me.Height = 5000
Me.Width = 8000
End Sub
二、用户登录窗体
限制用户名不能输入特殊字符(包括中英文)
这个方法同样适用于添加用户名的时候
方法一:
Private Sub txtUserName_KeyPress(KeyAscii As Integer)
Dim cTemp As String
cTemp = "`~!@#$%^&*()-=_+[]{};:'\|<>/?.‘“”’、,。——+()《》?,~·……¥!:;【】" & """ '禁止输入特殊的字符"
If InStr(1, cTemp, Chr(KeyAscii)) <> 0 Then KeyAscii = 0
End Sub
个人试了一次所有的特殊字符加标点符号一共64个,而且重重之重的是要将英文的”单独用连接符新建一个,否则就会出现错误
方法二:
Private Sub txtUserName_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8
Case Asc("A") To Asc("Z")
Case Asc("0") To Asc("9")
Case Asc("a") To Asc("z")
Case Is < 0
Case Else
KeyAscii = 0
End Select
End Sub
三、修改密码窗体
1.显示登录者的用户名
Private Sub Form_Load()
Label4.Caption = name
End Sub
2.验证原密码
Private Sub cmdOK_Click()
Dim txtSQL, MsgText As String
Dim mrc As ADODB.Recordset
'判断原密码是否为空
txtSQL = "select * from user_Info where user_ID = '" & UserName & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Trim(text1(2).Text) <> Trim(mrc.Fields(1)) Then
MsgBox "原密码输入输入不正确!", vbOKOnly + vbExclamation, "提示"
text1(2).SetFocus
text1(2).Text = ""
text1(0).Text = ""
text1(1).Text = ""
End If
'判断新密码是否为空
If Trim(text1(0).Text) <> Trim(text1(1).Text) Then
MsgBox "密码输入不正确!", vbOKOnly + vbExclamation, "警告"
text1(1).SetFocus
text1(1).Text = ""
Else
txtSQL = "select * from user_Info where user_ID = '" & UserName & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.Fields(1) = text1(0).Text
mrc.Update
mrc.Close
MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"
Me.Hide
End If
End Sub
四、添加学籍窗体
1.限制学号框
限制长度
方法一:直接将txtSID的MaxLength属性设置成11
方法二:
Private Sub cmdOK_Click()
'判断学号是否超过11位
If Len(txtSID.Text) > 11 Then
MsgBox "您输入的学号过长,请重新输入!", vbOKOnly + vbExclamation, "温馨提示"
txtSID.SetFocus
Exit Sub
End If
End Sub
限制内容
Private Sub txtSID_KeyPress(KeyAscii As Integer) '只能输入数字0~9
If KeyAscii >= 48 And KeyAscii <= 57 Then
Else
KeyAscii = 0
End If
End Sub
2.限定电话号码框
Private Sub txtTel_KeyPress(KeyAscii As Integer) '只能输入数字0~9
If KeyAscii >= 48 And KeyAscii <= 57 Then
Else
KeyAscii = 0
End If
End Sub
Private Sub cmdOK_Click()
'判断联系电话是否为11位
If Not Len(txtTel.Text) = 11 Then
MsgBox "请重新输入11位联系电话!", vbOKOnly + vbExclamation, "温馨提示"
txtTel.SetFocus
Exit Sub
End If
End Sub
3.用户名不能输入特殊字符
Private Sub txtUserName_KeyPress(KeyAscii As Integer)
Dim cTemp As String
cTemp = "`~!@#$%^&*()-=_+[]{};:'\|<>/?.‘“”’、,。——+()《》?,~·……¥!:;【】" & """ '禁止输入特殊的字符"
If InStr(1, cTemp, Chr(KeyAscii)) <> 0 Then KeyAscii = 0
End Sub
4.ComboBox框不能被修改只能被选择,同时进入的时候文本框为白色
ComboBox控件的Style设置成2
ComboBox控件的BackColor设置成&H8000000E&
5.出生日期和入校日期可以使用日期控件DTPicker
添加方式:工程->部件->microsoft windows common controls-2 6.0
6.出生日期应该小于入校日期
If DTPickerBorndate.Value >= DTPickerRudate.Value Then
MsgBox "出生日期应该小于入学日期,请重新输入!", vbOKOnly + vbExclamation, "温馨提示"
DTPickerBorndate.SetFocus
DTPickerRudate.SetFocus
Exit Sub
End If
7.对班号的判断
一:选项框里没有班号,先添加班级信息;二:有班号没有选择,“取消”选择班号
'判断是否选择班号
If Not Testtxt(comboClassno.Text) Then
MsgBox "请选择班级信息!", vbOKOnly + vbExclamation, "提示"
x = MsgBox("是否先添加班级信息?", vbOKCancel, "提示")
If x = 1 Then
frmAddclassinfo.Show
Unload frmAddsinfo
Else
comboClassno.SetFocus
End If
Exit Sub
End If
8.对添加完学籍信息之后的处理
X = MsgBox("是否继续添加窗体?", vbYesNo, "温馨提示")
If X = 6 Then
Unload Me
frmAddsinfo.Show
Else
Unload Me
End If
总结:学生需要优化的地方还有很多,期待您提出您宝贵的意见。