【学生】解决循环查询问题
【摘要】
【前言】
在修改窗体,点击查看记录的时候,它是在数据库中循环查询的。简单来说就是点上一条记录,可以一直点下去,没有尽头,但是这样又和我们的逻辑有些矛盾。
【正文】
正常的逻辑是:
点击上一条记录可以一直查询到第一条记录,然后提示已经到了第一条记录,不能再查询了,这时这个按钮就已经失效了。还有就是可以点击第一条记录,直接查询到...
【前言】
在修改窗体,点击查看记录的时候,它是在数据库中循环查询的。简单来说就是点上一条记录,可以一直点下去,没有尽头,但是这样又和我们的逻辑有些矛盾。
【正文】
正常的逻辑是:
点击上一条记录可以一直查询到第一条记录,然后提示已经到了第一条记录,不能再查询了,这时这个按钮就已经失效了。还有就是可以点击第一条记录,直接查询到数据库的第一条记录,再点击上一条记录的时候,就会直接提示已经到了第一条记录,这时这两个按钮同时失效。当然,为了保证程序的正常运行,需要在点击事件下面先定义这几个按钮是可用的。
查看下一条记录和最后一条记录的道理同上,不再赘述。
-
'点击上一条记录
-
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表示指针的位置是在最后一行,或者在最后一行的前面。
【后记】
暂时只想到这一种方法,如果有更简单的方法,请联系我!
文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/Laura__zhang/article/details/99708689
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)