Formule de calcul dans une table

tess_06 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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   Statut Membre Dernière intervention   217
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > tess_06 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > tess_06 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
"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