学生系统小结(2)

一、优化

(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 Sub
2、只能输入汉字:(这个主要是应用到文本框中只能输入汉字的情况)

Private SubtxtDirector_KeyPress(KeyAscii As Integer)  
If KeyAscii > 0 And KeyAscii <> 13And KeyAscii <> 8 Then KeyAscii = 0
End Sub
3、限制特殊的字符:(其实在百度上可以搜到很多类似的代码,但是他们有很多情况限制不住,我这个可以限制住,但是也会有很多的其他缺陷)
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

三、礼物赠送环节

如何用回车代替点击确定?

        有时候用机房电脑的时候,登陆学生,如果用鼠标点确定的话总是会自动关闭VB,也不知道原因,但是用回车代替的话就没事了。这要用到Comand命令按钮的一个属性Default。设置成True就可以用回车代替点击这个按钮了。

猜你喜欢

转载自blog.csdn.net/weixin_39332529/article/details/80250228