我有一个表格,我从表中获取开始日期和结束日期。访问日期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