Formule de calcul dans une table

Fermé
tess_06 Messages postés 6 Date d'inscription vendredi 25 janvier 2019 Statut Membre Dernière intervention 13 février 2019 - 30 janv. 2019 à 17:06
yg_be Messages postés 22861 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 juin 2024 - 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
A voir également:

3 réponses

yg_be Messages postés 22861 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 juin 2024 1 474
30 janv. 2019 à 20:53
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.
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
2 févr. 2019 à 12:39
on ne peux pas mettre de formule de calcule dans une table mais dans une requete.
0
tess_06 Messages postés 6 Date d'inscription vendredi 25 janvier 2019 Statut Membre Dernière intervention 13 février 2019
4 févr. 2019 à 18:16
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 !
0
yg_be Messages postés 22861 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 juin 2024 1 474
4 févr. 2019 à 19:02
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".
0
tess_06 Messages postés 6 Date d'inscription vendredi 25 janvier 2019 Statut Membre Dernière intervention 13 février 2019
5 févr. 2019 à 17:32
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
0
yg_be Messages postés 22861 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 juin 2024 1 474 > tess_06 Messages postés 6 Date d'inscription vendredi 25 janvier 2019 Statut Membre Dernière intervention 13 février 2019
5 févr. 2019 à 20:16
exemple de requête:
SELECT c1, c2, iif(c1 is null, c2, iif (c2 is null,c1,(c1+c2)/2))
FROM tess;
0
tess_06 Messages postés 6 Date d'inscription vendredi 25 janvier 2019 Statut Membre Dernière intervention 13 février 2019
13 févr. 2019 à 11:14
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
0
yg_be Messages postés 22861 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 juin 2024 1 474 > tess_06 Messages postés 6 Date d'inscription vendredi 25 janvier 2019 Statut Membre Dernière intervention 13 février 2019
13 févr. 2019 à 19:19
"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)
0