2013-09-10 2 views
1

В MS Access У меня есть таблица с двумя полями: ID (Autonumber) и SerialNumber (Text). Серийный номер должен содержать только уникальные значения, поэтому я его настроил Индексированный: Да (Нет дубликатов). Теперь, когда я пытаюсь ввести два одинаковых значения в поле SerialNumber, он показывает мне стандартное сообщение об ошибке. Мне нужно показать собственное сообщение пользователю: «Серийный номер должен быть уникальным!». Я добавил это сообщение в «Validation Text», но это не помогает, оно по-прежнему показывает стандартное сообщение об ошибке доступа. Кто-нибудь знает, как показать собственное сообщение об ошибке?Текст правила проверки в MS Access

ответ

0

Ограничение индекса переопределяет правило проверки.

Возможно, вам удастся избежать правильности проверки с помощью DLookup, но я бы настоятельно советовал ему, так как это серьезно повлияет на производительность вашей базы данных.

Лучшим вариантом является ловушка для ошибки с использованием VBA, а затем выдача собственного сообщения об ошибке.

Вы также можете настроить сообщение об ошибке, которое возвращается, если вы используете MS-SQL в качестве бэкэнд базы данных (который он не похож на вас).

Private Sub Form_Error(DataErr As Integer, Response As Integer) 
    Select Case DataErr 
    Case 3022 ' Duplicate Value Detected 
     MsgBox "That Serial Number already Exists.", vbOkayOnly 
     Response = acDataErrContinue 
    End Select 
End Sub 

Это ловушка всех ошибок в форме и смотрит, является ли ошибка дублирующимся значением. Если это так, пользователю отображается сообщение с сообщением о том, что серийный номер уже существует - он продолжается нормально.

Смежные вопросы