逻辑分以下三种情况
1.删除一条记录,记录下面和上面都没有记录
2.删除一条记录,记录下面没记录,上面有记录
3.删除一条记录,记录下面有记录
EOF=ture BOF=True
(记录下面和上面没有数据)
EOF=ture BOF=flase
(记录上面有记录,下面没记录)
EOF=flase
(下面都有记录)
代码如下:
Private Sub deleteCommand_Click()
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
'如果点击确定,指针指向下一条数据,如果数据是最后一条,删除最后一条,关闭连接,卸载本窗体
If str2$ = vbOK Then
mrc.MoveNext '点击确定,指针往下一格
If mrc.EOF Then '如果指针指的是最后一条记录的后一格(下面没有数据)
mrc.MovePrevious '指针向上一个
mrc.Delete '删除选中的数据
mrc.MovePrevious '①指针向上一个(不显示数据)
If mrc.BOF Then '如果指针指的是第一条记录的前一格(没有数据了)
'(PS:包含如果指针指的是最后一条记录的后一格)
Unload frmModifyclassinfo '卸载本窗体
Else '如果指针指的不是第一条记录的前一格(下面没有数据,上面有数据)
'(PS:包含如果指针指的是最后一条记录的后一格)
Call viewData '显示数据为①mrc.MovePrevious
mrc.MoveFirst '指针指到第一个
Call viewData '把mrc的指针位置上的数据显示出来
End If
Else '如果指针指的不是最后一条记录的后一格(下面有数据)
mrc.MovePrevious '指针往上一格
mrc.Delete '删除选中数据
mrc.MoveNext '指针往下一格
Call viewData '显示数据
End If
Else
Call viewData '取消则显示当前数据
End If
End Sub