计算MS Access中日期和参数之间的天数

时间:2012-01-18 22:52:24

标签: ms-access ms-access-2010

我正在尝试编写一个查询,允许我为超过X天数的所有用户获取记录。我希望能够指定该数字是30还是40或50.当我在sql查询中指定特定数字时,我能够获得所需的结果:

   SELECT USER_TRANSACTIONS.PATRON_ID, USER_TRANSACTIONS.CURRENT_DUE_DATE,        
    DateDiff("d",USER_TRANSACTIONS.CURRENT_DUE_DATE,Date()) AS Expr1
  FROM USER_TRANSACTIONS
  WHERE (DateDiff("d", USER_TRANSACTIONS.CURRENT_DUE_DATE, Date()))>50

但是,当我尝试使用参数代替数字时,50。然后在运行查询时输入数字50并提示

     SELECT USER_TRANSACTIONS.PATRON_ID,USER_TRANSACTIONS.CURRENT_DUE_DATE,   
     DateDiff("d",USER_TRANSACTIONS.CURRENT_DUE_DATE,Date()) AS Expr1
     FROM USER_TRANSACTIONS
     WHERE (DateDiff("d", USER_TRANSACTIONS.CURRENT_DUE_DATE, Date()))>[MinimumNumDays]

查询为我提供了所有内容,而不是将记录限制为逾期超过50天的记录。我错过了什么?

2 个答案:

答案 0 :(得分:1)

您需要将[MinimumNumDays]添加为Integer查询参数。 (单击查询构建器右上角的[?]参数)

答案 1 :(得分:0)

如果从表单运行此查询,则可以向表单添加unbouand文本框。输入此天数。在查询定义中右键单击Expr1的条件行并选择build,找到您的文本框 表格 - >已加载的表格 - >你的表格

双击它并单击“确定”