Calculatrice simplifiée

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.

Solution

C’est possible grâce à la fonction Eval() :

  1. Créez une zone de texte sur un formulaire.
  2. Cliquez sur cette zone de texte avec le bouton droit de la souris, puis sélectionnez Propriétés.
  3. Dans la propriété Nom, tapez par exemple : txtCalcul
  4. Créez une seconde zone de texte.
  5. Nommez-la txtResultat.
  6. Toujours dans les propriétés de cette 2ème zone de texte, définissez la source en tapant :

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).

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 :

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.

Info
D’autres articles du grenier font appel à la fonction Nz(). Cliquez ici pour lister ces articles.

Vous aimerez aussi...

8 réponses

  1. Hervé Inisan dit :

    Noufo > Lorsque #Nom ? s’affiche, c’est que, dans la formule, un objet n’est pas référencé par son nom exact. Du coup, je vérifierais la première partie entre crochets (il doit s’agir du nom du sous-formulaire, pas celui de la requête ; voir sur cette page). Il faut aussi que le champ [Total TTC] existe dans le sous-formulaire pointé.

  2. NOUFO dit :

    j’ai un Problème pour calculer la somme de plusieurs lignes dans un sous formulaire. voici la formule utiliser dans le Pied De Formulaire =Somme(nz([Total TTc]). Cependant quand j’utilise celle là
    =[Requête2 sous-formulaire].Formulaire![Total TTc] j’obtient ceux-ci #nom?
    Requete2 est le nom de la requete du sous formulaire
    Besoin de vodre aide

  3. Hervé Inisan dit :

    Tebolo > Je ne connais pas tous les revendeurs Micro Application. Le plus simple est sans doute de contacter directement la Libraire de France, et de leur poser la question.

  4. TEBOLO dit :

    Salut Monsieur,
    J’ai vu les différents sommaire de vos livres et cela semble m’intéresser, mais etant en COTE D’IVOIRE, je ne sais vraiment pas comment faire pour accerir un. sont-ils vendu a la LIBRAIRIE DE FRANCE?

  5. Hervé Inisan dit :

    Nabil > Avec uniquement 2 tables, on ne peut pas facturer plusieurs produits par facture. Les questions à se poser au départ sont :

    1. Une facture peut comporter plusieurs produits.
    2. Un produit peut apparaître sur plusieurs factures.

    On obtient une relation « Plusieurs à Plusieurs ». Ce qui doit se traiter avec une 3ème table (de jonction). Voir cet article du blog pour la mise en place.

    Merci aussi de jeter un oeil à cet article du blog (les questions sans rapport avec un article devraient plutôt être traitées sur le forum, merci).

  6. Nabil dit :

    Dans mon Formulaire FACTURE je n’arrive pas à facturé plusieurs produits a un client. ce formulaire repose sur une réquete qui est créer sur 2 tables, Facture et Produits. sur chaque produit une remise et une tva sont appliquées. cependant certains Produits sont exonérés de Tva et d’autres de Remise.
    exemple:Je voudrais avoir ceuxci sur une facture comportant plusieurs produits achétés par un client

    BONBON 15F*2=30 REMISE 10%, TVA 18% TOTAL ttC=31.86 F CFA
    BISCUIT 20 F*1=20,REMISE 0%,TVA 18% Total TTc=23.6 F CFA
    SIROP 25F*1= 25,REMISE 0%, TVA 18%, Total TTc=25 F CFA
    En facturant ces 3 produit a un client Obtenir un NET A PAYER qui serais égale a la somme des 3 Totaux TTC. Le net a Payer Doit être par a la suite converti en lettre dans un ETAT FACTURE.

  7. Hervé Inisan dit :

    tebolo > Ce que tu cherches à faire, c’est l’équivalent d’une liste de recherche. Tu trouveras ce qu’il faut sur cette page de self-access.com.

  8. tebolo dit :

    Je veux construire un formulaire qui va afficher automatiquement le nom ; le pronom ; la ville….. Du client lorsque je tape par exemple son code qui comporte un chant texte 50 caractères.
    Je veux aussi mettre la photo la client a coté de nom mais je n’arrive access 2003.
    Merci d’avance pour l’intéret

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *