Problème avec Case of situé dans l'événement OnCalcFields

Résolu
bolden01 Messages postés 2 Date d'inscription lundi 26 octobre 2009 Statut Membre Dernière intervention 17 avril 2015 - 5 janv. 2012 à 21:07
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 9 janv. 2012 à 16:08
Bonjour,

J'ai un problème avec le code suivant que j'ai mis dans l'événement "OnCalcFields" d'un Tquery.

case qrProfilDepAdoxScoreTotal.AsInteger of
0..13: qrProfilDepAdoINDFEU.AsString := 'Vert';
14..19: qrProfilDepAdoINDFEU.AsString := 'Jaune';
20..99: qrProfilDepAdoINDFEU.AsString := 'Rouge';
end;

Lorsqu'il exécute ce code, l'application se ferme complètement.

Si je mets ce code dans le BeforePost, cela fonctionne.

Mais pour l'utilisateur, je veux lui montrer quelle valeur a le champ avant sa mise-à-jour.

Est-ce un bogue connu de Delphi?

J'utilise actuellement Delphi 2007 dans un environnement Windows XP et la base de données est 'Oracle'.

Merci.

3 réponses

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
9 janv. 2012 à 10:34
Salut,

il faut surtout que "AdoINDFEU" soit un champ calculé (ajoute un nouveau champ de type CalcFields en faisant un click droit dans la liste des champs)!

A+


Composants Cindy pour Delphi
Faites une donation.
3
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
8 janv. 2012 à 19:49
Bonsoir

Essayes d'englober ton code avec un try..except pour savoir sur quelle erreur tu sors. Parce que là pour t'aider c'est pas facile avec si peu de données.

Cependant, j'aurais tendance à penser que ton champ contient peut être une valeur NULL qui ne peut donc être convertie en entier, mais bon tout ceci n'est que pure supposition.

Cordialement.[hr]"L'imagination est plus importante que le savoir." Albert Einstein
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
9 janv. 2012 à 16:08
Bonjour,

Et de plus, il faut même éviter de faire un case dans un OnCalcFields car cette opération tend à ralentir l'application..

cantador
0
Rejoignez-nous