Поле даты установки ValidationRule выдает ошибку 3309 «Значение свойства слишком велико». - PullRequest
0 голосов
/ 28 января 2020

У меня есть база данных 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, чтобы он не включал выполнение до сегодняшнего дня, и код работает нормально. Конечно, несчастный пользователь теперь может вводить недействительные даты в будущем ...

Существуют ли ограничения по размеру для хранилища правил проверки полей таблицы?

...