学生系统优化(二)- - 窗体代码

Source

1.修改密码窗体:

a.首先就是窗体上方显示登录人的姓名,这样修改密码的时候可以加深自己的印象:

Label1.Caption = "当前用户为:" & frmLogin.txtUserName.Text

b.其次就是在修改密码的时候需要先输入旧密码来判定是不是本人,这样才修改密码的规则,符合常理,符合我们的认知。

If Trim(txtold.Text) <> Trim(mrc.Fields(1)) Then  '判断原密码是否正确

        MsgBox "原密码输入不正确", vbOKOnly + vbExclamation, "警告"

                txtold.SetFocus

                txtold.Text = ""

                txtPassword1.Text = ""

                txtPassword2.Text = ""

        Exit Sub

End If

c.最后是在第二次输入新密码时,如果我们不输入任何信息,直接点确认,这时候的弹出的警告框应该显示“密码不能为空”。

If txtPassword2.Text = "" Then

             MsgBox "密码不能为空,请再次确认密码", vbOKOnly + vbExclamation, "警告"

             txtPassword2.SetFocus

             txtPassword2.Text = ""

End  if

 

     

2.在修改信息窗体上:

a.如果之前数据库没有数据,此时选中修改按钮时必定会报出“3021”夺命错误,此为数据库操作著名错误。此错误是因为BOF或者EOF为真引起的,之前曾经介绍过。遇到此错误最好的办法就是加一个判断语句,如果遇到就跳过。

b.如果之前是有数据的那么就会跳转到修改信息的界面,当按删除键时,如果是最后一条记录,再点击删除就会跟上面一样,弹出提示,然后再出现添加信息界面,这样设计会更加的人性化。

 

3.添加日期信息的文本框:

经过他人的启发,我发现了一个很简单又实用的控件:MonthView。

可以先把它放在窗体上,在运行时设置为隐藏,等点击文本框后再显示出来;而且还可以把最大的日期设置为当前日期,很有意思。设置最大日期的代码:

MonthView1.MaxDate = Format(Now, "yyyy-mm-dd")

在此模块中,输入时间的时候还需要有一个条件判断:出生日期必须要大于入校时间,否则是不合理的。

 

时间类型的数据进行比较,需要把字符串类型转换为数值类型:

year("2018-7-11")&month("2018-7-11")&day("2018-7-11") 它就等于2018711。

 

4.1查询学号时,模糊查询:

当然查询姓名也可以使用模糊查询:

4.2显示查询到的结果数量: