应用过滤器仅显示超过4个月前的对象在Ms-Access VBA中

时间:2016-07-26 14:38:23

标签: vba ms-access

我有一个名为" 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)

2 个答案:

答案 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 & "#"