【发布时间】:2018-03-23 15:09:37
【问题描述】:
我有两个查询都提示用户输入开始日期和结束日期。我想将这些查询打包成一个报告(或类似的东西),以便用户只需按下仪表板上的一个按钮,它就会提示他们输入开始日期/结束日期一次(将其传递给两个查询),然后打印查询结果。这可能吗?我一直在阅读报告、表格和宏。我想我刚刚开始迷惑自己了。
【问题讨论】:
我有两个查询都提示用户输入开始日期和结束日期。我想将这些查询打包成一个报告(或类似的东西),以便用户只需按下仪表板上的一个按钮,它就会提示他们输入开始日期/结束日期一次(将其传递给两个查询),然后打印查询结果。这可能吗?我一直在阅读报告、表格和宏。我想我刚刚开始迷惑自己了。
【问题讨论】:
如果这是在报告中,您可以在您的报告绑定到的查询中省略过滤器,而使用报告过滤器。
如果您将报表作为子报表对象放在表单上,那么您可以将 StartDate 和 EndDate 参数设置为父表单上的日期选择器。然后,您可以使用 Link Master/Child Fields 将它们绑定到子报告,或者您可以构建更精细的过滤器,并在每次更新开始/结束日期控件时将该过滤器应用于子报告。
【讨论】:
这是一种方法:
创建一个像 `MyParameter' 这样的全局变量和一个像这样的全局函数:
Public Function GetMyParameter() as [whatever type your parameter is]
GetMyParameter = MyParameter
End Function
在查询中使用GetMyParameter() 作为参数,在按钮的点击事件中使用:
MyParameter = [Whatever value you want to assign to Parameter]
DoCmd.OpenQuery "Query1"
DoCmd.OpenQuery "Query2"
对于开始日期和结束日期,您需要两个参数。您可以将它们称为 GlobalStartDate 和 GlobalEndDate,相应的函数可以是 GetGlobalStartDate 和 GetGlobalEndDate。然后您的查询条件可以使用类似BETWEEN GetGlobalStartDate() AND GetGlobalEndDate()
【讨论】: