У меня есть datagrid, который является подформой внутри другой формы. Мне нужно проверить элементы, введенные в эту подформату datagrid, но я испытываю мучительное затруднение в определении того, как это сделать.Правила проверки доступа MS не срабатывают в подформе
Всякий раз, когда я читал об этом на форумах и на справочном сайте Microsoft, они рекомендуют использовать правила Required и Validation на уровне таблицы. Но поскольку это все связанные таблицы, Access сообщает мне, что они не могут быть сохранены/не применимы к моей ситуации. Когда я сохраняю эти настройки, они меняются на значения по умолчанию, когда я повторно открываю представление таблицы.
Другая рекомендация, которая, как представляется, самая тяжелая, заключается в том, чтобы ввести правила валидации в фактический файл данных. Кажется достаточно простым, но я не могу заставить их стрелять.
На моей колонке FromDate я разместил правило проверки Is Not Null
и текст проверки Can't be blank
. Я также пробовал Not IsNull([FromDate])
и IsNull([FromDate])=0
, но все они имели тот же результат, что ничего не происходило. MS Access позволяет мне пропускать поля, ничего не вводить и продолжать.
Проще говоря, правила проверки не срабатывают.
1- Должен ли я проверять datagrid через его правила проверки листа свойств Datagrid?
2- Если да, то как мне получить валидацию для фактического пожара и выполнить проверку?
3- Если я должен выполнять все процедуры программно, как я могу получить содержимое datagrid/iterating через каждую новую строку?
картинки ниже: Слева: подчиненный/ справа: свойства моей колонки в таблице
картинка ниже: Левые: Связанная таблица сообщений о том, что я не могу редактировать таблицу свойства
Не можете ли вы открыть базу данных, содержащую исходную таблицу, на которую указывает ссылка, и установить Required = Yes для поля FromDate? – HansUp
@HansUp Я мог бы, но я унаследовал этот проект, который подключен к другим проектам и будет катастрофой. –
Ваш второй абзац меня смутил. Таким образом, дело не в том, что вы не можете изменить Required для исходного поля; вы на самом деле не хотите. У меня есть это прямо сейчас? – HansUp