OVH Cloud OVH Cloud

Requête Access

3 réponses
Avatar
Francis
Bonjour,

Je démarre sous Access et réalise une BD de mes contrats.

Ma table principale contient tous mes n° de contrat.
Une table secondaire contient des n° de contrat avec un prix de matériel,
Une autre table secondaire contient des n° de contrat avec un prix de SAV,

Les 2 tables secondaires ne contiennt pas forcément les même n° de contrat,
car un contrat peut posséder soit un matériel, soit du SAV, soit les 2.

Lorsque j'effectue une requête pour faire l'addition des 2 prix (matériel et
SAV) par contrat, il ne fait l'opération uniquement pour les n° de contrat où
il y a à la fois un prix matériel et un prix SAV. J'imageine que c'est normal
et que je dois faire une erreur !

J'aurais souhaité qu'il fasse l'addition pour tous les n° de contrat,

Pouvez-vous m'aider, merci par avance

3 réponses

Avatar
RaphK34
Salut,

une piste pourrait être que dans ta requête le calcul doit se faire de la
façon suivante

Total= NZ(Champs1)+NZ(Champs2)+NZ(Champs3)

ce qui permettrait de convertir les Null en Zéro

Ensuite, c'est peut être dans les relations entre tes tables !
il faut les modifiers pour avoir tous les enregistrements de la table
principale.
Le plus simple est de nous donner le Code SQL on y verra plus clair!
--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !

Pour un contact direct, utiliser:
en enlevant nospam.
--------------------------------------------



"Francis" a écrit dans le message de
news:
| Bonjour,
|
| Je démarre sous Access et réalise une BD de mes contrats.
|
| Ma table principale contient tous mes n° de contrat.
| Une table secondaire contient des n° de contrat avec un prix de matériel,
| Une autre table secondaire contient des n° de contrat avec un prix de SAV,
|
| Les 2 tables secondaires ne contiennt pas forcément les même n° de
contrat,
| car un contrat peut posséder soit un matériel, soit du SAV, soit les 2.
|
| Lorsque j'effectue une requête pour faire l'addition des 2 prix (matériel
et
| SAV) par contrat, il ne fait l'opération uniquement pour les n° de contrat

| il y a à la fois un prix matériel et un prix SAV. J'imageine que c'est
normal
| et que je dois faire une erreur !
|
| J'aurais souhaité qu'il fasse l'addition pour tous les n° de contrat,
|
| Pouvez-vous m'aider, merci par avance
|
|
|
Avatar
Francis
MErci pour votre réponse, je vous ai envoyé un exemple de BD sur votre email
perso

Quant au code SQL, je pense que c'est celui là :
SELECT [Tb CONTRATS].N°Contrat, [Tb SAV].MontantSAV, Sum([Tb
MATERIEL].MontantMATERIEL) AS SommeDeMontantMATERIEL,
[MontantSAV]+[MontantMATERIEL] AS TOTAL
FROM ([Tb CONTRATS] LEFT JOIN [Tb SAV] ON [Tb CONTRATS].N°Contrat = [Tb
SAV].N°Contrat) LEFT JOIN [Tb MATERIEL] ON [Tb CONTRATS].N°Contrat = [Tb
MATERIEL].N°Contrat
GROUP BY [Tb CONTRATS].N°Contrat, [Tb SAV].MontantSAV,
[MontantSAV]+[MontantMATERIEL]
ORDER BY [Tb CONTRATS].N°Contrat;

Merci


Salut,

une piste pourrait être que dans ta requête le calcul doit se faire de la
façon suivante

Total= NZ(Champs1)+NZ(Champs2)+NZ(Champs3)

ce qui permettrait de convertir les Null en Zéro

Ensuite, c'est peut être dans les relations entre tes tables !
il faut les modifiers pour avoir tous les enregistrements de la table
principale.
Le plus simple est de nous donner le Code SQL on y verra plus clair!
--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !

Pour un contact direct, utiliser:
en enlevant nospam.
--------------------------------------------



"Francis" a écrit dans le message de
news:
| Bonjour,
|
| Je démarre sous Access et réalise une BD de mes contrats.
|
| Ma table principale contient tous mes n° de contrat.
| Une table secondaire contient des n° de contrat avec un prix de matériel,
| Une autre table secondaire contient des n° de contrat avec un prix de SAV,
|
| Les 2 tables secondaires ne contiennt pas forcément les même n° de
contrat,
| car un contrat peut posséder soit un matériel, soit du SAV, soit les 2.
|
| Lorsque j'effectue une requête pour faire l'addition des 2 prix (matériel
et
| SAV) par contrat, il ne fait l'opération uniquement pour les n° de contrat

| il y a à la fois un prix matériel et un prix SAV. J'imageine que c'est
normal
| et que je dois faire une erreur !
|
| J'aurais souhaité qu'il fasse l'addition pour tous les n° de contrat,
|
| Pouvez-vous m'aider, merci par avance
|
|
|





Avatar
RaphK34
Je t'ai répondu sur ton mail, pour les autres:

En, fait tu devrais l'aide sur Nz, qui transforme un Null en 0 car
Null+1=Null mais 0+1=1 !


--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !

Pour un contact direct, utiliser:
en enlevant nospam.
--------------------------------------------



"Francis" a écrit dans le message de
news:
| MErci pour votre réponse, je vous ai envoyé un exemple de BD sur votre
email
| perso
|
| Quant au code SQL, je pense que c'est celui là :
| SELECT [Tb CONTRATS].N°Contrat, [Tb SAV].MontantSAV, Sum([Tb
| MATERIEL].MontantMATERIEL) AS SommeDeMontantMATERIEL,
| [MontantSAV]+[MontantMATERIEL] AS TOTAL
| FROM ([Tb CONTRATS] LEFT JOIN [Tb SAV] ON [Tb CONTRATS].N°Contrat = [Tb
| SAV].N°Contrat) LEFT JOIN [Tb MATERIEL] ON [Tb CONTRATS].N°Contrat = [Tb
| MATERIEL].N°Contrat
| GROUP BY [Tb CONTRATS].N°Contrat, [Tb SAV].MontantSAV,
| [MontantSAV]+[MontantMATERIEL]
| ORDER BY [Tb CONTRATS].N°Contrat;
|
| Merci
|
|
| > Salut,
| >
| > une piste pourrait être que dans ta requête le calcul doit se faire de
la
| > façon suivante
| >
| > Total= NZ(Champs1)+NZ(Champs2)+NZ(Champs3)
| >
| > ce qui permettrait de convertir les Null en Zéro
| >
| > Ensuite, c'est peut être dans les relations entre tes tables !
| > il faut les modifiers pour avoir tous les enregistrements de la table
| > principale.
| > Le plus simple est de nous donner le Code SQL on y verra plus clair!
| > --
| > @+ Raph.
| >
| > --------------------------------------------
| > Merci de répondre sur le NG
| > Toutes remarques bienvenues !
| >
| > Pour un contact direct, utiliser:
| > en enlevant nospam.
| > --------------------------------------------
| >
| >
| >
| > "Francis" a écrit dans le message de
| > news:
| > | Bonjour,
| > |
| > | Je démarre sous Access et réalise une BD de mes contrats.
| > |
| > | Ma table principale contient tous mes n° de contrat.
| > | Une table secondaire contient des n° de contrat avec un prix de
matériel,
| > | Une autre table secondaire contient des n° de contrat avec un prix de
SAV,
| > |
| > | Les 2 tables secondaires ne contiennt pas forcément les même n° de
| > contrat,
| > | car un contrat peut posséder soit un matériel, soit du SAV, soit les
2.
| > |
| > | Lorsque j'effectue une requête pour faire l'addition des 2 prix
(matériel
| > et
| > | SAV) par contrat, il ne fait l'opération uniquement pour les n° de
contrat
| > où
| > | il y a à la fois un prix matériel et un prix SAV. J'imageine que c'est
| > normal
| > | et que je dois faire une erreur !
| > |
| > | J'aurais souhaité qu'il fasse l'addition pour tous les n° de contrat,
| > |
| > | Pouvez-vous m'aider, merci par avance
| > |
| > |
| > |
| >
| >
| >