Peut-on évaluer une expression "à la volée" dans Access ?
Exemple : je souhaite simuler une calculatrice simple.
On taperait 5+8/2 dans une zone de texte, et Access donnerait le résultat
automatiquement.
C'est possible grâce à la fonction Eval() :
=Eval(txtCalcul)
Repassez en mode Formulaire classique, et tapez par exemple 5+8/2.
Vous obtenez 9 comme résultat (notez qu'Access respecte ici aussi les notions de priorité dans les calculs).
Une petite amélioration :
Lorsque la zone txtCalcul est vide, le txtResultat est #Erreur (Access ne peut pas évaluer un calcul vide). Pour un affichage plus "joli", remplacez le calcul par :
=Eval(Nz(txtCalcul;0))
La fonction Nz(x;0) convertit la valeur x en valeur 0 si x
vaut Null (s'il est vide).
Ainsi, lorsqu'aucun calcul n'a été tapé, le résultat final est Eval(0), soit
0.