剛開始敲學生資訊管理系統的時候,對代碼一點都不理解,但是還是硬著頭皮敲下去,後來敲的多了,慢慢的就有點感覺了!磕磕撞撞的把系統敲完了!
學生資訊管理系統的主要功能也就對學生資訊的添加、刪除、修改、查詢這四個功能!敲完了系統,嘗試著去總結這幾個功能,下面是自己對刪除這一功能代碼的一點小認識!
Private Sub deleteCommand_Click() Dim MsgText As String 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 '保留當前的記錄 mrc.Close txtSQL = "select * from result_Info" '重新取一回,相當於重新整理 Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.MoveLast Call viewData Else myBookmark = mrc.Bookmark mrc.MovePrevious mrc.Delete '刪除前一條 mrc.Bookmark = myBookmark mrc.Close txtSQL = "select * from result_Info" Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.MoveLast Call viewData '顯示資料 End If Else mrc.Bookmark = myBookmark Call viewData End IfEnd Sub
首先,刪除一條記錄,我們有可能刪除的是第一條,也有可能刪除的是最後一條,為了以防我們刪除記錄的時候指標指空,所以我們定義了一個Bookmark變數,代表書籤的意思!只要理解了Bookmark在這裡面是怎麼起作用的,刪除記錄功能理解起來就容易多了!
當我們點擊刪除記錄按鈕的時候,先標記好目前記錄集指標指向的位置,即bookMark =
mrc.bookMark,然後判斷是否要刪除記錄,如果刪除,記錄指標移動下一條,用mrc.EOF判斷刪除的是否為最後一條!如:
1.mrc.EOF = True 即刪除的是最後一條記錄,記錄指標則返回第一行記錄,在第一行做好標籤,指標重新移動到最後一條,刪除最後一條記錄!並保留當前的書籤位置!
2. mrc.EOF = False 即刪除的不是最後一條記錄,記錄指標移動到下一條,標記好當前的位置!記錄指標重新移回到前一條的記錄,刪除前一條記錄!並保留當前的書籤位置!
最後,關閉記錄集對象,重新查詢資料庫表,相當於是重新整理刪除後的記錄,最後用ViewData函數來顯示資料!這樣,刪除記錄功能就完成了!