我有一個MS Access前端和一個SQL Server后端資料庫。我有一個表[Month End],列ID,[Month End Date]。
在VBA中,我試圖找到下一個星期天之前的最大日期。我得到的是下一個周日的日期。DMax 總是回傳表中的最后一個日期,似乎并不看重標準。
這段代碼在我將后端轉移到SQL Server之前一直有效。
代碼:
if Weekday(Now()) < 3 Then
NextSunday = DateAdd("d", 1 - Weekday(Now() , Date)
否則
NextSunday = DateAdd("d", 8-Weekday(Now(), Date)
nextMonthEnd = DMax("[月末日期]", "[月末]", "[月末日期] < #" & NextSunday & "#")
uj5u.com熱心網友回復:
如果你要找一個月的最后一天,你可以使用這個函式
。Public Function LastDayOfMonth(ByVal d As Date) As Date Date
d = DateAdd("m"/span>, 1, d)
d = DateSerial(Year(d), Month(d), 1)
LastDayOfMonth = DateAdd("d"/span>, -1, d)
End Function[/span
首先它得到下個月的第一天,然后減去一天,得到當前月的最后一天。這與一個月中的天數無關。
uj5u.com熱心網友回復:
嘗試在NextSunday上強制執行一種格式:
NextSunday = DateAdd("ww", Abs(Weekday(Date, vbTuesday) > = vbTuesday), DateAdd("d", 7 - (Weekday(Date) - 1), Date)
NextMonthEnd = DMax("[月末日期]", "[月末]", "[月末日期] < #"/span> & Format(NextSunday, "yyyy/mm/dd") & "#")
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/314448.html
標籤:
