Расчет дней между датами и параметрами в MS Access - PullRequest
2 голосов
/ 19 января 2012

Я пытаюсь написать запрос, который позволяет мне получать записи для всех пользователей, чьи элементы просрочены более чем на 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 ]

1 голос
/ 19 января 2012

Вам нужно будет добавить [MinimumNumDays] в качестве параметра запроса Integer.(Нажмите [?] Параметры в правом верхнем углу построителя запросов)

0 голосов
/ 19 января 2012

если вы выполняете этот запрос из формы, вы можете добавить к форме текстовое поле без отладки. Введите количество дней в этом. В определении запроса щелкните правой кнопкой мыши в строке критериев для Expr1 и выберите build, найдите текстовое поле в формы -> загруженные формы -> ваша форма

дважды щелкните по нему и нажмите OK

...