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

Bases de données Delphi Discussion :

Suppression des enregistrements maitre/détail


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut Suppression des enregistrements maitre/détail
    Dans une table maitre détail quand je supprime un enregistrement maitre
    Il me laisse les enregistrements dans la table détails
    Comment faire pour qu'il les supprime aussi?

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Avant d'effacer le maitre tu effaces le(s) detail(s)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    Il à pas plus simple? car si j'ai 200 enregistrement ça risque d'être long

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Par une requete delete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Delete from LaTableDetail
    where Le_Champ_Commun = La_valeur
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    il faut faire une requête sql? on peut pas faire autrement?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    Je viens de relire les post et est ce qu'on c'est bien compris
    Qand je supprime les enregistrements de la table maitre les enregistrements de la table détails sont aussi supprimé. Enfin je pensais
    mais ils le sont à l'écran pas dans la table.

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Oui avec une requete SQL, y a pas plus simple et plus rapide qu'une requete.

    Si ton application prend de l'ampleur et la base de données aussi, tu vas devoir passer par des requetes SQL pour avoir un traitement plus rapide.

    Gérer par des TxxxTable quand on a entre 1 et 5000 enregistrements ca passe encore (quoi qu'il y a un peu de lenteur quand même), mais au dessus, il faut commencer à songer à travailler avec des requetes.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    je comprend mais j'ai plusieurs champs differents et chaque champs dans la table maitre à des enregistrements puis je lui mettre des conditions?

    Cad si le champ A= b je supprime tous les enregistrements correspondants à b

  9. #9
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Oui, si b est bien indiqué dans les détails , il n'y a aucun problème. Il faut juste prévoir une requete dynamique selon les besoins
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    Je sent que je vais me lancer dans les requêtes. car la je plane un peu
    je vais faire des essai car je ne voudrais pas tout perdre en plus il est fini.
    c'est un trombinoscope pour une ecole que j'ai fait et si il me supprime des classes ils vont se retrouver avec des doublons donc il faut absolument quand ils suppriment les classes quelles ne soient plus dans la table.
    Comme je n'ai jamais fait de SQL il va falloir que je planche dessus.

    J'avais pensé à ce ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DELETE 
    FROM "C:\trombinoscope\eleves.DB" 
    WHERE
    (Classe = '''''')
    il va me seletionner la classe affichée ou toutes le classe?
    Classe étant le champ relié à la table maitre.

  11. #11
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Cette requete supprimera tous les élèves de la classe 'x'.

    Regarde la tu auras pas mal d'explication et exemple.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  12. #12
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Sinon il y a toujours l'alternative aux requetes, par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TableDetail.SetRange( Range1, Range2 );
    TableDetail.First;
    while not TableDetail.EOF do TableDetail.Delete;
    1. il faut que ta table soit correctement indexée pour pouvoir reunir de facon contigu tous les enreg du maitre
    2. Range1 et Range2 sont les paramétres d'index pour restreindre ta table aux seuls enreg correspondant au maitre.

    Bon courage !
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  13. #13
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    si vous utiliser access vous pouvez confugurer la liaison dans la base et la supperssion du détails ce fait automatiquement

Discussions similaires

  1. Suppression des enregistrements enfants
    Par tommy_f dans le forum Forms
    Réponses: 7
    Dernier message: 12/09/2007, 09h43
  2. Suppression des enregistrements
    Par amina_n dans le forum Informix
    Réponses: 1
    Dernier message: 16/08/2007, 14h13
  3. [Tableaux] suppression des enregistrements
    Par monde007 dans le forum Langage
    Réponses: 2
    Dernier message: 19/06/2007, 20h09
  4. Dupliquer un enregistrement "maitre-détail"
    Par macben dans le forum Forms
    Réponses: 2
    Dernier message: 18/06/2007, 14h48
  5. [ADO] Suppression des enregistrements
    Par kmaniche dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/04/2006, 11h12

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