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

Modélisation Discussion :

Modification d'1enregistrement d'une table et problème intégrité référentielle


Sujet :

Modélisation

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 137
    Points : 47
    Points
    47
    Par défaut Modification d'1enregistrement d'une table et problème intégrité référentielle
    Bonjour,

    Je voudrais changer un enregistrement « Courriel » de ma table « Source » en un enregistrement « Courriel hors EPTICA », et ce afin que les enregistrements futurs de ma table « T_Réclamations »soit saisis avec « Courriel hors EPTICA » et non plus avec « Courriel ». Et je ne veux pas changer les anciennes saisies de ma table « T_Réclamations ».
    Pour ce faire, je supprime temporairement ma relation entre ma table « T_Réclamations » et ma table « Source ». Ensuite, je change l’enregistrement « Courriel » de ma table « Source » en un enregistrement « Courriel hors EPTICA ».
    Et lorsque je veux rétablir ma relation initiale entre ma table « T_Réclamations » et ma table « Source » et que je veux cocher « appliquer l’intégrité référentielle » : j’obtiens le message suivant : « impossible de créer cette relation et d’assurer l’intégrité référentielle ».
    Pouvez vous me dire comment régler ce problème ? Merci.

    Ps : Ci-joint ma base en question.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Points : 1 430
    Points
    1 430
    Par défaut
    Salut, ok ton problème :

    Si tu veux conserver le type "courriel" pour tes anciennes saisies, il te faut le garder et créer un autre type "Courriel hors EPTICA".
    (Sinon, il ne peut plus lier les données, que tu souhaites avec intégrité référentielle)

    C'est tout.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 137
    Points : 47
    Points
    47
    Par défaut
    D'accord, dans ce cas, si je créé un autre type "Courriel hors EPTICA"et que je garde le type "courriel": est-il possible néanmoins que les agents ne puissent plus choisir "courriel" dans la liste déroulante du champ "source" de mon formulaire de saisie "T_Réclamations" et si oui comment procéder ?

  4. #4
    Membre expérimenté
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Points : 1 430
    Points
    1 430
    Par défaut
    Oui, bien-sûr, il te suffit, lorsque tu appelles ton champs dans ton contrôle, d'y glisser la condition <>"courriel" et c'est réglé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Source.Source
    FROM Source
    WHERE (((Source.Source)<>"Courriel"))
    ORDER BY Source.Source;

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 137
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    Ca semble être du code vba: on integre t-on ce code exactement ?
    Est ce possible d'obtenir le même résultat sans code car je ne maîtrise pas et pour l'instant je n'y ai jamais eu recours dans ma base. Merci.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Tu as un problème de conception, tu aurais du mettre un numéro (numéroAuto) dans ta table source, et ce numéro aurait relié tes deux tables.

    Ce fonctionnement permet de répercuter le changement de données sans soucis.

    Sans modifier ton schéma il faut :

    Enlever ta liaison
    Faire une requête de mise à jour dans la table Reclamation pour modifier la donnée, faire la modif dans la table source, et refaire la liaison.

    Mais c'est qu'un palliatif temporaire à un défaut de conception.

    Philippe

  7. #7
    Membre expérimenté
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Points : 1 430
    Points
    1 430
    Par défaut
    Citation Envoyé par boubas53 Voir le message
    Bonjour,

    Ca semble être du code vba: on integre t-on ce code exactement ?
    Est ce possible d'obtenir le même résultat sans code car je ne maîtrise pas et pour l'instant je n'y ai jamais eu recours dans ma base. Merci.
    Non, ce n'est pas du VBA, mais du SQL que j'obtiens en traduction de ma petite requête Access, en la regardant en mode SQL.

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 137
    Points : 47
    Points
    47
    Par défaut
    Faire une requête de mise à jour permet de changer mes anciennes saisies "courriel" de ma table "T_Réclamations"en "courriel hors EPTICA", c'est bien ça ? Et c'est le seul moyen pour modifier toutes mes anciennes saisies ?

  9. #9
    Membre expérimenté
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Points : 1 430
    Points
    1 430
    Par défaut
    Citation Envoyé par boubas53 Voir le message
    Faire une requête de mise à jour permet de changer mes anciennes saisies "courriel" de ma table "T_Réclamations"en "courriel hors EPTICA", c'est bien ça ? Et c'est le seul moyen pour modifier toutes mes anciennes saisies ?
    Si "courriel hors EPTICA" a été saisi dans ta table source, une requête mise à jour affectera "courriel hors EPTICA" à la place de "courriel" oui.

    Citation Envoyé par boubas53 Voir le message
    Et je ne veux pas changer les anciennes saisies de ma table « T_Réclamations »
    Tu changes d'avis alors

Discussions similaires

  1. Réponses: 11
    Dernier message: 25/07/2006, 22h46
  2. Modification nom colonne dans une table
    Par Mvu dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/06/2006, 11h38
  3. Réponses: 2
    Dernier message: 21/03/2006, 16h22
  4. Modification de Donnees dans une table
    Par captainamerica75 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/02/2006, 10h19
  5. Réponses: 7
    Dernier message: 30/01/2006, 22h36

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