Problème avec Case of situé dans l'événement OnCalcFields [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 26 octobre 2009
Statut
Membre
Dernière intervention
17 avril 2015
-
Messages postés
4719
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
1 février 2021
-
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

Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
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.
Messages postés
1154
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
5 avril 2012
2
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
Messages postés
4719
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
1 février 2021
14
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