Мы хотели бы предотвратить дублирование записей в нашей базе данных доступа MS, используя уникальный многоколоночный индекс. Из-за того, как данные отправляются (через сеть), иногда получают повторяющиеся данные. Источник данных не отправляет уникальный идентификатор, поэтому самым простым вариантом является предотвращение вставки повторяющихся записей.
В соответствии с Принципы разработки уникальных указателей:
С многоколоночными уникальными индексами индекс гарантирует, что каждая комбинация значений в ключе индекса уникальна. Например, если уникальный индекс созданный в комбинации LastName, Столбцы FirstName и MiddleName, нет две строки в таблице могут иметь одинаковая комбинация значений для этих столбцы.
Это для SQL 2005, поэтому я не уверен, что это возможно, используя доступ к MS.
Я предполагаю, что альтернативой является, возможно, использование запроса (псевдокод):
insert into foobar (a, b, c) values ('x', 'y', 'z')
where (a <> 'x') and (b <> 'y') and (c <> 'z')
... но я чувствую, что индекс будет лучше.