我有一个名为" table1"使用名为"部署日期"的字段; (请原谅空间)。在VBA中,我尝试应用过滤器,该过滤器仅显示从当前日期起4个月之前部署的对象。这里有一些代码。
Dim str1 As Date
str1 = DateAdd("M", -4, Now())
str1 = "=" & str1
DoCmd.SetFilter WhereCondition:="[Deployment Date]" & "<" & Chr(34) & str1 & Chr(34)
每当运行时,它将取消选择&#34;部署日期&#34;中的所有值。字段,但仍显示字段内的所有值。该字段采用长时间格式 会知道如何调整代码以使其工作吗?谢谢大家。
编辑:更新了代码,但似乎无法正常运行
DoCmd.SetWarnings True
Dim str1 As String
str1 = Format(Date, "Long Time")
str1 = DateAdd("M", -4, str1)
str1 = "=" & str1
DoCmd.SetFilter WhereCondition:="[Deployment Date]" & "<" & Chr(34) & str1 & Chr(34)
答案 0 :(得分:0)
使用Chr(35),在MS SQL中,日期应该被#
包围答案 1 :(得分:0)
您正在混合字符串和日期值。试试这个:
Dim str1 As String
str1 = Format(DateAdd("m", -4, Date), "yyyy\/mm\/dd")
DoCmd.SetFilter WhereCondition:= "[Deployment Date] < #" & str1 & "#"