学生信息管理系统———隐藏窗体——BUG调试

在做修改成绩信息时,遇到了这样的问题:如果把记录都删除完了,没有记录了,还是点击修改记录之后,就会弹出一个对话框:

学生信息管理系统———隐藏窗体——BUG调试

点击确定之后,修改记录的窗体还是会出来,

学生信息管理系统———隐藏窗体——BUG调试

点击任何一个按钮,都会出现如下错误:

学生信息管理系统———隐藏窗体——BUG调试

于是就想能不能没有记录修改信息这个窗体隐藏了,代码:

Private Sub Form_Load()     '加载窗体
             
             Dim txtSQL As String
             Dim msgtext As String
             
             comboClassno.Enabled = False        '使控件无效
             ComboExamtype.Enabled = False
             ComboSID.Enabled = False
             txtName.Enabled = False
             comboCourse.Enabled = False
             txtResult.Enabled = False
             updateCommand.Enabled = False
             cancelCommand.Enabled = False
            
            
             txtSQL = "select*from result_Info"       '查询result语句
             Set mrc = ExecuteSQL(txtSQL, msgtext)

             If mrc.EOF = False Then         '查看是否有记录,如果有则移动到第一条并做标记,如果没有则显示“没有记录”

                 mrc.MoveFirst
                 myBookmark = mrc.Bookmark

                 Call viewData

             Else
                 MsgBox "没有记录!", vbOKOnly + vbExclamation, "警告"

                 Exit Sub

            End If
            
                    
           Me.Left = (Screen.Width - Me.Width) / 2
           Me.Top = (Screen.Height - Me.Height) / 2
             
End Sub

原因是它在显示没有记录后,就会自动调用修改信息这个窗体,

Private Sub modifyresultMenu_Click()

       frmModifyresult.Show
       sbStatusBar.Panels(1).Text = "修改成绩信息"
       
End Sub


让它显示,所以只要在它显示之前做一个判断(没有记录就退出,有记录就显示)就行了。修改代码:

Private Sub modifyresultMenu_Click()
Dim txtSQL As String
Dim msgtext As String


       txtSQL = "select*from result_Info"       '查询result语句
             Set mrc = ExecuteSQL(txtSQL, msgtext)

             If mrc.EOF = False Then         '查看是否有记录,如果有则移动到第一条并做标记,如果没有则显示“没有记录”

                 mrc.MoveFirst
                 myBookmark = mrc.Bookmark

                 Call frmModifyresult.viewData

             Else
                 MsgBox "没有记录!", vbOKOnly + vbExclamation, "警告"

                 Exit Sub

            End If
       frmModifyresult.Show
       sbStatusBar.Panels(1).Text = "修改成绩信息"
       
End Sub


修改之后还是会出现错误,

学生信息管理系统———隐藏窗体——BUG调试

调试之后总是指向定义的viewdata函数,代码

Public Sub viewData()
            
           ComboExamtype.Text = mrc!exam_No   '把exam_No表中的内容给考试编号
           comboClassno.Text = mrc!class_No
           ComboSID.Text = mrc!student_ID
           txtName.Text = mrc!student_Name
           comboCourse.Text = mrc!course_Name
           txtResult.Text = mrc!result
       
End Sub

会出现这样的错误:原因是调用这个函数之前窗体没有加载,函数中也没有把记录集调出来的语句,这样就是空记录,故会出现错误。修改后代码:

Public Sub viewData()
                        
             txtSQL = "select*from result_Info"       '查询result语句
             Set mrc = ExecuteSQL(txtSQL, msgtext)

           ComboExamtype.Text = mrc!exam_No   '把exam_No表中的内容给考试编号
           comboClassno.Text = mrc!class_No
           ComboSID.Text = mrc!student_ID
           txtName.Text = mrc!student_Name
           comboCourse.Text = mrc!course_Name
           txtResult.Text = mrc!result
      
End Sub

这样 修改好了。 调试 错误 过程 中, 用到 更多 就是 断点 调试, 引领 我们 找到 问题 所在, 知道 我们 找到 正确 解决方法, 所以 这个 工具 应用 好, 我们 清除 障碍。


你可能感兴趣的:(bug)