最近又一次用到了EOF语句,就回过头看了看学生管理系统中的应用,整理出这个实例。
踏踏实实的做一遍你就会完全搞懂EOF函数,以后相关的代码相信你可以自己编辑出来了。
学生中用的最多的就是查询,我这里整理了一下删除数据时,查询是否为最后一条数据:
<pre name="code" class="html">Private Sub cmdDelete_Click()
mybookmark = mrc.bookmark
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
If str2$ = vbOK Then
mrc.movenext
'判断是否为最后一条记录
If mrc.EOF Then '说明记录在最后一条记录
mrc.movePrevious
mrc.movePrevious
如图所示:
<pre name="code" class="html"> If mrc.BOF Then '说明记录集中只有一条记录
mrc.movenext
mrc.Delete
MsgBox "记录集已经为空!", vbOKOnly + 64, "警告"
Unload Me
以上操作如图所示:
<pre name="code" class="html"> Else '说明记录集不止一条记录
mrc.movefirst
mybookmark = mrc.bookmark
mrc.movelast
mrc.Delete
mrc.bookmark = mybookmark
mrc.Close
txtSQL = "select*from class_info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.movelast
Call viewData
End If
以上操作如图所示:
Else '说明记录不在记录集最后
mybookmark = mrc.bookmark
mrc.movePrevious
mrc.Delete
mrc.bookmark = mybookamrk
mrc.Close
Call viewData
End If
Else ' 返回取消,不删除记录
mrc.bookmark = mybookmark
Call viewData
End If
这个实例整个的思维流程是这样的: