根据Combobox值刷新MS Access表单/查询

时间:2012-12-27 18:50:30

标签: ms-access access-vba criteria ms-access-2010

非常简单的解释。我有一个包含10个条目的表格,包含2010年的5个条目和2011年的5个条目。

在我的查询中,我使用Like * 2010过滤掉所有等于2010的条目并显示这些记录。

在我的表单上,我有每个独特年份(来自不同的表格)填充的组合框。所以我的组合框值是2010年和2011年。

是否有可能,当我选择说2011年时,我修剪了正确的4个字符并使用我喜欢的标准刷新并重新查询表单,所有这些都在VBA中完成?

2 个答案:

答案 0 :(得分:2)

只要包含该控件的表单处于打开状态,您就可以在Access会话中查询运行中的控件的值。

SELECT *
FROM YourTable
WHERE date_field_as_text Like "*" & Forms!YourForm!YourCombo;

所以也许您可以使用类似的查询作为表单的记录源,并在更新事件后的组合框中执行Me.Requery

如果这与您想要的不够接近,请向我们提供有关所涉及领域的数据类型的更多信息。在表格中添加表格数据的简短样本也会有所帮助;请明确“日期”字段是文本还是日期/时间。

答案 1 :(得分:0)

是的,这是可能的。只需将您的内容添加到'YourComboName.After_Update'即可。 查找在显示表单之前触发的表单事件。像HansUp建议的那样构建您的查询。