使用文本框中的值作为 Access 传递查询中的参数
Use value from a text box as a parameter in a pass through query in Access
我有一个 Firebird 数据库,我在其中使用名为 SP_SALES 的存储过程来生成相当复杂的销售报告。我现在想使用 MS Access 将来自几个数据库的销售报告合并到一个报告中。在 Access 中,我创建了一个正常的通过查询作为链接 table,并将对每个数据库执行此操作,我可以从中轻松合并报告。我现在的问题是我的存储过程中有 FROM DATE 和 TO DATE 参数。所以我在 Access 中的传递查询如下所示:
SELECT * FROM SP_SALES ('2019/01/01' , '2019/12/31')
用户在提取我的综合报告时应该能够定义开始日期和结束日期。所以我创建了一个可以填充的用户表单。用户窗体命名为 frm_CONSOLIDATED_SALES,日期框分别命名为 txt_FROM_DATE 和 txt_TO-DATE。所以我将我的 Access 查询更改为如下所示:
SELECT * FROM SP_SALES ([Forms]![frm_CONSOLIDATED_SALES][txt_FROM_DATE] , [Forms][frm_CONSOLIDATED_SALES][txt_TO_DATE])
但是,当 运行 查询时,我收到了一个 TOKEN UNKNOWN 错误。我试图避免在 VBA 中执行此操作,因为我不确定如何在 VBA 中执行传递查询。但是,如果我需要走那条路,我们将不胜感激。
当收到传递查询时,Firebird 应该如何了解您的数据库?除了语法无效之外,它不知道 [Forms]![frm_CONSOLIDATED_SALES][txt_FROM_DATE]
是什么。
因此,在通过查询之前,将其 SQL 属性 调整为:
SELECT * FROM SP_SALES ('2019/01/01' , '2019/12/31')
使用类似的东西:
YourQuery.SQL = "SELECT * FROM SP_SALES ('" & Format([txt_From_Date], "yyyy\/mm\/dd") & "' , '" & Format([txt_To_Date], "yyyy\/mm\/dd") & "')"
我有一个 Firebird 数据库,我在其中使用名为 SP_SALES 的存储过程来生成相当复杂的销售报告。我现在想使用 MS Access 将来自几个数据库的销售报告合并到一个报告中。在 Access 中,我创建了一个正常的通过查询作为链接 table,并将对每个数据库执行此操作,我可以从中轻松合并报告。我现在的问题是我的存储过程中有 FROM DATE 和 TO DATE 参数。所以我在 Access 中的传递查询如下所示:
SELECT * FROM SP_SALES ('2019/01/01' , '2019/12/31')
用户在提取我的综合报告时应该能够定义开始日期和结束日期。所以我创建了一个可以填充的用户表单。用户窗体命名为 frm_CONSOLIDATED_SALES,日期框分别命名为 txt_FROM_DATE 和 txt_TO-DATE。所以我将我的 Access 查询更改为如下所示:
SELECT * FROM SP_SALES ([Forms]![frm_CONSOLIDATED_SALES][txt_FROM_DATE] , [Forms][frm_CONSOLIDATED_SALES][txt_TO_DATE])
但是,当 运行 查询时,我收到了一个 TOKEN UNKNOWN 错误。我试图避免在 VBA 中执行此操作,因为我不确定如何在 VBA 中执行传递查询。但是,如果我需要走那条路,我们将不胜感激。
当收到传递查询时,Firebird 应该如何了解您的数据库?除了语法无效之外,它不知道 [Forms]![frm_CONSOLIDATED_SALES][txt_FROM_DATE]
是什么。
因此,在通过查询之前,将其 SQL 属性 调整为:
SELECT * FROM SP_SALES ('2019/01/01' , '2019/12/31')
使用类似的东西:
YourQuery.SQL = "SELECT * FROM SP_SALES ('" & Format([txt_From_Date], "yyyy\/mm\/dd") & "' , '" & Format([txt_To_Date], "yyyy\/mm\/dd") & "')"