學生管理系統-錯誤3021

出現3021問題就是bof或EOF中有一個是真,要不就是當前記錄已被刪除,要求一個當前記錄。

首先得先搞清楚什麼是BOF和EOF

BOF是指當前記錄位置位於 Recordset 對象的最後一個記錄之前

EOF是指當前記錄位置位於 Recordset 對象的最後一個記錄之後

 

BOF跟EOF的返回值爲:

BOF:爲true,表示當前指針的位置是在的一行的前面

         爲false,表示當前指針的位置是在第一行,或者在第一行的後面

EOF: 爲True表示當前指針的位置是在最後一行的後面

           爲False表示指針的位置是在最後一行,或者在最後一行的前面。

 

1.查找的數據庫記錄爲空.

 

2.查找到數據後,用 Del 命令刪除記錄後,再引用 Fields 後會出現錯誤.

 

3.已經用MoveFirst 或用 MovePrevious 命令 移動至數據庫開始後再用 MovePrevious 命令.

 

4.已經用MoveLast 或用 MoveNext 命令 移動至數據庫開始後再用 MoveNext 命令.

 

就是數據庫中沒有數據。

Private Sub Cmddelete_Click()          '刪除

    str2$ = MsgBox("是否刪除當前記錄?", vbOKCancel, "刪除當前記錄")

    If str2$ = vbOK Then       '點擊確定

        mrc.Delete             '刪除記錄

        mrc.MoveNext           '指針往下走

           If mrc.EOF Then     '判斷是否刪

            If mrc.RecordCount = 0 Then         '判斷上邊有沒有記錄


                                             '如果沒有的話卸載窗體

              MsgBox "無記錄!"

            Unload Me

            Else                           

            mrc.MoveFirst            '否則指向第一條記錄

            Call viewData

            End If

     End If

    End If

End Sub

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章