Access/VB 自定义导航按钮 - 按日期转到 Next/Prev
Access/VB Custom Navigation Buttons - Go To Next/Prev by date
我有一个表格,我们的主管每天都用它按生产线输入他们的班次。我的子表单(基于查询)按日期显示所有输入的班次(我有一个搜索框,您可以在其中 select 一个日期)。
我的导航按钮(目前只是 运行 通过宏用于转到第一个、下一个、最后一个)做它们应该做的事情——移动到 next/previous 记录,但我想知道是否有如何对我的按钮进行编码以按日期移动到下一组记录,而不是仅移动到当前日期内的下一条记录?
例如,当我在我的日期搜索框中搜索 9/28/17 时,我的子表单为该日期填充了 57 条记录。我当前的下一个和上一个按钮只是在那个日期的每条记录上一个一个地移动,然后移动到下一个日期(当然,这是宏告诉它做的!)。我希望能够点击“下一步”并让它跳转到 2017 年 9 月 29 日。不确定使用宏是否可行,但可能使用一些 VB 代码?
我正在使用 Access 2010/VB。我的单个表单将数据保存到单个 table。我的子表单从查询中提取并显示在数据表视图中。
表单名称 - ShiftRecord2。
子表单 - ShiftProdRecords2_Query_subform。
子表单当前由 ShiftDate 填充。
我的主表单和子表单通过 ShiftDate 的 Master/Child 字段链接。
我不确定您需要在我这边看到什么才能提供帮助。我感谢所有 help/tips/advice/tutorials/links!
编辑添加:
我的子表单上的当前筛选字段如下所示:
[ShiftDate] Like "*" & [Forms]![ShiftRecord2]![txtSearchDate] & "*"
您可以尝试以下方法:
下一个:
Me.txtSearchDate = DateAdd("d",1, Me.txtSearchDate,)
Me.mySubformName.Requery
上一个:
Me.txtSearchDate = DateAdd("d", -1, Me.txtSearchDate)
Me.mySubformName.Requery
I have my main form and subform linked through Master/Child field of
ShiftDate.
然后:
My current filter field on my subform looks like this:
[ShiftDate] Like "*" & [Forms]![ShiftRecord2]![txtSearchDate] & "*"
如果是这样,删除 过滤器并使用 Erik 的想法为您的按钮,然后过滤 parent 表单:
Me!txtSearchDate.Value = DateAdd("d", -1, Me!txtSearchDate.Value)
Me.Filter = "ShiftDate = #" & Format(Me!txtSearchDate.Value, "yyyy\/mm\/dd") & "#"
Me.FilterOn = True
和:
Me!txtSearchDate.Value = DateAdd("d", 1, Me!txtSearchDate.Value)
Me.Filter = "ShiftDate = #" & Format(Me!txtSearchDate.Value, "yyyy\/mm\/dd") & "#"
Me.FilterOn = True
无需重新查询。 Master/Child link 将自动重新查询子表单。
我有一个表格,我们的主管每天都用它按生产线输入他们的班次。我的子表单(基于查询)按日期显示所有输入的班次(我有一个搜索框,您可以在其中 select 一个日期)。
我的导航按钮(目前只是 运行 通过宏用于转到第一个、下一个、最后一个)做它们应该做的事情——移动到 next/previous 记录,但我想知道是否有如何对我的按钮进行编码以按日期移动到下一组记录,而不是仅移动到当前日期内的下一条记录?
例如,当我在我的日期搜索框中搜索 9/28/17 时,我的子表单为该日期填充了 57 条记录。我当前的下一个和上一个按钮只是在那个日期的每条记录上一个一个地移动,然后移动到下一个日期(当然,这是宏告诉它做的!)。我希望能够点击“下一步”并让它跳转到 2017 年 9 月 29 日。不确定使用宏是否可行,但可能使用一些 VB 代码?
我正在使用 Access 2010/VB。我的单个表单将数据保存到单个 table。我的子表单从查询中提取并显示在数据表视图中。 表单名称 - ShiftRecord2。 子表单 - ShiftProdRecords2_Query_subform。 子表单当前由 ShiftDate 填充。 我的主表单和子表单通过 ShiftDate 的 Master/Child 字段链接。
我不确定您需要在我这边看到什么才能提供帮助。我感谢所有 help/tips/advice/tutorials/links!
编辑添加: 我的子表单上的当前筛选字段如下所示:
[ShiftDate] Like "*" & [Forms]![ShiftRecord2]![txtSearchDate] & "*"
您可以尝试以下方法:
下一个:
Me.txtSearchDate = DateAdd("d",1, Me.txtSearchDate,)
Me.mySubformName.Requery
上一个:
Me.txtSearchDate = DateAdd("d", -1, Me.txtSearchDate)
Me.mySubformName.Requery
I have my main form and subform linked through Master/Child field of ShiftDate.
然后:
My current filter field on my subform looks like this:
[ShiftDate] Like "*" & [Forms]![ShiftRecord2]![txtSearchDate] & "*"
如果是这样,删除 过滤器并使用 Erik 的想法为您的按钮,然后过滤 parent 表单:
Me!txtSearchDate.Value = DateAdd("d", -1, Me!txtSearchDate.Value)
Me.Filter = "ShiftDate = #" & Format(Me!txtSearchDate.Value, "yyyy\/mm\/dd") & "#"
Me.FilterOn = True
和:
Me!txtSearchDate.Value = DateAdd("d", 1, Me!txtSearchDate.Value)
Me.Filter = "ShiftDate = #" & Format(Me!txtSearchDate.Value, "yyyy\/mm\/dd") & "#"
Me.FilterOn = True
无需重新查询。 Master/Child link 将自动重新查询子表单。