IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Maitriser l'intégrité référentielle [AC-2016]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 93
    Points : 51
    Points
    51
    Par défaut Maitriser l'intégrité référentielle
    Bonjour à tous !

    Lors de la conception de ma BDD, j'en suis venu à me poser la question de la maintenance de celle-ci.
    J'ai mis en place des relations avec des intégralités référentielles.
    Cependant mes données sont mises à jour par des tables importées via Excel.
    J'utilise donc des RunSavedImportExport avec un ajout des données les unes à la suite des autres.

    Je me suis donc posé la question suivante :
    Comment faire en sorte que quand une donnée qui n'est pas dans ma table reliée par l'intégralité référentielle soit détectée afin que l'utilisateur mette à jour la base de données ?
    En effet, si j'ai une table où dans une colonne j'ai soit une donnée A ou une donnée B, si un jour un utilisateur veut mettre une donnée C, cela sera bloqué par Access. (normal)
    Je n'aurais qu'une fenêtre m'indiquant que certaines lignes n'ont pas pu être importées afin de respecter l'intégralité référentielle.

    Comment puis-je être plus précis dans l'affichage de l'erreur afin qu'un utilisateur néophyte en Access puisse comprendre ce qu'il doit faire svp ?
    J'ai tenté le On error GoTo mais cela ne fonctionne pas sur le RunSavedImportExport.

    De plus, si j'ai mis comme condition que ma colonne soit indexée sans doublons, j'aurais le même message d'erreur que si j'ai voulu enfreindre la règle d'intégralité référentielle en ajoutant des données supplémentaires.
    Comment faire la distinction afin de pouvoir rendre l'utilisation et la maintenance de ma BDD ergonomique, svp ?

    Merci beaucoup pour vos réponses.

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    une approche possible est d'importer les données non pas directement dans les tables cibles, mais dans des tables intermédiaires
    puis tu peux faire des rapports à partir de ces tables intermédiaires pour faire ressortir les problèmes attendus d'intégrité référentielle

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 93
    Points : 51
    Points
    51
    Par défaut
    Merci de ta réponse ! Je suis justement en train de travailler là-dessus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Héritage] problème intégrité référentielle
    Par Ouark dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 24/01/2006, 18h47
  2. Réponses: 7
    Dernier message: 06/12/2005, 15h25
  3. Intégrité référentielle entre 2 schémas
    Par Fabien Celaia dans le forum Oracle
    Réponses: 2
    Dernier message: 21/11/2005, 09h51
  4. Réponses: 5
    Dernier message: 26/10/2005, 14h43
  5. Types de tables - Support des Intégrités référentielles
    Par danuz dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 11/12/2004, 15h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo