【学生系统】优化篇(上)

前言

关于学生系统的用户体验,有很多地方需要完善和优化,那么,下面说说我优化了那些功能。

使窗体大小合适,弹出位置适中。

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

运行时在数据库中没有数据的时候点击修改窗体会出现以下提示。

结语

       今天第一天开始优化学生系统,优化了以上功能,有的是站在巨人肩膀上优化的,有的是自己思考优化的,当自己写的代码运行成功了,内心暗爽,计算机就像智力游戏,训练逻辑思维,训练思考的能力,只要从学习中尝到喜悦的甜头,便会一发不可收拾。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值