You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA筛选日期范围时触发Error 3075错误求助

解决Access VBA日期筛选的Error 3075问题

我一眼就看出你遇到的是Access里典型的日期语法错误——Error 3075本质是SQL筛选语句的格式不对,咱们来快速修复它:

问题出在哪?

Access的日期常量必须用#(井号)包裹,而你代码里用了单引号',而且BETWEEN的拼接还缺了闭合的符号,导致数据库无法正确解析你的日期范围。

修复后的完整代码

Private Sub btnHwEOLNext2_Click()
    Dim filterString As String
    Dim startDate As Date
    Dim endDate As Date
    startDate = Date
    endDate = Date + 730 ' 计算两年后的日期
    
    ' 用#包裹日期,同时统一格式避免区域设置问题
    filterString = "[HW End of Support] BETWEEN #" & Format(startDate, "mm/dd/yyyy") & "# AND #" & Format(endDate, "mm/dd/yyyy") & "#"
    Me.Filter = filterString
    DoCmd.SetOrderBy "[HW End of Support] ASC"
    Me.FilterOn = True
End Sub

核心修改说明

  • 替换日期包裹符号:把单引号'换成Access识别的#,这是日期筛选的标准语法
  • 统一日期格式:用Format函数把日期转为mm/dd/yyyy格式,避免因系统区域差异导致的日期解析失败
  • 修正BETWEEN结构:确保前后两个日期都被正确包裹,并且AND前后保留空格(原代码里的小写And其实不影响,但大写更符合SQL规范)

如果修改后还是有问题,可以检查[HW End of Support]字段是否确实是日期/时间类型,或者字段名有没有拼写错误哦。

内容的提问来源于stack exchange,提问作者Raul Gonzales

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:39:30