作學生管理系統是,會一直彈出一個對話框就是:編碼
它幾乎無所不在,它的意思很簡單就是,它須要數據時,沒有數據可用了。spa
通常來說,學生管理系統,就有2個地方最容易出現這個問題。code
If mrc.EOF = False Then mrc.MoveFirst mybookmark = mrc.Bookmark mrc.MoveLast mrc.Delete mybookmark = mrc.Bookmark Call Viewdata End If
這時就會出現這個錯誤,由於倒數第三句,它找不到該書籤,沒有數據讓它用了,那麼就要改成:it
If mrc.EOF Then mrc.MoveFirst mybookmark = mrc.Bookmark mrc.MoveLast mrc.Delete mrc.Bookmark = mybookmark Call Viewdata End If
這種狀況很常見,由於畢竟,當你刪除了最後一條記錄,就沒有數據可用了。io
那麼咱們就來編碼一下cancelcommand的代碼,讓她給一個提示,告訴咱們最後一條記錄了,刪除後,就沒有記錄。ast
(1)這樣分爲二種狀況:一種是正好最後一條記錄(可是記錄不僅有一條),第二種狀況就是:有且僅有一條記錄,首先要判斷出來class
(2)這樣就用到了2個if語句,第一個先要判斷是否是最後一條記錄;第一個要判斷的是有卻僅有一條記錄的,咱們要讓全部的按鈕都不能用|(這樣就不會出現這樣的錯誤)。並提示無記錄。sed
Private Sub deleteCommand_Click() mybookmark = mrc.Bookmark str2$ = MsgBox("確認是否要刪除?", vbOKCancel, "刪除當前數據") If str2$ = vbOK Then mrc.MoveNext If mrc.EOF Then‘分爲2種狀況:一種是是最後一條記錄(但不僅一條記錄);一種是有且僅有一條記錄 mrc.MovePrevious mrc.MovePrevious
If mrc.BOF Then ‘有且僅有一條記錄的狀況的處理 mrc.MoveNext mrc.Delete MsgBox "最後一條記錄已經刪除!", vbOKOnly + vbExclamation, "警告" txtCourseno.Text = "" txtCoursename.Text = "" comboCoursetype.Text = "" txtCoursedes.Text = "" Frame2.Enabled = False firstCommand.Enabled = False previousCommand.Enabled = False lastCommand.Enabled = False nextCommand.Enabled = False txtCourseno.Enabled = False txtCoursename.Enabled = False comboCoursetype.Enabled = False txtCoursedes.Enabled = False editCommand.Enabled = False updateCommand.Enabled = False cancelCommand.Enabled = False deleteCommand.Enabled = False Else ‘有不少條記錄,但正好刪的是第一條記錄的處理 mrc.MoveFirst mybookmark = mrc.Bookmark mrc.MoveLast mrc.Delete mrc.Bookmark = mybookmark Call Viewdata End If Else ‘有不少條記錄也不是最後一條記錄的處理 'mrc.MoveNext mybookmark = mrc.Bookmark mrc.MovePrevious mrc.Delete mrc.Bookmark = mybookmark Call Viewdata End If Else ‘不刪除的處理 mrc.Bookmark = mybookmark Call Viewdata End If End if