Formule calcul access avec éléments provenant de plusieurs table

Fermé
danjazz Messages postés 7 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 22 juillet 2018 - 13 nov. 2015 à 14:39
 Tessel75 - 23 nov. 2015 à 22:15
Bonjour,

Je cherche à rédiger une formule de calcul dans Access avec des éléments provenant de plusieurs tables.
J'ai essayé de trouver des solutions à droite et à gauche mais je n'y arrive pas.
Quelqu'un pourrait-il m'aider ? Merci d'avance

Cordialement,
A voir également:

3 réponses

Bonjour
En faisant une requete avec tes tables. Tu choisis les champs concerns pui tu ajoutes un champs pour le resultat
0
Bonjour,
Ne pas oublier de lier les tables par une clé ou un index commun au 2 tables.
Salut
0
Merci beaucoup pour vos réponses. ça a bien fonctionné, par contre dans la requête chaque ligne s'affiche plusieurs fois.
0
castours > danjazz
15 nov. 2015 à 09:23
bonjour
Suivant ta requete, mettre la clé primaire de la table principale
0
Bon c'est laborieux mais je vais y arriver ! j'avance doucement. Pourtant, je me débrouille plutôt bien avec Excel. Merci pour vos conseils, je reviens vers vous au fur et à mesure de l'avancement de ma requête.
0
La table "commerciaux" s'était dupliquée (commerciaux1) probablement à cause d'une formule que j'avais rentrée dans une des colonnes. Je l'ai supprimée croyant bien faire.
Résultat : la requête est vide maintenant !
0
Bonjour,
Pourtant, je me débrouille plutôt bien avec Excel
Excel et Access sont 2 choses différentes et ne fonctionnent pas de la même manière.
La table "commerciaux" s'était dupliquée!
Non, la table ne s'est pas dupliquée par hasard, seulement si, comme il est probable, chaque commercial s'occupe de plusieurs clients, lorsque tu appelles les commerciaux en lien avec chaque client, il est normal que chaque commercial apparaisse à côté de chacun des clients, donc que chaque commercial apparaisse autant de fois qu'il y a de clients appelés dont il s'occupe.
Il faut faire avec, ou bien revoir ta requête-sélection.
Bonne suite
0
danjazz Messages postés 7 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 22 juillet 2018
23 nov. 2015 à 21:04
Merci pour ces explications.
J'avance doucement. Mais c'est très formateur.
Je m'explique un peu plus : il s'agit de créer une requête qui calcule le % de rétrocession concédé à un prescripteur d'affaires.
Il y a une table clients, dossier client, commerciaux, prescripteur, produits.
Voici la formule que j'ai créée, elle fonctionne parfaitement (le calcul de la rétrocession est juste) mais il manque plusieurs résultats (le calcul ne se fait que sur certains dossiers clients). Je n'arrive pas à trouver pourquoi.
Ci-dessous la formule :

Commission_prescripteur: VraiFaux([DOSSIER_CLIENT]![Statut définitif dossier]="Accepté";([Prescripteurs]![TX com bq]*[DOSSIER_CLIENT]![Montant Comm Banque])+([Prescripteurs]![Tx com mdt]*[DOSSIER_CLIENT]![Montant Mandat])+([Prescripteurs]![Tx com CA]*[DOSSIER_CLIENT]![Montant financement])+([Prescripteurs]![Tx com FD]*[DOSSIER_CLIENT]![FD]);"non_commissionable")

Merci d'avance de votre aide.

Cordialement,
0
(Il vaut mieux écrire les réponses dans les parties "Répondre au sujet", sinon on se retrouve avec des réponses imbriquées qui ne se suivent pas et pour lesquelles il devient vite difficile de retrouver la continuités.)
0
Bonsoir,
Il est très mauvais d'entrer directement des formules compliquées, mieux vaut procéder par étapes intermédiaires successives, surtout quand on maitrise mal la technique.
Je te conseillerais d'écrire tes résultats intermédiaires sous une forme:
A = [Prescripteurs]![TX com bq]*[DOSSIER_CLIENT]![Montant Comm Banque])
B = [Prescripteurs]![Tx com mdt]*[DOSSIER_CLIENT]![Montant Mandat])
C = [Prescripteurs]![Tx com CA]*[DOSSIER_CLIENT]![Montant financement])
D = [Prescripteurs]![Tx com FD]*[DOSSIER_CLIENT]![FD])
E = A + B + C + D
Commission_prescripteur: VraiFaux([Statut définitif dossier]="Accepté" ; E ; "non_commissionable")

Outre la facilité d'écriture, cette écriture te permettrait de vérifier ce qu'il se passe entre les lignes où ça marche et celles où ça ne marche pas.
Bonne suite
0