Ms access 基于组合框预定义值筛选microsoft access记录

Ms access 基于组合框预定义值筛选microsoft access记录,ms-access,Ms Access,我有一个Microsoft Access数据库。它有一个customers表和每个customer的输入日期。我还有一个表格,其中包括所有客户及其信息 我想制作一个组合框(下拉框),其中包括一年中的几个月(一月、二月、三月、四月等)。当用户从组合框中选择April时,只有在该月添加的记录才会显示在records表中 这能做到吗?我已经试着这样做至少3天了,但没有运气 问候。您需要执行几个步骤,首先进入组合框的属性并更改行源,以便在第一列中显示月份编号,在第二列中显示月份名称。你需要为这个做一张桌

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

我想制作一个组合框(下拉框),其中包括一年中的几个月(一月、二月、三月、四月等)。当用户从组合框中选择April时,只有在该月添加的记录才会显示在records表中

这能做到吗?我已经试着这样做至少3天了,但没有运气


问候。

您需要执行几个步骤,首先进入组合框的属性并更改行源,以便在第一列中显示月份编号,在第二列中显示月份名称。你需要为这个做一张桌子。接下来,进入组合框的属性并将列计数更改为2。然后更改列宽,使第一列为0。它应该是这样的-0“2”。现在,组合框应该在下拉列表中列出月份名称,但是如果您以编程方式访问它,它将给出月份的编号

这应该让您开始,根据您获取数据的方式,您需要一个使用Month()将其分离出来的查询,或者如果您使用的是子表单,则需要一个带有Month的字段来链接


如果还不算太晚,希望这对您有所帮助。

基本上,您需要一个下拉字段,该字段应用筛选功能按月份筛选相应的记录。根据是否使用子窗体,执行以下操作

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

  • 创建一个组合框,其中包含所有12个月的输入值列表选择,或者包含月份表中的数据(使用隐藏或未隐藏的月份编号)
  • 使用命令ApplyFilter为AfterUpdate或OnClick button事件创建宏或VBA例程
  • 宏:
    ApplyFilter过滤器名称:(留空),其中条件:=“=[记录月份字段]='”&表单!主窗体!FilterMonthCombo&“”,控件名称:(留空)

    VBA:
    DoCmd.ApplyFilter,“[Record Month Field]=”&Me.FilterMonthCombo&“”

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

  • 创建一个组合框,其中包含所有12个月的输入值列表选择,或者包含月份表中的数据(使用隐藏或未隐藏的月份编号)
  • 为AfterUpdate或OnClick button事件创建VBA例程,以动态筛选子窗体的RecordSource:

  • VBA:
    表单!主窗体!Subform.Form.RecordSource=“从记录中选择*,其中[记录月份字段]=”&表格!主窗体!FilterMonthCombo&“'”

    在我看来,在MS Access中似乎是一件简单的事情。 如果您熟悉VBA,可以在上编写一个过程 组合框的“更新后”事件。 此过程只需将FROM的RecordSource更新为

    "SELECT * FROM [the table with the records you want to filter] WHERE [Field with month number] = " & ComboxboxField.Column(0)
    
    将组合框设置为两列,一列显示月份编号,另一列显示月份名称。
    设置组合框格式时,选择隐藏第一列数据,方法是将其大小设置为0“

    是的,可以这样做。您坚持使用哪一位?我相信有人可以帮助您,尽管不是我,因为access给了我这些记录。我坚持要根据从组合框中选择的月份筛选记录。