Menu

Formule de calcul dans une table

Messages postés
6
Date d'inscription
vendredi 25 janvier 2019
Dernière intervention
13 février 2019
- - Dernière réponse : yg_be
Messages postés
7433
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
- 13 févr. 2019 à 19:19
Bonjour à tous,

Je suis un peu bloquée sur des calculs que je souhaite mettre en place dans une table de ma BDD.
En effet, j'ai l'habitude de faire les calculs sur Excel, mais côté Access je suis perdue.

J'ai une table qui se nomme TRANSPORT FOURNISSEUR qui a pour but de calculé une incidence du transport que un prix d'achat.
Dans cette table je souhaite effectuer des calculs :

Voici les champs de la table

- numero_frns : numéro auto
- palette_camion : numérique (donnée fixe que je renseigne)
- cout_transport_camion : numérique (donnée fixe que je renseigne)
- cout_transport_camion_compl : donnée calculée ( [cout_transport_camion]/[palette_camion] )
- cout_pal_palette : numérique (donnée que je renseigne)
- cout_transp_pal : donnée calculée ---> et pour celui-ci je bloque :( ! Voici la formule de calcul format Excel que je souhaite appliqué :

=SI(ESTVIDE(cout_pal_palette);cout_transport_camion_compl;SI(ESTVIDE(cout_transport_camion_compl);cout_pal_palette;MOYENNE(cout_transport_camion_compl:cout_pal_palette)))


Est-ce que cela est possible selon vous ?

Je ne sais si tout est clair ! Mais je reste dispo pour donner d'autres indication si besoin.

Merci d'avance pour votre aide !!

Tess
Afficher la suite 

Votre réponse

3 réponses

Messages postés
7433
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
439
0
Merci
bonjour, dans Access, on évitera 'enregistrer dans une table des éléments qu'on peut calculer, on utilisera plutôt une requête pour faire le calcul.
et les requêtes permettent de faire des calculs et des tests.
Commenter la réponse de yg_be
Messages postés
2963
Date d'inscription
lundi 18 septembre 2006
Dernière intervention
2 février 2019
174
0
Merci
on ne peux pas mettre de formule de calcule dans une table mais dans une requete.
Commenter la réponse de castours
Messages postés
6
Date d'inscription
vendredi 25 janvier 2019
Dernière intervention
13 février 2019
0
Merci
Je vous remercie pour votre retour.

Avez vous une idée de comment je peux le calculer en requête ?

J'utilise le même langage que sur Excel ?

Je vous remercie d'avance !
yg_be
Messages postés
7433
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
439 -
cela se fait via le langage SQL, rien à voir avec les formules de Excel.
il faudrait d'abord que tu clarifies "cout_transport_camion_compl:cout_pal_palette".
tess_06
Messages postés
6
Date d'inscription
vendredi 25 janvier 2019
Dernière intervention
13 février 2019
-
Merci pour ton aide !

Alors voici les informations un peu plus clairs je pense :

Champs utilisé pour le calcul :

cout_pal_camion_compl
cout_pal_palette

Calcul :

Je souhaite que la moyenne des deux champs soient calculées, toutefois les deux champs ne sont pas toujours remplis. Donc si un des deux est vide il faudra prendre en résultat celui qui est renseigné.

J'espère que c'est compréhensible.

Je te remercie encore pour ton aide !

Tess
yg_be
Messages postés
7433
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
439 > tess_06
Messages postés
6
Date d'inscription
vendredi 25 janvier 2019
Dernière intervention
13 février 2019
-
exemple de requête:
SELECT c1, c2, iif(c1 is null, c2, iif (c2 is null,c1,(c1+c2)/2))
FROM tess;
tess_06
Messages postés
6
Date d'inscription
vendredi 25 janvier 2019
Dernière intervention
13 février 2019
-
Salut !

Je te remrecie pour ton aide :)

Toutefois je n'ai pas réussi, les résultats sont faux, est-ce que tu vois quelque chose qui ne va pas selon toi ?

SELECT FOURNISSEURS.Nom_fournisseur, [TRANSPORT FOURNISSEURS].palette_camion, [TRANSPORT FOURNISSEURS].cout_transport_camion, [TRANSPORT FOURNISSEURS].cout_pal_palette, [TRANSPORT FOURNISSEURS].cout_pal_camion_compl, IIf(cout_pal_camion_compl Is Null,cout_pal_palette,IIf(cout_pal_palette Is Null,cout_pal_camion_compl, (cout_pal_camion_compl+cout_pal_palette)/cout_pal_palette)) AS Expr1
FROM FOURNISSEURS INNER JOIN [TRANSPORT FOURNISSEURS] ON FOURNISSEURS.numero_frns = [TRANSPORT FOURNISSEURS].numero_frns;


Aussi j'en profite pour te poser une autre question, j'ai un calcul qui renvoi parfois comme résultat #nombre ! parce que les éléments ne peuvent pas être calculé. Que dois-je fais pour que la donnée soit 0 s'il ne peut calculer.


Merci d'avance.

Tess
yg_be
Messages postés
7433
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
439 > tess_06
Messages postés
6
Date d'inscription
vendredi 25 janvier 2019
Dernière intervention
13 février 2019
-
"les résultats sont faux", peux-tu être plus factuel? bizarre, toutefois, que tu divises par cout_pal_palette au lieu de diviser par 2 comme dans mon exemple.
pour l'erreur #nombre, la technique habituelle est d'utiliser le iif, par exemple:
iif(b = 0, 0, a/b)
Commenter la réponse de tess_06