我有一个带有两个组合框的表单,第一个(cboSet)选择一个类集,第二个(cboName)显示该集合中的学生名称(ID隐藏在第一列中)。我有一个按钮,我想用它来找到该组中的下一个学生。我已经尝试实现下一个按钮,它将转到下一个记录但不是正确的学生。任何帮助将非常感激。
答案 0 :(得分:0)
当您说下一位学生时,您是指具有下一个数字身份证的学生,还是您正在为下一个学生使用其他一些标准? 假设您想要与下一位学生一起过滤您的表单,这是一种可能的解决方案。没有更多细节,这个例子有些模糊。看到你已经拥有的东西会更精确。
在按钮的onclick事件中:
Dim ID as Integer
ID = me.cboName.column(0) + 1
me.filter = "[ID] = " & ID
me.filteron = true
要查找集合中的下一个值,您可以执行以下操作,当然这只是通用的,基本的(希望是某些正确的)代码,因此您必须根据自己的需要进行更改,但它应该指出你正确的方向。
dim db as dao.database
dim rs as dao.recordset
dim nextID as interger
dim SQLquery as string
nextID = 0
SQLquery = "SELECT TOP 1 ID from COMBO_RECORD_SOURCE WHERE ID > " & me.namecombo.column(0) & " ORDER BY ID"
set db = currentdb
set rs = db.openrecordset(SQLquery,dbOpenSnapshot)
if rs.recordCount > 0 THEN
rs.movefirst //I know it's not strictly necessary, old habit I like to do..
nextID = rs!ID
end if
if nextID > 0 then
me.filter = "[ID] = " & nextID
me.filteron = true
else
msgbox "There are no more names in this set."
end if
set rs = nothing
set db = nothing