MS Access使用函数作为选择查询中的条件

问题描述 投票:1回答: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放入select查询中的条件时,我得到错误数量的参数错误,或者如果我把它放入:

TestFunction (MgrName)

...它自动插入引号:

TestFunction ("MgrName")
ms-access access-vba
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
© www.soinside.com 2019 - 2024. All rights reserved.