Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 如何根据combobox查找下一条记录;“过滤器”;_Ms Access - Fatal编程技术网

Ms access 如何根据combobox查找下一条记录;“过滤器”;

Ms access 如何根据combobox查找下一条记录;“过滤器”;,ms-access,Ms Access,我有一个带有两个组合框的表单,第一个(cboSet)选择一个类集合,第二个(cboName)显示该集合中的学生姓名(ID隐藏在第一列中)。我有一个按钮,我想用它来找到该集中的下一个学生。我尝试实现一个下一步按钮,它将转到下一个记录,但不是正确的学生。任何帮助都将不胜感激。 当你说下一个学生时,你是指下一个数字ID的学生,还是你在为下一个学生使用其他标准? 这里有一个可能的解决方案,假设你想和下一个学生一起筛选你的表格。没有更多的细节,这个例子有点模糊。看到你已经拥有的东西会让它更精确 在按钮的o

我有一个带有两个组合框的表单,第一个(cboSet)选择一个类集合,第二个(cboName)显示该集合中的学生姓名(ID隐藏在第一列中)。我有一个按钮,我想用它来找到该集中的下一个学生。我尝试实现一个下一步按钮,它将转到下一个记录,但不是正确的学生。任何帮助都将不胜感激。

当你说下一个学生时,你是指下一个数字ID的学生,还是你在为下一个学生使用其他标准? 这里有一个可能的解决方案,假设你想和下一个学生一起筛选你的表格。没有更多的细节,这个例子有点模糊。看到你已经拥有的东西会让它更精确

在按钮的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

你是如何尝试创建下一个学生按钮的。如果你有任何代码在你的尝试,你可以请张贴。屏幕截图也会有帮助。=“[EnglishID]=”&Str(Nz([Screen].[ActiveControl],0)),此时将转到下一个记录,但我希望下一个EnglishID与组合框设置相同。我已经弄乱了一些变体,但它们没有成功。。。正如你可能知道的,我对这一点还不熟悉;)表单基于一个查询,该查询包含EnglishID、set和学生姓名。在第一个组合框中,选择集合,第二个组合框使用相关名称更新。我想做的是单击按钮,同一组中的下一个学生将出现。英语ID是按数字顺序排列的,但我希望它跳转到与该集合中的学生对应的ID。希望这会有帮助。上面的概念会起作用,你只需要弄清楚如何提取你组中下一个学生的ID。如何在组合框中获得学生的姓名?通过查询。通过在用作记录源的查询中查找下一个最大的ID,您应该能够找到集合中的下一个ID。然后按上述步骤进行过滤。你能告诉我正确的开始方向吗?我在宏生成器中做了一些工作,我会使用tempVar和某种表达式吗?目前,我有一个显示当前ID的消息框,也许我可以从它开始?它无法识别方法openrecordsourceit的db.OpenRecordSet。。。我很快就把它打出来了,肯定会有几个错误。