学生信息管理系统---修改信息窗体 错误3021(代码解决方法)

逻辑分以下三种情况
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

猜你喜欢

转载自blog.csdn.net/lclcsdnblink/article/details/81811517
今日推荐