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?
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?
Avant d'effacer le maitre tu effaces le(s) detail(s)
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Il à pas plus simple? car si j'ai 200 enregistrement ça risque d'être long
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 :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
il faut faire une requête sql? on peut pas faire autrement?
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.
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 :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
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
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 :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
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
il va me seletionner la classe affichée ou toutes le classe?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 DELETE FROM "C:\trombinoscope\eleves.DB" WHERE (Classe = '''''')
Classe étant le champ relié à la table maitre.
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 :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Sinon il y a toujours l'alternative aux requetes, par exemple
1. il faut que ta table soit correctement indexée pour pouvoir reunir de facon contigu tous les enreg du maitre
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;
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 ;-)
si vous utiliser access vous pouvez confugurer la liaison dans la base et la supperssion du détails ce fait automatiquement
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager