前言
关于学生系统的用户体验,有很多地方需要完善和优化,那么,下面说说我优化了那些功能。
使窗体大小合适,弹出位置适中。
Private Sub Form_Load()
'设置窗体大小
Me.Height = 7380
Me.Width = 9420
'设置窗体位置
Me.Left = Screen.Width / 2 - Me.Width / 2
Me.Top = Screen.Height / 3 - Me.Height / 2
End Sub
使添加学籍信息窗体和修改学籍信息窗体中出生日期不大于入校日期。
-
Private Sub txtRudate_Change() If txtBorndate.Value > txtRudate.Value Then MsgBox "出生日期不能大于入校日期,请重新输入!", vbOKOnly + vbExclamation, "警告" txtBorndate.SetFocus txtRudate.SetFocus End If End Sub
使添加学籍信息窗体中的电话号码限制为11位。
1.将txtTel控件MaxLength属性改为11.
2.在代码中添加以下代码。
If Not Len(txtTel.Text) = 11 Then
MsgBox "请重新输入11位联系电话!", vbOKOnly + vbExclamation, "警告"
txtTel.SetFocus
Exit Sub
End If
这时,问题来了,运行时会报错,如下图。
解决方案:
出现这个错误就是因为数据库字符限制了10位,而我们的电话号码设置的11位,所以只要更改数据库中字符串的限制就好了。
1.在SQL Server中右击student表,点击设计,将电话号码列的数据类型改为char(11)。
2.点击菜单栏中工具-选项,点击设计器,将阻止保存更改的勾取消掉,点击确定。这时,可以保存了,点击保存即可。
.
将ComboBox控件设置为只可选,不可输入。
Private Sub comboSex_KeyPress(KeyAscii As Integer)
'取消按键
KeyAscii = 0
End Sub
当数据库中没有数据的时候点击修改信息窗体,会出现以下错误。
解决思路及方案:
因为我把数据库中的记录都删掉了,这时再点击修改信息的窗体就会报以上错误。我的思路是既然数据库中没有数据就会报错,那是不是可以用一个MsgBox弹框来解决问题,当数据库中没有数据时点击修改窗体弹出一个提示框,完美的避开错误。这时,脑海里浮现了之前看到过on error goto语句,这样在出现错误的时候可以跳过了,于是我编辑了一下代码。
On Error GoTo Err_Line
mrc.MoveFirst
Call viewData
mcBookmark = mrc.Bookmark '做标记
mcclean = True
Err_Line:
If Not mrc.EOF Or mrc.BOF Then
MsgBox "已经没有数据了,请先添加数据!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
运行时在数据库中没有数据的时候点击修改窗体会出现以下提示。
结语
今天第一天开始优化学生系统,优化了以上功能,有的是站在巨人肩膀上优化的,有的是自己思考优化的,当自己写的代码运行成功了,内心暗爽,计算机就像智力游戏,训练逻辑思维,训练思考的能力,只要从学习中尝到喜悦的甜头,便会一发不可收拾。