J'utilise un ADOQuery pour afficher mon calcul dans un DBText. Selon le resultat, il change de couleur. Mon problème est qu'il considere "solde" toujours positif. Pourquoi ?
procedure TForm1.CalculSolde;
Var solde:real;
Begin
SoldeADOQuery.active:=false;
SoldeADOQuery.SQL.Clear; // Effacement de la requete
SoldeADOQuery.SQL.Text:='select sum(debit) - sum(remb) As Solde from compte';
SoldeADOQuery.active:=true;
With SoldeDBText do
If solde<0 then
Begin
// Affichage : Solde Négatif
Font.Name:=FontNameSoldeN;
Font.Color:=FontColorSoldeN;
Font.Size:=FontSizeSoldeN;
End
Else
Begin
// Affichage : Solde Positif
Font.Name:=FontNameSoldeP;
Font.Color:=FontColorSoldeP;
Font.Size:=FontSizeSoldeP;
End;
SoldeDBText.DataField:='Solde';
end;
salut!
Est-ce que tu utilises la variable "solde" autre part que dans ta fonction?
Par ce que la elle n'a pas de valeur . Donc comme par défaut elle est déja positive elle va le rester.
T'enerves pas mon ami ...
J'ai trouvé la réponse en surfant sur le net, voici mon code.
Merci quand meme !!!!!
var
solde: double;
begin
DM.SoldeADOQuery.Close;
DM.SoldeADOQuery.SQL.Clear; // Effacement de la requete
DM.SoldeADOQuery.SQL.Text:='select (sum(debit) - sum(remb)) As Solde from operations';
DM.SoldeADOQuery.Open;
solde:=DM.SoldeADOQuery.FieldByName('Solde').AsFloat;
with DBTextSolde do
begin
If solde < 0 then
begin
// Affichage : Solde Négatif
Font.Name := FontNameSoldeN;
Font.Color := FontColorSoldeN;
Font.Size := FontSizeSoldeN;
end
else
begin
// Affichage : Solde Positif
Font.Name := FontNameSoldeP;
Font.Color := FontColorSoldeP;
Font.Size := FontSizeSoldeP;
end;
DataField := 'Solde';
pas une acceptation pas de réponse ç a me soule.
Tout simplement que j'ai un souci , c'est pas la première fois, j'en ai avisé l'administrateur déjà, pour preuve voici l'adresse :
http://www.delphifr.com/forum.v2.aspx?ID=666749
Et vu ta remarque, je vais le refaire, car effectivement, par politesse .....