1

我有一个带有 2 个组合框的 [主管] 表单:主管、职位。

我有一份员工报告,里面有各种信息,其中包括主管和职位。我想制作一个命令按钮,根据组合框中选择的主管和职位打开报告。这应该和 WHERE 语句中的限制一样简单,对吗?我用表达式生成器说:

Where Condition = [position] Like [Forms]![Supervisors]![PositionCombo]
                   AND [sup] Like [Forms]![Supervisors]![SupervisorCombo]

然而,当我单击按钮时,我得到“Microsoft Access 数据库引擎无法将 '[Forms]![Supervisors]![PositionCombo]' 识别为有效的字段名称或表达式。” 如何告诉 Access 使用组合框值作为限制条件?

我不知道 VBA,但我确实打算学习。如果可能的话,我想在不需要 VBA 的情况下完成这项工作。

4

1 回答 1

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 & "'"
于 2013-11-12T20:31:29.147 回答