Auteur de questions
Contrainte d'intégrité secondaire sur une table

Question
-
Bonjour,
est ce que Access intègre la possibilité d'ajouter une contrainte d'intégrité sur des champs secondaires ?
J'ai besoin de stocker 2 numéros fournis par un organisme. Chaque numéro est unique. Par contre, on n'a pas forcément ce doublet lors de la création d'un nouvel enregistrement.
De ce fait, ça impose une clé primaire et 2 champs Numériques. Ces 2 champs ont donc la validité suivante :
null / null : valide
Valeur 1 / Valeur 2 : valide
Valeur 1 / Valeur 3 : valide
null / valeur 2 : invalide
Valeur 1 / null : invalide
Valeur 4 / valeur 2 : valideEst ce que l'on peut gérer cette contrainte ou il faut se palucher à la main la validation ?
Merci,
Vincent
Toutes les réponses
-
Bonjour
Je n'ai pas forcement bien compris la logique de validation :
- Les 2 champs peuvent être à null
- Si un des 2 est renseigné, l'autre doit l'être
En passant par les propriétés de la table, tu peux utiliser la ligne ValideSi (onglet Création>Feuille de propriétés) pour générer un test à la validation de l'enregistrement ou si ce n'est pas suffisant tu peux utiliser les macros de table (trigger)
-
Bonjour,
Avez vous essayez en créant un indexe muti-champs cela permettra de s'assurer que le couple (valeur1, valeur2) est unique
En espérant avoir pu rendre service (MehdiH)
Retrouvez moi sur Office Users -
-
-
Bonjour Vincent,
Voici un extrait du site développer.com:
---------------------------------------------------------------------
Comment interdire les doublons sur la combinaison de plusieurs champs ?
Il faut créer dans la table un index multichamp et définir sa propriété unique à "oui".
Pour créer l'index :
1) Afficher la table en mode création ;
2) Menu Affichage >> Index ;
3) Sélectionner dans la colonne "Nom du champ", tous les champs concernés en laissant vides les champs de la colonne "Nom de l'index", sauf le premier champ, celui où commence la liste car il faut y inscrire le nom de l'index multichamp
---------------------------------------------------------------------
Pour en savoir plus sur les indexes : https://support.office.com/fr-be/article/Cr%c3%a9er-et-utiliser-un-index-pour-am%c3%a9liorer-les-performances-0a8e2aa6-735c-4c3a-9dda-38c6c4f1a0ce?ui=fr-FR&rs=fr-BE&ad=BE
Pour ce qui est de C# et si j'ai bien compris il ne faudra rien ajouter comme code car c'est le SGBDR qui gère cela. Les indexes ne sont d'ailleurs pas le propre (ou l'exclusivité) d'Access
En espérant avoir pu rendre service (MehdiH)
Retrouvez moi sur Office Users -
Bonjour,
Pour le triggers (déclencheurs), je vous invite à lire
- ceci Déclencheurs (triggers) pour Access 2010.
- et ceci les triggers.
Pour ce qui est de C# je ne serait vous dire !?
En espérant avoir pu rendre service (MehdiH)
Retrouvez moi sur Office Users