다음은 첫 번째 부분입니다. 이 작업을 수행하는 데 훨씬 좋은 방법이있을 것입니다. 내가 한 일은 당월에 한 달을 빼앗아갔습니다. 그런 다음 날짜와 현재 연도를 연결합니다. 그런 다음 토요일인지 확인하기 위해 하루의 이름을 확인했습니다. 만약 그렇다면, 나는 그 날짜를 사용했다. 그렇지 않으면 나는 같은 수표로 그 다음날을했다. 이 기능을 사용하려면 1 월에 추가 로직을 추가해야합니다. 또한 NOW() 대신 사용중인 매개 변수를 사용하십시오. 다른 주에
=IIF(WeekdayName(DatePart("w", (CDate((Month(NOW()) - 1) & "/1/" & YEAR(NOW()))))) = "Saturday", (CDate((Month(NOW()) - 1) & "/1/" & YEAR(NOW()))),
(IIF(WeekdayName(DatePart("w", (CDate((Month(NOW()) - 1) & "/2/" & YEAR(NOW()))))) = "Saturday", (CDate((Month(NOW()) - 1) & "/2/" & YEAR(NOW()))),
(IIF(WeekdayName(DatePart("w", (CDate((Month(NOW()) - 1) & "/3/" & YEAR(NOW()))))) = "Saturday", (CDate((Month(NOW()) - 1) & "/3/" & YEAR(NOW()))),
(IIF(WeekdayName(DatePart("w", (CDate((Month(NOW()) - 1) & "/4/" & YEAR(NOW()))))) = "Saturday", (CDate((Month(NOW()) - 1) & "/4/" & YEAR(NOW()))),
(IIF(WeekdayName(DatePart("w", (CDate((Month(NOW()) - 1) & "/5/" & YEAR(NOW()))))) = "Saturday", (CDate((Month(NOW()) - 1) & "/5/" & YEAR(NOW()))),
(IIF(WeekdayName(DatePart("w", (CDate((Month(NOW()) - 1) & "/6/" & YEAR(NOW()))))) = "Saturday", (CDate((Month(NOW()) - 1) & "/6/" & YEAR(NOW()))),
(IIF(WeekdayName(DatePart("w", (CDate((Month(NOW()) - 1) & "/7/" & YEAR(NOW()))))) = "Saturday", (CDate((Month(NOW()) - 1) & "/7/" & YEAR(NOW()))),
"1/1/2010")))))))))))))
, 당신은 SQL Server의 달력 테이블이있는 경우 (특히 당신이 금요일 필요로 할 때를 위해)이 얻을 수있는 아주 쉬운 방법이있을 것입니다. 다음과 같은 간단한 select 문을 수행 할 수 있습니다.
SELECT
MIN(date)
FROM
calendar c
WHERE
MONTH(DATEADD("m", -1, GETDATE())) = MONTH(date)
AND YEAR(DATEADD("m", -1, GETDATE())) = YEAR(date)
AND datename(dw, date) = 'Saturday'
Visual Studio Report Designer를 모르지만 End 매개 변수를 다음과 같이 정의 할 수도 있습니다. : "지난 토요일 ** ** 6 일". 또한 '지난 달의 금요일'또는 '다음 달 6 일 전 또는 그 이전'입니다. 그게 도움이되는지 모르십니까? –