【学生】解决循环查询问题

【前言】

在修改窗体,点击查看记录的时候,它是在数据库中循环查询的。简单来说就是点上一条记录,可以一直点下去,没有尽头,但是这样又和我们的逻辑有些矛盾。

【正文】

正常的逻辑是:

点击上一条记录可以一直查询到第一条记录,然后提示已经到了第一条记录,不能再查询了,这时这个按钮就已经失效了。还有就是可以点击第一条记录,直接查询到数据库的第一条记录,再点击上一条记录的时候,就会直接提示已经到了第一条记录,这时这两个按钮同时失效。当然,为了保证程序的正常运行,需要在点击事件下面先定义这几个按钮是可用的。

查看下一条记录和最后一条记录的道理同上,不再赘述。

'点击上一条记录
Private Sub cmdPrevious_Click()
    '定义四个按钮是可用的。
    cmdPrevious.Enabled = True
    cmdFirst.Enabled = True
    cmdNext.Enabled = True
    cmdLast.Enabled = True
    mrc.MovePrevious
    '判断是否到起始位置
    '指针位于数据集的第一条记录。
    If mrc.BOF Then
        '本按钮失效。
        cmdPrevious.Enabled = False
        '弹出提示框。
        MsgBox "已经是第一条记录了!", vbOKOnly + vbExclamation, "提示"
        '第一条记录和上一条记录 两个按钮失效。
        cmdPrevious.Enabled = False
        cmdFirst.Enabled = False
    Else
        '显示各数据。
        txtClassno.Text = mrc.Fields(0)
        comboGrade.Text = mrc.Fields(1)
        txtClassroom.Text = mrc.Fields(3)
        txtDirector.Text = mrc.Fields(2)
    End If
End Sub
'点击第一条记录。
Private Sub cmdFirst_Click()
    '定义四个按钮是可用的。
    cmdPrevious.Enabled = True
    cmdFirst.Enabled = True
    cmdNext.Enabled = True
    cmdLast.Enabled = True
    '移动到数据集的第一条记录
    mrc.MoveFirst
    '调用显示数据的函数
    txtClassno.Text = mrc.Fields(0)
    comboGrade.Text = mrc.Fields(1)
    txtClassroom.Text = mrc.Fields(3)
    txtDirector.Text = mrc.Fields(2)
End Sub

 

拓展:

BOF代表的是——记录当前位置位于记录集中第一个记录之前

EOF代表的是——记录当前位置位于记录及中最后一个记录之后

BOF跟EOF的返回值为:

BOF:为True:表示的是当前指针的位置是在的第一行的前面。

      为False:时表示的是指针的位置是在第一行,或者第一行的后面。

EOF:为True表示当前的是当前指针的位置是在最后一行的后面

     为False表示指针的位置是在最后一行,或者在最后一行的前面。

 

【后记】

暂时只想到这一种方法,如果有更简单的方法,请联系我!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张_Laura

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值