Nous souhaitons éviter la duplication d’enregistrements dans notre base de données MS Access en utilisant un index unique multicolonne. En raison de la manière dont les données sont envoyées (via le réseau), des données en double sont parfois reçues. La source de données n'envoie pas d'identifiant unique. L'option la plus simple consiste donc à empêcher l'insertion d'enregistrements en double.
Selon Directives de conception d'index unique :
Avec les index uniques multicolonnes, l'index garantit que chaque combinaison de valeurs de la clé d'index est unique. Par exemple, si un index unique est créé sur une combinaison de colonnes LastName, FirstName et MiddleName, il ne peut y avoir deux lignes dans la table ayant la même combinaison de valeurs pour ces colonnes.
Ceci est pour SQL 2005 cependant, donc je ne suis pas sûr que ce soit possible avec MS Access.
Je suppose qu'une alternative est peut-être d'utiliser la requête (pseudo-code):
insert into foobar (a, b, c) values ('x', 'y', 'z')
where (a <> 'x') and (b <> 'y') and (c <> 'z')
... mais je me sens comme un index serait mieux.
Ouvrez la table en mode Création dans MS Access, sélectionnez les trois colonnes que vous souhaitez transformer en index unique, puis cliquez sur la petite clé de la barre d'outils. Vous ne pouvez pas avoir de valeur NULL dans une clé primaire (définie).
Il s'avère que vous pouvezcréer un index unique multi-colonnes sur une base de données MS Access, mais c'est un peu fou si vous voulez le faire via l'interface graphique. Il y a aussi une limitation: vous ne pouvez utiliser que 10 colonnes par index.
Quoi qu'il en soit, voici comment créer un index unique multi-colonnes sur une base de données MS Access.
Voici à quoi cela devrait ressembler:
Nous pouvons transformer les données multiples en données uniques sans les définir comme clé primaire.
( Note : une seule donnée de la table peut être une clé primaire)
Étape pour définir la valeur de données en tant que données uniques (pour MS Access 2007 - 2010 )
J'espère vraiment que ces méthodes peuvent vous aider tous! :)