Создайте уникальное ограничение для двух столбцов вместе, это приведет к тому, что Access будет отклонять дубликаты как нарушение уникального ограничения. То, что вы делаете с ошибкой, будет зависеть от вашей формы. Здесь ТАК ответ:
https://stackoverflow.com/questions/2127698/can-we-create-multicolumn-unique-indexes-on-ms-access-databases
Соответствующий ответ:
Откройте таблицу в режиме конструктора в MS Access, выберите три столбца, которые вы хотите превратить в уникальный индекс, и нажмите маленький ключ на панели инструментов. Вы не можете иметь нулевые значения в первичном ключе (установлено). https://stackoverflow.com/users/2548/remou
Отредактируйте, поскольку у вас уже есть PK и, возможно, вы не хотите создавать новый составной PK для его замены, но это другой вариант:
В любом случае, вот как вы создаете многоколонный уникальный индекс для базы данных MS Access.
1.Откройте таблицу в режиме конструктора и выберите «Дизайн», выберите «Индексы».
2.Создайте новую строку и введите значение в ячейку Index Name, 3.Выберите первый столбец из выпадающего меню.
4.Добавьте новую строку и оставьте ячейку Index Name пустой.
5.Выберите второй столбец и так далее.
https://stackoverflow.com/users/47775/nbolton
Другой (и плохой) вариант - сначала запрашивать базу данных, а затем не вставлять, но это оставляет дверь открытой для потенциальных проблем ссылочной целостности на более позднем этапе.
Как примечание стороны все же; Вы уверены, что хотите вставить для каждой уникальной комбинации имя пользователя (адрес электронной почты)/ пароль? Это может вызвать проблемы у пользователей, которые забыли свой пароль и в результате получили дубликаты учетных записей. Возможно, вы захотите подумать о каком-то другом составном идентификаторе (например, дескриптор + пароль уникальны, а электронная почта уникальна для БД. Или просто укажите, что адрес электронной почты уникален. Я не знаю достаточно о вашем наборе проблем - но об этом стоит подумать.