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

IHM Discussion :

Suppression d'enrgistrement lié en N à N


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 149
    Points : 49
    Points
    49
    Par défaut Suppression d'enrgistrement lié en N à N
    Bonjour,

    J'ai crée 3 tables (2 tables liées en N à N via la troisième):
    tbl1: (Id1)
    tbl2: (Id2)
    tblRelT1_2: (Id1, Id2)

    J'ai crée formulaire basé sur une requete (pour afficher les enregistrements de tbl2 liés à un enregistrement de tbl1)

    Lorsque je supprime, depuis ce formulaire un enregistrement de tbl2, Access supprime bien l'association dans tblRelT1_2 MAIS ne supprime pas l'enregistrement de tbl2.

    Je suppose que ce n'est pas normal...
    Merci de votre aide !

    Code de suppression utilisé:
    DoCmd.RunCommand acCmdDeleteRecord

    Requete sur laquelle est basé le formulaire:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM tbl2 INNER JOIN tblRelT1_2  ON tbl2.Id = tblRelT1_2.Id2
    WHERE (((tblRelT1_2.Id1)=[Forms]![frmTbl1]![tbxId1]));

    Encore merci.

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    C'est un peu logique. La suppression en cascade s'effectue dans l'autre sens : on supprime un tbl2 et ça supprime dans la table de relation.

    Dans la mesure où un tbl2 peut être joint avec plusieurs tbl1, la suppression d'un couple (tbl2,tbl1) de la relation ne peut supprimer tbl2 puisque celui ci est encore utilisé hypothétiquement par d'autres tbl1.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 149
    Points : 49
    Points
    49
    Par défaut
    C'est effectivement logique.

    Le truc c'est qu'à part la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunCommand acCmdDeleteRecord
    que j'exécute à partir du frmTbl2 je ne supprime rien (je ne supprime pas explicitement l'enregistrement dans la table des relations). Donc je ne vois pas en quoi je supprime l'association avant l'enregistrement de tbl2.

    Est-ce bien la bonne façon de supprimer un enregitrement ?
    Comment expliquez-vous que l'association soit supprimé ? (est-ce à cause de ma requête ?)

    Dois-je vérifier à la main (via VBA) que l'enregistrement n'est plus lié à aucun autre et alors le supprimer ?

    Merci.
    A+

Discussions similaires

  1. Annuler une suppression
    Par Harbaingan dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 09/04/2003, 14h59
  2. [DOM] suppression d'un noeud fils xml en JAVA
    Par alexandre54 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 20/03/2003, 09h44
  3. Suppression de la contrainte unique
    Par mika dans le forum SQL
    Réponses: 3
    Dernier message: 20/02/2003, 17h56
  4. [CR] suppression du bas de page
    Par grosjej dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 10/09/2002, 08h58
  5. Réponses: 3
    Dernier message: 12/06/2002, 21h15

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