我在用户填写文本框时通过VBA进行子表单过滤,它通过构建recordsource where语句来工作。
它循环通过控件但是当涉及到日期控件时,我特别是让它识别子窗体中单个日期字段的2个文本框(from,to)的控件。
我遇到的问题是它对MM / DD / YY的过滤而不是DD / MM / YY,我正在尝试的任何东西似乎都解决了这个问题。我已经尝试在代码中添加格式化酱和文本框值。也试过玩实际的文本框格式,但似乎没有任何区别,我拉我的头发。
代码的相关部分是
Dim strFilter As String
Dim ctL As Access.Control
For Each ctL In Me.Controls
If ctL.Name = "Raised_For_From" Then
If Not IsNull(Raised_For_From) Then
strFilter = strFilter & " AND " & "Raised_For" & " > " & "#" & Me.Raised_For_From & "#"
End If
Else
If ctL.Name = "Raised_For_To" Then
If Not IsNull(Raised_For_to) Then
strFilter = strFilter & " AND " & "Raised_For" & " < " & "#" & Me.Raised_For_to & "#"
End If
Else
答案 0 :(得分:0)
您应始终在SQL中使用MM / DD / YY格式,从而强制相应日期的格式:
strFilter = strFilter & " AND " & "Raised_For" & " > " & "#" & Format(Me.Raised_For_From,"MM/DD/YYYY") & "#"
如果你没有得到正确的结果,那么这个表中的日期很可能是错误的,因为当你插入它们时你没有应用格式MM / DD