mybookmark = mrc.bookmark———-书签的作用
关于这一句话我之前还是有点迷得,只是知道这个相当于记录一个位置,然后根据mrc.bookmark=mybookmark来返回之前记录的位置。觉得没有什么,反正就是自己知道。但是去验项目的时候,师父问我的时候,却出现了意外,我一紧张竟然忘了,我知道这就是自己糊弄自己的后果。然后师父让我回来查一下。并且;应用书签的作用将删除语句完善。
首先介绍一下eof函数,它有函数值,它的函数值有两个true和false。它的()里的1就是参数。
它的含义是:读取文件的指针指到文件尾时,它的值就是true。还没有读到文件尾时,它的值为false。
括号里的参数是它判断的文件的文件号。
BOF:指当前记录位置位于Recordset对象的第一个记录之前;
EOF:指当前记录位置位于Recordset对象的最后一个记录之后。
这两个的属性值均返回布尔型:True和False,使用BOF和 EOF 属性可确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。
其次介绍一下书签: 书签顾名思义就是做标记,让我们更好的控制使用数据表,通过书签我们可以随意的跳到我们想要看的记录下(前提是你的给你的目的记录标记书签),此外书签还有可以判断当前游标下是不是空记录(对于空记录 mybookmark 将返回 0)关于这个书签是空时等于零,我是真的不知知道怎么用,因为当我用if语句判断书签为空的时候,总是报错,而书签的值也不是0,而是错误提示。所以关于这个书签的应用是否正确,我不知道。
在书签等于零不能用之后,我想到了另外一种应用书签的方法。如下
Private Sub deleteCommand_Click()
myBookmark = mrc.Bookmark
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
If str2$ = vbOK Then
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
myBookmark2 = mrc.Bookmark '用新的书签记录当下位置
mrc.MoveLast
myBookmark1 = mrc.Bookmark '用零一个书签记录当前位置
If myBookmark1 = myBookmark2 Then '判断两个书签记录的位置是否相同。
'如果相同,则证明,只有一条记录。
str2$ = MsgBox("这是最后一条记录,是否删除。", vbOKCancel, "警告")
If str2$ = vbOK Then
txtClassno.Enabled = False
comboGrade.Enabled = False
txtDirector.Enabled = False
txtClassroom.Enabled = False
mrc.Delete
End If
Else
mrc.Delete
mrc.Bookmark = myBookmark
Call viewData
End If
Else
myBookmark = mrc.Bookmark
mrc.MovePrevious
mrc.Delete '删除记录后,游标的位置不能确定??
mrc.Bookmark = myBookmark
Call viewData
End If
Else
mrc.Bookmark = myBookmark
Call viewData
End If