我有一个表格[主管]有2个组合框:主管,职位。
我为员工提供各种信息的报告,其中包括主管和职位。我想创建一个命令按钮,打开报告,取决于组合框中选择的主管和位置。这应该像在WHERE语句中限制一样简单,对吗?我用表达式构建器说:
Where Condition = [position] Like [Forms]![Supervisors]![PositionCombo]
AND [sup] Like [Forms]![Supervisors]![SupervisorCombo]
然而,当我点击按钮时,我得到“Microsoft Access数据库引擎无法识别'[Forms]![Supervisors]![PositionCombo]'作为有效的字段名称或表达式。”如何告诉Access使用组合框值作为限制标准?
虽然我打算学习,但我不认识VBA。如果可能的话,我想在不需要VBA的情况下完成此任务。
答案 0 :(得分:1)
使用OpenReport Method WhereCondition 选项根据您的组合框值过滤报告的记录来源。
Dim strWhereCondition As String
strWhereCondition = "[position] = " & Me.[PositionCombo].Value _
& " AND [sup] = " & Me.[SupervisorCombo].Value
Debug.Print strWhereCondition
DoCmd.OpenReport "Your Report", View:=acViewPreview, _
WhereCondition:=strWhereCondition
我假设[position]
和[sup]
的数字数据类型。如果它们实际上是文本,请引用 strWhereCondition 中的值。
strWhereCondition = "[position] = '" & Me.[PositionCombo].Value _
& "' AND [sup] = '" & Me.[SupervisorCombo].Value & "'"