首页 > 解决方案 > 设置日期字段验证规则会导致错误 3309“属性值太大”。

问题描述

我有一个带有两个大表的 Access 数据库,每个表都有许多日期字段。从过去的某一天到今天,每个日期字段都有其单独的有效日期。所以在启动时,我多年来一直使用以下 VBA 代码

fld.ValidationRule = "(>= #" & Strings.Format(fldFirstDate, "Short Date") & "# AND " & _
                     " <= #" & Strings.Format(DateTime.Date, "Short Date") & "#) OR=0 or IS NULL"
fld.ValidationText = "Enter a valid date between " & Strings.Format(fldFirstDate, "Short Date") & " and now."

它运行良好。fldFirstDate 是已在另一个表中查找的日期值。

最近,在一个大表中添加了多个日期字段,每个字段都有自己的第一个有效日期。我开始收到 3309 错误。

所以我简化了 ValidationRule 以不包括今天通过并且代码运行良好。当然,倒霉的用户现在可以在未来输入无效的日期......

表的字段验证规则存储是否有一些大小限制?

标签: vbams-accessms-access-2013

解决方案


推荐阅读