Отчет о доступе - Показать дату окончания недели - PullRequest
1 голос
/ 11 мая 2009

У меня есть отчет Access 2000, основанный на запросе, подобном этому

SELECT 
...
FROM Clients AS wc INNER JOIN ...
WHERE ((wo.OfferStatusID)=3) AND 
((DatePart("ww",[wo.StatusTimeStamp]))=DatePart("ww",[Enter Week End Date])) 
AND ((Year([wo.StatusTimeStamp]))=Year(Date())));

Предложение where позволяет вам ввести «Дату окончания недели» и находит все записи за неделю с воскресенья по субботу, которые содержат дату окончания.

Моя проблема в том, что мне нужно включить в отчет дату окончания субботы, чтобы в заголовке было написано «... для недели, заканчивающейся 5/9/09», и я не могу понять, как получить эту дату без запроса спрашивая меня об этом во второй раз.

Есть ли способ заставить Access вернуть параметр, введенный в качестве другого поля в результатах, или другой способ получить дату окончания этой недели?

Ответы [ 3 ]

4 голосов
/ 11 мая 2009

Продолжая ковыряться в конструкторе запросов, я обнаружил, что могу добавить это в предложение SELECT и добавить введенное значение в каждую строку:

[Enter Week End Date] AS WeekEndDate

Это работает, но я все еще открыт для других предложений.

0 голосов
/ 15 мая 2009

Другой подход заключается в использовании формы, чтобы сначала получить параметры запроса и ссылаться на элемент управления формы в запросе. Например, в вашем примере создайте форму с именем frmGetDateParam и добавьте текстовое поле с именем txtDate. Изменить формат на дату, возможно, добавить проверку, не имеет значения. Добавьте командную кнопку в форму, которая открывает отчет. Затем измените запрос так, чтобы он выглядел следующим образом: -

SELECT 
...
FROM Clients AS wc INNER JOIN ...
WHERE ((wo.OfferStatusID)=3) AND 
((DatePart("ww",[wo.StatusTimeStamp]))=DatePart("ww",Forms!frmGetDateParam!txtDate)) 
AND ((Year([Forms!frmGetDateParam!txtDate]))=Year(Date())));

Вы также можете ссылаться на Forms! FrmGetDateParam! TxtDate как поле в вашем отчете.

Единственным недостатком этого подхода является то, что если вы попытаетесь открыть запрос / отчет без открытой формы параметра, то запрос все равно запросит значение даты.

0 голосов
/ 11 мая 2009

Вы можете сложить два запроса (сделать один источником другого). Это было бы довольно MS Access'ы. Однако, если у вас это работает сейчас, я бы придерживался того, что у вас есть. Это, вероятно, чище.

...