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

danjazz Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
 Tessel75 -
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

castours
 
Bonjour
En faisant une requete avec tes tables. Tu choisis les champs concerns pui tu ajoutes un champs pour le resultat
0
Tessel75
 
Bonjour,
Ne pas oublier de lier les tables par une clé ou un index commun au 2 tables.
Salut
0
danjazz
 
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
 
bonjour
Suivant ta requete, mettre la clé primaire de la table principale
0
danjazz
 
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
danjazz
 
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
Tessel75
 
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   Statut Membre Dernière intervention  
 
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
Tessel75
 
(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
Tessel75
 
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