我有一个名为DateSelector
的文本字段,其格式为 Short Date ,还有一个带有条目列表的子窗体,名为ControlDate
的一列包含的值的格式也设置为短日期。
我想要什么:
如果您更改DateSelector
的值,则应该将列ControlDate
过滤到现在到DateSelector
的值之间,或者至少低于DateSelector
的值。 / p>
这是我的代码:
Private Sub DateSelector_AfterUpdate()
On Error GoTo Proc_Error
If Me.DateSelector.Value = "" Then
Me.ListView.Form.filter = ""
Me.ListView.Form.FilterOn = False
Else
MsgBox (Me.DateSelector.Value)
'This is a Check, if the Value is correct.
Me.ListView.Form.filter = "ControlDate >=" & Me.DateSelector.Value
Me.ListView.Form.FilterOn = True
End If
Proc_Exit:
Exit Sub
Proc_Error:
MsgBox "Error " & Err.Number & " when creating Filter:" & vbCrLf & Err.Description
Resume Proc_Exit
End Sub
抛出的错误是3075: Syntax Error
。 MsgBox
显示正确的日期,错误消息显示缺少最后一位数字的日期(例如:05.12.2018-> 05.12.201),我绝对不知道为什么。
非常感谢您的回答,感谢您的阅读,
_Ninsa
答案 0 :(得分:1)
您的过滤器最终将显示为:
"ControlDate >= 01.12.2018"
Access无法读取的
。因此,请对日期值的字符串表达式应用正确的格式:
"ControlDate >= #" & Format(Me!DateSelector.Value, "yyyy\/mm\/dd") & "#"