学生信息管理系统优化(二)【91问题3021问题】

6.me.hide 和 end的区别

大家平时都会经常用到的两个代码,但是他们的区别大多数人都不太清楚。
me.hide: 只是让窗口隐藏起来,但是还存在于内存当中。不能直接退出程序。
end: 直接卸载窗口,如果是主窗口,将直接退出程序。

7.使用msgbox判断是否退出程序或者窗体

If (MsgBox("确定要退出系统吗?", vbOKCancel, "退出系统")) = vbOK Then
    End
End If

8. 控制分数不能过大或者为负数

If Trim(txtResult.Text) > 150 Or Trim(txtResult.Text) < 0 Then
        MsgBox "数值不在范围内,请重新输入!", vbOKOnly + vbExclamation, "提示"
        txtResult.Text = ""
        txtResult.SetFocus
        Exit Sub
End If

9.修改班级,成绩,课程信息的时候删除最后一条记录出现3021

使用 goto 语句不让错误出现

    On Error GoTo err   'goto语句防止出现3021
    Dim str2$
    '记下当前记录位置
    mybookmark = mrc.Bookmark
    '提示是否删除
    str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
    '判断按钮类型
    If str2$ = vbOK Then
        '移动到数据集下一条记录
        mrc.MoveNext
                '判断数据集对象是否为空
                If mrc.EOF Then
                    '移动到数据集的第一条记录
                    mrc.MoveFirst
                    '记载当前记录的位置
                    mybookmark = mrc.Bookmark
                    '移动到最后一条记录
                    mrc.MoveLast
                    '删除记录
                    mrc.Delete
                    mrc.Bookmark = mybookmark
                    '调用函数显示数据
                    Call viewData
                Else
                    '记载当前位置
                    mybookmark = mrc.Bookmark
                    '移动到前一条记录
                    mrc.MovePrevious
                    '删除记录
                    mrc.Delete
                    '回到原来位置
                    mrc.Bookmark = mybookmark
                    '调用函数显示数据
                    Call viewData
                End If
    Else
      mrc.Bookmark = mybookmark
      Call viewData
    End If
    
     '错误处理
err:
    If err = 3021 Then
        If mrc.EOF And mrc.BOF Then
            MsgBox "当前没有记录!", vbOKOnly + vbExclamation, "警告"
        Else
            a = MsgBox("这是最后一条记录,是否删除!?", vbOKOnly + vbExclamation, "警告")
            If a = vbOK Then
                txtSID.Text = ""
                txtName.Text = ""
                comboSex.Text = ""
                txtTel.Text = ""
                txtAddress.Text = ""
                txtComment.Text = ""
                comboClassno.Text = ""
                MsgBox "当前无记录,系统将退出!", vbOKOnly + vbexcalamation, "警告"
                Unload Me
            Else
                Exit Sub
            End If
        End If

    End If
End Sub

10. 91问题注意事项

①查看自己的查询语句是否出现拼写错误以及是否出现少敲写空格的错误
× txtSQL = “select * form course_info”
√ txtSQL = “select * from course_info ”

②查看是否配置好了ODBC数据源

11.点击上一条记录和下一条记录的时候分别提示这是最后一条信息或这是第一条信息。

Private Sub cmdNext_Click()
    '数据集向后移动
    mrc.MoveNext
    '判断是否到末位置
    If mrc.EOF Then
        MsgBox "这已经是最后一条记录了!"
        mrc.MoveLast
    End If
    Call viewData
End Sub

Private Sub cmdPrevious_Click()
    '数据集向前移动
    mrc.MovePrevious
    '判断是否到起始位置
    If mrc.BOF Then
         MsgBox "这已经是第一条记录了!"
         mrc.MoveFirst
    End If
    Call viewData
End Sub
发布了54 篇原创文章 · 获赞 36 · 访问量 7984

猜你喜欢

转载自blog.csdn.net/zwb568/article/details/99945498
今日推荐