1

我正在尝试完成以下任务:

我想让用户从表单的组合框中选择一个季度,然后单击“查看报告”按钮查看报告。表单的组合框为每个季度数字提供 4 个选项。用户做出选择后,两个文本框(StartQuarterDateTextbox 和 EndQuarterDateTextbox)在一个中填充季度的开始日期,在另一个中填充季度的结束日期。

我想在文本框中获取两个日期并查询一个表(在本例中为 tblIdeaDetails 表)。它应该采用此日期范围并选择任何具有在此日期范围内或之间的ideaDateSubmitted 字段的记录。问题是每次单击按钮时,Access 都会提示我输入表单中的日期。

这就是我的查询(qryIdeasByQuarterDate):

SELECT tblIdeaDetails.ideaID, tblIdeaDetails.ideaDescription, tblIdeaDetails.ideaSubmitter, tblIdeaDetails.ideaDateSubmitted, tblIdeaDetails.ideaComments, tblBenefits.benefitAnimalWelfare, tblBenefits.benefitSafety, tblBenefits.benefitCostSavings, tblBenefits.benefitImprovedPractice, tblBenefits.benefitAdministrative, tblBenefits.benefitOther, tblStatus.status, tblStatus.statusComments, tblStatus.statusPayoutAmount
FROM (tblIdeaDetails INNER JOIN tblBenefits ON tblIdeaDetails.ideaID = tblBenefits.benefitID) INNER JOIN tblStatus ON tblIdeaDetails.ideaID = tblStatus.statusID
WHERE tblIdeaDetails.ideaDateSubmitted >= [Forms]![frmQuarter]![StartQuarterDateTextbox] And tblIdeaDetails.ideaDateSubmitted <= [Forms]![frmQuarter]![EndQuarterDateTextbox];

我的 WHERE 子句设置不正确吗?我尝试过使用括号和其他一些东西,但我在这里没有想法了。

4

1 回答 1

0

听起来数据库引擎找不到那些文本框。可能发生的原因包括:

  1. 表单未在表单视图中打开。
  2. 表单或文本框名称拼写错误。
  3. 查询从打开表单的 Access 应用程序会话外部运行。

如果这些都不适用,我所能建议的就是尝试只关注文本框的简化查询......并破解这些查询,直到 Access 合作。

创建 2 个新查询,每个查询都集中在其中一个文本框上。

SELECT [Forms]![frmQuarter]![StartQuarterDateTextbox] AS start_date;

SELECT [Forms]![frmQuarter]![EndQuarterDateTextbox] AS end_date;
于 2013-08-23T14:34:41.873 回答