Bonjour.
Voilà j'ai un programme qui gère des contrats avec des prestations:
1 Contrat possède de 1 à n Prestations
1 Prestation appartient à 1 ou plusieurs contrat.
On m'a demandé de rajouter des tests en 'dur' sur le libellé (voir la procédure suivante):
Le problème c'est que les tests :
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
25
26
27
28
29
30 Var t titi,tata: boolean; age:integer ... procedure TFrmLocation.remplirListePrestations() ; var i: integer; temp:string; begin listbox.Items.Clear; QueryPrestations.First; while not QueryPrestations.eof try if QueryPrestations.fieldbyname('Contrat').asstring = ComboBoxContrat.Text then begin temp := QueryPrestations.fieldbyname('Libelle').AsString; //Test en 'dur' ajouté if ( (temp = 'Assurance') and (age>30) ) or ( (temp = 'Maintenance') and (titi) ) or ( (temp = 'Assistance') and (tata) ) then continue; listbox.items.Add(temp) end; finally QueryPrestations.Next; end; End;
m'obligent à tester en dur les valeurs des prestations, ce qui n'est pas propre et casse le côté configurable de l'appli.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if ( (temp = 'Assurance') and (age>30) ) or ( (temp = 'Maintenance') and (titi) ) or ( (temp = 'Assistance') and (ata) ) then
Y'aurait-il une solution pour supprimer ces tests. Créer une nouvelle table et créer une association avec la table des prestations??
Merci d'avance.
Partager