Bonjour,
J'ai regardé les différents mode de gestion des erreurs d'intégrité dans "WD Détections erreurs". Ils sont intéressants, mais aucun ne se fait au travers d'un champ table en mode suppression... On Peut voir sur "WD Détections erreurs, dans la première fenêtre", qu'ils ont tenté de le faire sans aller jusqu'au bout. DOMMAGE
Quelqu'un aurait il vu un code complet dans les exemples et forums pour traiter ce problème de gestion d'intégrité ?
En fait, je souhaite supprimer une ligne appelée "Orchestre" d'un champ table sur laquelle une intégrité est placée normalement. Je ne dois donc pas pouvoir supprimer cet "Orchestre" tant qu'il y a des "Instruments".
Dans le principe, je voudrais pouvoir gérer cette erreur d'intégrité en affichant un message simple "Avant de supprimer cet ORCHESTRE..." et revenir après ce message, sur la ligne présélectionnée.
Là, Je retourne au début du champ table et perd le bénéfice de la précédante sélection.
Voici le code :
Sur Initalisation de SUPPRIMER :
Sur Clic SUPPRIMER :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 HSurErreur("*", hErrIntégrité, "")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 // Une ligne est-elle sélectionnée ? SI TableSelect(TABLE_ORCHESTRE) = -1 ALORS RETOUR //1 : &Supprimer //2 : &Ne pas supprimer SELON Dialogue("Êtes-vous sûr de vouloir supprimer cet ORCHESTRE ?") CAS 1 // &Supprimer // Suppression de l'enregistrement ORCHESTRE à partir de la table TableSupprime(TABLE_ORCHESTRE) // Contrôle d'intégrité ORCHESTRE/INSTRUMENTS SI HErreurIntégrité() ALORS Avertissement("Avant de supprimer cet ORCHESTRE,","","supprimez tous les INSTRUMENTS affectés à celui-ci ! ") RETOUR FIN // Si suppression effective alors repositionnement sur un enregistrement initial TableAffiche(TABLE_ORCHESTRE, taCourantPremier) CAS 2 // &Ne pas supprimer FIN
Partager