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 :

Supprimer plusieurs enregistrements sur plusieurs tables et requetes en fonction d'un champ père


Sujet :

IHM

  1. #1
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut Supprimer plusieurs enregistrements sur plusieurs tables et requetes en fonction d'un champ père


    Dans un formulaire principal, j'ai un champ père relié avec plusieurs sous formulaires

    Chaqu'un des sous formulaires sont fait a partir de requête et de table.

    Je voudrais pouvoir supprimer tout les enregistrement dans les tables et requête dont la valeur du champ est égal a la valeur du champs père du formulaire principal.

  2. #2
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Est-ce que tu supprimes également l'enregistrement principal ?

    Domi2

  3. #3
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    OUI

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Donc, en principe, ta table principale devrait être en relation avec tes tables secondaire. Tu peux dans ce cas uniquement cocher "Effacer en cascade les enregistrements correspondants" dans les relations.

    Ou, si tu préfères, il te faudra enchaîner autant de requêtes "Suppressions" que tu as de tables.

    Le plus simple étant certainement la première solution...

    Domi2

  5. #5
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Je viens de bien vérifier : en fait le problème ne se pose que pour 3 tables (si les données sont supprimées dans les tables, elles le seront dans les requêtes)

    Je voudrais faire un bouton sur le formulaire principal avec un code du style :
    supprimer les enregistrements des tables 1,2 et 3 dont "Réf" est égal a "Texte1"

  6. #6
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Tu peux essayer une requête suppression de ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "DELETE table1.Réf FROM table1 WHERE table1.Réf = Forms!TonFormulaire.Texte1;"
    Mais pourquoi ne pas utiliser simplement les relations ???

    Domi2

  7. #7
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par Domi2 Voir le message
    Mais pourquoi ne pas utiliser simplement les relations ???
    Pourquoi faire simple quand on peu faire compliqué

    Citation Envoyé par Domi2 Voir le message
    Tu peux essayer une requête suppression de ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "DELETE table1.Réf FROM table1 WHERE table1.Réf = Forms!TonFormulaire.Texte1;"
    J'ai essayé : sa a l'air de marché mais pas avec les requête (ou alors j'ai mal fait)

    Comment puis-je faire

  8. #8
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    J'ai essayé : sa a l'air de marché mais pas avec les requête
    Je ne comprend pas bien, là...

    Une requête est basée sur une (ou plusieurs) table(s) / requête(s).

    Si tu supprimes des données d'une table, elles ne vont plus apparaître dans la requête...

    Ou alors, je n'ai rien compris du tout...

    Domi2

  9. #9
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    En fait il y a un truc que je ne comprend pas :

    J'ai cette ligne de code qui n'a pas l'air de marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "DELETE tTarifAutre.Ref_Devis FROM tTarifAutre WHERE tTarifAutre.Ref_Devis = Forms!fSaisi.RéfDevis;"
    Alors que celle-ci marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "DELETE tSaisi.RéfDevis FROM tSaisi WHERE tSaisi.RéfDevis = Forms!fSaisi.RéfDevis;"

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/02/2013, 14h24
  2. [SQL] Derniers enregistrement sur plusieurs tables
    Par bibom dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 28/07/2006, 23h22
  3. Réponses: 2
    Dernier message: 08/06/2006, 06h29
  4. Requete sur plusieurs enregistrements !
    Par Mathelec dans le forum Langage SQL
    Réponses: 14
    Dernier message: 12/03/2006, 14h27
  5. enregistrement sur plusieurs tables
    Par vovor dans le forum Access
    Réponses: 2
    Dernier message: 03/10/2005, 11h25

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