【发布时间】:2016-04-26 20:20:36
【问题描述】:
我正在尝试找出构建动态查询并将其用作 MS Access 子表单的记录源的最佳方法。我现在已经静态分配了 WHERE 子句,这样我就可以构建表单并确保数据正确提取。主窗体将有 2 个格式化为 ShortDate 的文本框和下面的 2 个子窗体,其中包含查询结果。第一个子表单是按员工姓名分组的查询,第二个子表单是部门总数的总和。
FWIW 这是一个 Access 2010 ADP/ADE 前端,SQL Server 2008 后端。我当前的部门总计 SQL 如下:
SELECT COUNT(*) AS TotalNumEstimates, SUM(NumPanels) AS TotalNumPanels, SUM(PriceBase) AS TotalBasePrice, SUM(PriceBase) / SUM(NumPanels) AS ValuePricePerPanel
FROM dbo.tblBid
WHERE (Date > CONVERT(DATETIME, '2016-01-01 00:00:00', 102))
HAVING (SUM(NumPanels) > 0)
我计划将 WHERE 子句更改为“WHERE Date BETWEEN @FromDate and @ToDate”。然后在设置日期并单击“运行报告”按钮的 Access 表单上,以编程方式设置 OnClick 事件以分别将 txtFromDate 和 txtToDate 传递给 @FromDate 和 @ToDate,但我不太清楚那部分.
我能看到的唯一其他选项是将整个 SQL 语句键入为字符串,并在 OnClick 事件中声明 txtFromDate 和 txtToDate 并将子表单记录源更改为新字符串。有没有更好的方法来做到这一点?
【问题讨论】:
标签: sql-server ms-access vba