基于组合框预定义值过滤微软访问记录

moe*_*ido 2 ms-access

我有一个Microsoft Access数据库.它有一个客户表和每个客户的进入日期.我还有一个表格,其中包括所有客户及其信息.

我想制作一个组合框(下拉框),其中包括一年中的几个月(1月,2月,3月,4月等).当用户从组合框中选择April时,只有那个月添加的记录才会显示在记录表中.

可以这样做吗?我一直试图这样做至少3天但没有运气..

亲切的问候.

Par*_*ait 5

实质上,您需要一个下拉字段,该字段应用过滤器功能按月过滤相应的记录.根据您是否使用子表单执行以下操作.

主窗体(无子窗体) - 使用ApplyFilter

  1. 使用所有12个月的输入值列表选择或使用Months表中的数据(使用隐藏或未隐藏的月份编号)创建组合框.
  2. 使用命令ApplyFilter为AfterUpdate或OnClick按钮事件创建宏或VBA例程.

宏: ApplyFilter FilterName: (leave blank), Where Condition: ="=[Record Month Field]='" & Forms!MainForm!FilterMonthCombo & "'", Control Name: (leave blank)

VBA: DoCmd.ApplyFilter , "[Record Month Field]='" & Me.FilterMonthCombo & "'"

主窗体(带子窗体) - 使用RecordSource

  1. 使用所有12个月的输入值列表选择或使用Months表中的数据(使用隐藏或未隐藏的月份编号)创建组合框.
  2. 为AfterUpdate或OnClick按钮事件创建VBA例程,以动态过滤子窗体的RecordSource:

VBA: Forms!MainForm!Subform.Form.RecordSource = "SELECT * FROM Records WHERE [Record Month Field]='" & Forms!MainForm!FilterMonthCombo & "'"