为什么会出现3021:就是在“mrc”指针往下移动到最后一条的时候,下边也没有记录,它也不会在往上去循环。 所以我们要设置代码,当指针指向最后一条记录的时候让它往上走,当上边无记录的时候就应该卸载窗体了。
- 代码如下:
删除键(Delete)
Private Sub Cmddelete_Click() '删除
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
If str2$ = vbOK Then '点击确定
mrc.Delete '删除记录
mrc.MoveNext '指针往下走
If mrc.EOF Then '判断是否删
If mrc.RecordCount = 0 Then '判断上边有没有记录
'如果没有的话卸载窗体
MsgBox "无记录!"
Unload Me
Else
mrc.MoveFirst '否则指向第一条记录
Call viewData
End If
End If
End If
End Sub
EOF和BOF的区别:
BOF指当前记录位于 Recordset对象的一第条记录之前。
EOF是指当前记录位置位于Recordset对象的最后一个记录之后。
(两个正好相反)。