1

我有一个报告设置,其中包含我的一个选择查询的记录源。

我想要做的是在我的表单上为每个经理提供一系列按钮,按下这些按钮会打开报告,其中选择查询条件设置为经理名称。

按下按钮我有:

Dim MgrName As String
MgrName = "Smith"
Call Testfunction (MgrName)
DoCmd.OpenReport "R_Test_Logout_10", acViewReport

还:

Public Function TestFunction(MgrName)
    If MgrName = "Smith" Then
        TestFunction = "Smith, Joe"
    End If
End Function

当我尝试TestFunction在选择查询中输入标准时,我会收到错误数量的参数错误,或者如果我将其输入为:

TestFunction (MgrName)

...它会自动将引号插入到:

TestFunction ("MgrName")
4

1 回答 1

0

使用方法的WhereCondition参数DoCmd.OpenReport

例如,您可以定义一个函数,例如:

Function OpenMyReport(strMgr As String)
    DoCmd.OpenReport "R_Test_Logout_10", acViewReport, , "Manager = '" & strMgr & "'"
End Function

(假设您的报告的记录源包含一个名为 的字段Manager

然后从事件处理程序中为每个按钮的事件调用上述函数On Click,例如:

Private Sub MyButton_Click()
    OpenMyReport "Smith, Joe"
End Sub
于 2019-03-01T20:08:17.220 回答