誰能幫助我理解MS Access中的這個標準?我只想知道53, ww, 和DataPart("ww", [SalesDate])在這個陳述句中的作用是什么?
Year([SalesDate])* 53 DatePart("ww", [SalesDate]) = Year(Date())* 53 DatePart("ww", Date() - 1
uj5u.com熱心網友回復:
這是在檢查SalesDate是否發生在之前的一周。
53只是將年份轉換為等效的周數(53是因為一年比52周多一點,你必須考慮到這些額外的日子)。 "ww "是DatePart()的一個引數,它告訴DatePart()回傳給定日期的年度周數(所以如果給定的是2021年1月1日,它將回傳今年第一周的 "1",如果給定的是2021年1月11日,它將回傳 "3",因為那是今年第三周的星期一,等等)。
因此,該運算式的右側是計算當前日期的周數,并減去 1(即上周)。 而左邊則是計算銷售日期的周數。 如果它們相等,說明銷售日期發生在上周。
uj5u.com熱心網友回復:
這是一個復雜的方法來檢查 "銷售日期 "是否是上周。 DatePart("ww" [SalesDate])回傳1-53年的星期數。(53是因為你可以在年底有一個部分的星期,但微軟認為這是一個但見https://docs.microsoft.com/en-us/office/troubleshoot/access/functions-return-wrong-week-number)
通過將年份乘以53,然后加上周數,該公式生成了一個唯一的周數,然后將該周數與當前日期的周數減去1進行比較,這將是上周。
因此,這個公式只是簡單地檢查一下SalesDate是否為上周。
uj5u.com熱心網友回復:
53是周數,我猜。 "ww"是Datepart函式的星期引數(設定)。
Datepart函式 "回傳一個包含給定日期的指定部分的變數(Integer)"。所以在這個例子中,它是week.
在函式Datepart中,SalesDate是你的實際日期...
uj5u.com熱心網友回復:
這是一個復雜的方法來檢查 "銷售日期 "是否是上周。
這是個復雜的方法。
確實如此。使用DateDiff可以將其減少到最低限度:
If DateDiff("ww"/span>, [SalesDate], Date()) = 1 Then
' SalesDate落在前一周。
Else
' ...
End If
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/314464.html
標籤:
