Effectuer un calcul sous acces
louzz
-
louzz -
louzz -
Bonjour,
j'ai actuellement un soucis,
Je cherche a effectuer un calcul en utilisant des champs de mon formulaire.
J'arrive à effectuer ces calculs cependant j'ai du les mettre dans la case 'source controle' ce qui m'empeche d'écrire dans ma table.
Comment faire pour écrire ces valeur aussi dans la table lorsque je clic sur un bouton pour enregistrer.
De plus je voudrai faire un calcul différent si dans une case je choisit 1 de mes 3 choix possible.
Que faire?
Merci d'avance
j'ai actuellement un soucis,
Je cherche a effectuer un calcul en utilisant des champs de mon formulaire.
J'arrive à effectuer ces calculs cependant j'ai du les mettre dans la case 'source controle' ce qui m'empeche d'écrire dans ma table.
Comment faire pour écrire ces valeur aussi dans la table lorsque je clic sur un bouton pour enregistrer.
De plus je voudrai faire un calcul différent si dans une case je choisit 1 de mes 3 choix possible.
Que faire?
Merci d'avance
A voir également:
- Effectuer un calcul sous acces
- Vous devez disposer d'une autorisation pour effectuer cette action - Guide
- Acces rapide - Guide
- Accès refusé - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Accès presse papier - Guide
8 réponses
Bonjour,
si tu veux mettre un champ à jour, il faut utiliser une requête "Mise à jour" !
Pour un calcul conditionnel, il faut que tu utilises, dans "Source Control", la fonction conditionnelle iif(..., ..., ...).
Par exemple : iif([champ]=1, [a]+[b]+[c], 0).
Sinon, quand tu maitriseras mieux et si tu as des besoins de calculs plus complexes, tu pourras passer par la création d'un fonction en VBA pour calculer la valeur choisie.
L'aide d'Access doit pouvoir t'apporter les compléments d'info nécessaires.
J'espère que ça t'aide.
si tu veux mettre un champ à jour, il faut utiliser une requête "Mise à jour" !
Pour un calcul conditionnel, il faut que tu utilises, dans "Source Control", la fonction conditionnelle iif(..., ..., ...).
Par exemple : iif([champ]=1, [a]+[b]+[c], 0).
Sinon, quand tu maitriseras mieux et si tu as des besoins de calculs plus complexes, tu pourras passer par la création d'un fonction en VBA pour calculer la valeur choisie.
L'aide d'Access doit pouvoir t'apporter les compléments d'info nécessaires.
J'espère que ça t'aide.
Oui ca m'aide un peu,
mais le soucis si je met mon iif(...,...,...) dans source controle à ce moment plus rien s'écrit dans ma table si j'ai bien compris le système de source controle.
Pour ce qui es de la requete mise a jour j'y avais pas penser mais je vais m'y pencher dessus en effet.
Merci de ton aide si rapide en tout cas ;)
mais le soucis si je met mon iif(...,...,...) dans source controle à ce moment plus rien s'écrit dans ma table si j'ai bien compris le système de source controle.
Pour ce qui es de la requete mise a jour j'y avais pas penser mais je vais m'y pencher dessus en effet.
Merci de ton aide si rapide en tout cas ;)
Tu ne peux écrire dans ta table qu'au moyen d'une requête "Mise à Jour" (ou un UPDATE en SQL).
Je n'ai pas d'accès à Access (!) en ce moment, donc je ne peux tester, mais en fait je crois que dans "Source Control", il faut mettre un signe "égal" devant le iif() : "=iif(..., ..., ...)"
Je n'ai pas d'accès à Access (!) en ce moment, donc je ne peux tester, mais en fait je crois que dans "Source Control", il faut mettre un signe "égal" devant le iif() : "=iif(..., ..., ...)"
J'essaye de mettre ceci dans source code
=iif([typebob]=136,[qteàbobiner]/[136]+0.5*1.2)
cette fonction me met le message suivant:
La syntaxe de l'expression entrée n'est pas correcte.
Vous avez peut etre entré un opérande sans opérateur.
Moyen de m'aider?
Merci d'avance.
ps: j'ai rien compris aux requete encore va falloir que je regarde vraiment en détail du mal a comprendre ce que je peut faire.
=iif([typebob]=136,[qteàbobiner]/[136]+0.5*1.2)
cette fonction me met le message suivant:
La syntaxe de l'expression entrée n'est pas correcte.
Vous avez peut etre entré un opérande sans opérateur.
Moyen de m'aider?
Merci d'avance.
ps: j'ai rien compris aux requete encore va falloir que je regarde vraiment en détail du mal a comprendre ce que je peut faire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui,il manque apparemment le dernier membres de la condition : iif(condition est vraie, alors..., sinon...)
Pour les différents types de requêtes, c'est a priori assez simple. Fais des essais sur des tables temporaires. Consulte l'aide également, ça peut aider. Sous quelle version d'Access es-tu ?
Pour les différents types de requêtes, c'est a priori assez simple. Fais des essais sur des tables temporaires. Consulte l'aide également, ça peut aider. Sous quelle version d'Access es-tu ?
la seule chose que je suis arrivé a faire est:
=VraiFaux([typebob]=136;([qteàbobiner]/[136]+0,5)*1,2;0)
cependant le problème c'est que j'ai trois 3 au total voir peut etre plus dans l'avenir :s...
Je pourrait mettre mon 2e choix avec le sinon mais pas le troisième voir plus.
Le vrai faux se met automatiquement apres avoir fini ma commande iif.
Je suis sous acces 2003.
=VraiFaux([typebob]=136;([qteàbobiner]/[136]+0,5)*1,2;0)
cependant le problème c'est que j'ai trois 3 au total voir peut etre plus dans l'avenir :s...
Je pourrait mettre mon 2e choix avec le sinon mais pas le troisième voir plus.
Le vrai faux se met automatiquement apres avoir fini ma commande iif.
Je suis sous acces 2003.
Je suis arrivé a quelque chose avec
=VraiFaux([typebob]=136;([qteàbobiner]/[136]+0,5)*1,2;VraiFaux([typebob]=408;([qteàbobiner]/[408]+0,5)*1,2;([qteàbobiner]/1450+0,75)))
Cependant la 3e condition me met #erreur une fois que j'exécute sur mon forumlaire à la place de la valeur, les calculs fonctionne bien pour les autres mais pas pour le dernier et je n'arrive pas a comprend d'ou ca peut venir.
=VraiFaux([typebob]=136;([qteàbobiner]/[136]+0,5)*1,2;VraiFaux([typebob]=408;([qteàbobiner]/[408]+0,5)*1,2;([qteàbobiner]/1450+0,75)))
Cependant la 3e condition me met #erreur une fois que j'exécute sur mon forumlaire à la place de la valeur, les calculs fonctionne bien pour les autres mais pas pour le dernier et je n'arrive pas a comprend d'ou ca peut venir.