这几天一直都在敲《学生信息管理系统》,确实也遇到了不少的问题,其中最让我难以理解的问题之一就是这个删除记录的代码,而偏偏大概有三个窗体中都有跟这个类似的代码!真是头疼,所以我上网查了很多的资料,终于算是自己理解了一点,虽然不能说是精通,但是自己感觉还行吧!下面就是我的理解:
Private Sub deleteCommand_Click()
mybookmark = mrc.Bookmark '对当前要删除的记录做标签
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
If str2$ = vbOK Then
mrc.MoveNext '记录向后移动一项
If mrc.EOF Then '要删除的记录肯定是最后一个,是不是第一个还不知道,这里如果是最后一条的话
mrc.MoveFirst '如果是最后一条,则数据库指向第一条记录
mybookmark = mrc.Bookmark '对第一条做标记,mrc.bookmark是标签,mybookmark是记录集
mrc.MoveLast '确定是最后一条,再执行删除
mrc.Delete
mrc.Bookmark = mybookmark '把标记的记录送给数据库书签,送到原先的位置
Call viewData '显示删除后的记录(从第一条开始显示)
Else '要删除的不是最后一条
mybookmark = mrc.Bookmark '给mrc.movenext做标签
mrc.MovePrevious '回到要删除的记录
mrc.Delete '执行删除
mrc.Bookmark = mybookmark '让记录回到下一个被删除的记录
Call viewData '显示被删除的下一条记录
End If
Else
mrc.Bookmark = mybookmark
Call viewData
End If
End Sub