bonjour
j'ai bien chercher dans le web est surtout dans www.developpez.net/forums/ a trouvé une solution pour comparer deux valeurs de deux enregistrements dans les bases de données(temp et stock),on évitant la nostalgie (boucle) des années 70
en fin j'ai trouvé la procédure MiseAJourStock(); que j'ai modifie a mes besoins mais j'ai rencontré les problèmes suivants :
1- riens à afficher
2- Erreur: Expression constante attendue si je fait (Form1.ListBox1.Items.Add(Form1.T_TempVProd_VT.Value);
bien-sure je veux bien balayer toutes les enregistrements
la procédure est :
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
31
32
33
34
35
36
 
procedure MiseAJourStock2();
var
  Result: double;
QuantiteDisponible,QuantiteDemandee: double;
begin
QuantiteDisponible := form1.Q_stockSTOCK.value;
 QuantiteDemandee:=Form1.T_TempVQte_VT.Value;
if (Form1.Q_stock.recordcount> 0) then begin
  case CompareValue(QuantiteDemandee,  QuantiteDisponible) of
// Quantité demandée inférieure à celle disponible
  LessThanValue: begin
    Result := 0;
    Form1.Q_stock.edit;
    Form1.Q_stockSTOCK.value:= QuantiteDisponible-QuantiteDemandee;
    //Form1.Q_stock.post;
    Form1.Edit1.text := FloatToStr(Result);
  end;
  EqualsValue: begin
// Quantité demandée égale à celle disponible
    //Form1.Q_stock.delete;
    Result := 0;
    Form1.Edit1.text := FloatToStr(Result);
  end;
  GreaterThanValue:
// Quantité demandée supérieure à celle disponible
    Result := QuantiteDemandee-QuantiteDisponible;
 
Form1.ListBox1.Items.Add(Form1.T_TempVProd_VT.Value)
ShowMessage('des saisies de quantitées supérieure a celles du stock ');
 
 
//    MiseAJourStock2(Result);
  end;
end;
end;