一、优化
(1)添加信息后不关闭窗体
当我们在运行“学籍管理”下的子窗体“添加学籍信息”时 所有的信息都添加完毕了,点击“确认添加”后窗体会自动关闭,显然站到客户角度,这个操作方式是及其不方便的,添加信息应该是可以重复添加的,那么多的学生要添加而不是添加了一条信息就关闭。
所以我们要优化这一现象。
“确认添加”这个控件是Command1,这时我们就要在代码中找到command1这一控件的命令
找到它之后,去看它的结束尾部
把Me.Hide删除,这样我们在添加信息时就不是退出可以继续添加了!
(2)判断读表,确认原始密码!
当我们修改密码时,原来的代码中只有输入新密码和确认密码,这样设计是很不合理的,如果我们进入了这个系统有事离开了,任何人都可以通过这个窗体更改我们学生系统的密码,
所以,我们应该在此基础之上添加一个新的控件,增加一个判断,判断显示一下当前的用户名,在输入新密码上边再添加个Label和Text控件。
如何实现呢?代码如下:
'判断原密码是否正确 txtSQL = "select * from user_Info where user_ID='" & UserName & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) If Trim(txtold.Text) <> Trim(mrc.Fields(1)) Then MsgBox "原密码输入输入不正确!", vbOKOnly + vbExclamation, "提示" txtold.SetFocus txtold.Text = "" Exit Sub End If '判断是否为空 txtSQL = "select * from user_info where user_ID='" & UserName & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) If Trim(txtPassword1.Text) <> Trim(txtPassword2.Text) Then MsgBox "两次输入密码不一样,请确认!", vbOKOnly + vbExclamation, "警告" txtPassword1.SetFocus txtPassword1.Text = "" txtPassword2.Text = "" Exit Sub Else '判断输入密码是否为空 If txtPassword1.Text = "" Then MsgBox "密码不能为空!", vbOKOnly + vbExclamation, "警告" txtPassword1.SetFocus txtPassword1.Text = "" txtPassword2.Text = "" Exit Sub End If End If
不要照搬,注意控件和代码是否一致,这段代码一般应用于确定事件下。
完成效果图!账号也应该显示出来!
二、代码限制
1、调整文本框空格的代码:(就是文本框中还没有输入任何字符的时候,单击空格键产生的空格的情况)
Private Subtxtname_Click() Dim s As String s = txtName.Text s = Replace(s, " ", "") txtName.Text = s End Sub2、只能输入汉字:(这个主要是应用到文本框中只能输入汉字的情况)
Private SubtxtDirector_KeyPress(KeyAscii As Integer) If KeyAscii > 0 And KeyAscii <> 13And KeyAscii <> 8 Then KeyAscii = 0 End Sub3、限制特殊的字符:(其实在百度上可以搜到很多类似的代码,但是他们有很多情况限制不住,我这个可以限制住,但是也会有很多的其他缺陷)
Private SubtxtClassroom_KeyPress(KeyAscii As Integer) If ((KeyAscii >= 48 And KeyAscii <=57) Or (KeyAscii >= 65 And KeyAscii <= 90) Or _ (KeyAscii >= 97 And KeyAscii <=122) Or (KeyAscii = 8)) = flase Then KeyAscii = 0 End Sub