我有一個表格,我從表中獲取開始日期和結束日期。訪問日期VBA否則如果語句只顯示一個
開始日期和結束日期都被稱爲startdate和endate。 然後我有另一列是狀態。
我的代碼是這樣的:
sd = Me.startdate
ed = Me.enddate
DateValue (sd)
DateValue (ed)
If IsNull(sd And ed) Or (ed > Date) Then
Me.Text59 = "In use"
ElseIf (ed < Date) Then
Me.Text59 = "Free"
所以基本上我想要做的是,如果最終日期比今天早些時候,狀態將顯示爲免費。但是,如果結束日期比今天晚,則狀態將被使用。顯示開始日期和結束日期爲空的列也將在使用中顯示。
我的表的開始日期和結束日期是日期/時間數據類型。
當代碼運行時,只有當顯示一些日期比今天更早結束時,它們纔會顯示「正在使用」!請幫助):
您的DateValue行將返回值,但不會保存在任何位置。 你有沒有嘗試把DateValue放入If條件? If IsNull(sd And ed)or(Datevalue(ed)> Date)Then – gizlmo
@gizlmeier yeap i did!這是相同的結果,只在所有行中顯示「正在使用」 – user6239244
這很奇怪,對我來說日期比較工作正常,如果我嘗試DateValue(「2016-04-23」)>現在例如。如果您嘗試將ElseIf更改爲Else,該怎麼辦? – gizlmo