ms-access - 在 Access 中的传递查询中使用文本框中的值作为参数
问题描述
我有一个 Firebird 数据库,在其中使用名为 SP_SALES 的存储过程来生成相当复杂的销售报告。我现在想使用 MS Access 将几个数据库中的销售报告合并到一个报告中。在 Access 中,我创建了一个普通的通过查询充当链接表,并将为每个数据库执行此操作,我可以从中轻松整合报告。我现在的问题是我的存储过程中有 FROM DATE 和 TO DATE 参数。所以我在 Access 中的通过查询如下所示:
SELECT * FROM SP_SALES ('2019/01/01' , '2019/12/31')
提取我的合并报告时,用户应该能够定义 FROM DATE 和 TO DATE。所以我创建了一个可以填充的用户表单。用户窗体名为 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") & "')"
推荐阅读
- stargazer - 找不到函数“multinom”nnet 错误 + stargazer 问题
- scala - 如何使用模式字段选择数据框列
- python - FileNotFoundError: [Errno 2] 没有这样的文件或目录 (Python)
- pandas-groupby - 在 Dask 数据帧上分组,然后按一列排序
- app-engine-flexible - 有没有办法在 GCP AppEngine 上阻止 HTTP
- ruby-on-rails - Rails 6 Heroku 设计错误 ActiveSupport::MessageEncryptor::InvalidMessage
- html - 我使用 col 属性添加了两个相邻的视频,但在小屏幕中,它被堆叠而没有间距
- python - 选择自动填写表格
- php - Laravel 多态关系 - 返回关系
- javascript - 制作单选框多选JS