Проверка ввода данных MS Access

#ms-access

Вопрос:

Мне было поручено создать базу данных, чтобы помочь с ежегодным подсчетом материальных запасов моей компании. У нас есть ERP — система, которая содержит все наши номера деталей, и все наши номера деталей поставляются в коробках с картонной этикеткой, содержащей «номер детали» и «количество», которые закодированы штрих-кодом. Мы пытаемся переключиться на систему, в которой мы сканируем все поля в моей базе данных access. наша предыдущая система физического подсчета и записи тегов. Пока все работает отлично, единственная проблема в том, что некоторые штрих-коды повреждены или просто по какой-то причине не сканируются должным образом, поэтому сканеры считывают штрих-код как номер детали, которого не существует. Мы можем экспортировать список всех номеров деталей из нашей ERP-системы в файл excel, который я связал со своей базой данных, которую мы используем, чтобы узнать, какие номера деталей были введены, которых нет в системе. Мой вопрос в том, есть ли способ запретить людям сканировать номера деталей, которые не совпадают ни с одним номером детали в файле excel, экспортированном из нашей ERP-системы? Я использую ms access 2003

Комментарии:

1. ДА. Найдите отсканированный номер детали в связанной таблице. Если совпадения нет, введите номер детали вручную.

2. Используйте комбинацию со свойством LimitToList, равным да.

3. @7 июня ты в значительной степени справился с этим, чувак. Я думал, что мне придется сделать какое-то сумасшедшее выражение правила проверки, я не могу поверить, что все это было так просто все это время. Спасибо

Ответ №1:

Использование выпадающего списка со свойством LimitToList, установленным в да, является отличным решением. Просто чтобы вы знали, что с помощью этого решения все еще можно ВСТАВЛЯТЬ значения, которых нет в списке. Если вы хотите гарантировать, что поле не может содержать неправильные значения, лучше всего создать взаимосвязь (с сохранением целостности ссылок), используя поле таблицы, содержащее все допустимые номера деталей, в качестве основного поля, а поле, содержащее отсканированное значение, в качестве подчиненного поля.

Комментарии:

1. Я протестировал вставку недопустимого значения, и я все еще получаю предупреждение о том, что элемента нет в списке при попытке выйти из выпадающего списка. Если вы имеете в виду, что вставка значения может происходить непосредственно в таблицу, да, это возможно. Пользователи не должны работать непосредственно с таблицами или запросами. Тем не менее, установка отношений не повредит, и установите значение да для обеспечения ссылочной целостности.

2. Хороший комментарий. Я изменил свой ответ, чтобы явно указать, что отношения должны иметь ссылочную целостность. Что касается вставки значений, отсутствующих в списке, вы можете вставить их (как целую ячейку, а не как текст), если источником записи в поле со списком является явный список значений. Вы также можете ввести значения, отсутствующие в списке, в случае, если вы используете INSERT или UPDATE. Не собираюсь противоречить, просто хочу уточнить.