OVH Cloud OVH Cloud

Dépassement de capacité

4 réponses
Avatar
Luis
Bonjour,
J'ai fait une toute petite base pour calculer le CA des=20
heures factur=E9es.
Et apr=E8s 511 saisies de d=E9l=E9gation on ne peut plus ouvrir=20
le formualire 'CA par Ann=E9e' d=E8s que l'on clique sur le=20
bouton pour l'ouvrir le message suivant appara=EEt:
L'action OpenForm a =E9t=E9 annul=E9e
J'ai =E9t=E9 dirrectement ouvrir la requ=EAte et j'ai le message=20
suivant:
D=E9passement de capacit=E9.
Pour quelle raison ce d=E9passement de capacit=E9, la base=20
avec les tables fait 8.8 Mo?
Est-ce parce que la requ=EAte est compliqu=E9e?
La voici:
SELECT Year([JourTache]) AS AnneeTache, ([CoutRevient]+
[Supp125]+[Supp150]) AS TotalCoutHeures, Sum
(R_HEURES.HEURES) AS SommeDeDuree, Sum(R_HEURES.HEURES125)=20
AS SommeDeDuree125, Sum(R_HEURES.HEURES150) AS=20
SommeDeDuree150, Sum([Heures]+[Heures125]+[Heures150]) AS=20
SommeToutes, Sum([Heures]*[Tarif_Heure]) AS CoutRevient,=20
Sum([Tarif_Heure]*[Rapport]*[Heures125]*1.25) AS=20
Coutbase125, Sum([Tarif_Heure]*[Rapport]*[Heures150]*1.5)=20
AS Coutbase150, Sum([Tarif_Heure]*[VacRapport]*
[Heures125]) AS CoutVacRapportase125, Sum([Tarif_Heure]*
[VacRapport]*[Heures150]) AS CoutVacRapportase150, Sum
([TarifVac]*[Heures125]) AS CalculHeures125, Sum([TarifVac]
*[Heures150]) AS CalculHeures150, Sum([Salaire_de_base]*
[Heures125]*1.25) AS Base125, Sum([Salaire_de_base]*
[Heures150]*1.5) AS Base150, ([Coutbase125]+
[CoutVacRapportase125]) AS Supp125, ([Coutbase150]+
[CoutVacRapportase150]) AS Supp150, Sum([Heures]*[Total])=20
AS CoutSalaire, Sum([Salaire_de_base]*[Heures125]*1.25) AS=20
CoutSalaireBase125, Sum([Salaire_de_base]*[Heures150]*1.5)=20
AS CoutSalaireBase150, Sum(([VACANCES]+[13EME]+
[JOURS_FERIES]+[Frais1])*[Heures125]) AS=20
CoutSalaireVac125, Sum(([VACANCES]+[13EME]+[JOURS_FERIES]+
[Frais1])*[Heures150]) AS CoutSalaireVac150,=20
([CoutSalaireBase125]+[CoutSalaireVac125]) AS SalSupp125,=20
([CoutSalaireBase150]+[CoutSalaireVac150]) AS SalSupp150,=20
([CoutSalaire]+[SalSupp125]+[SalSupp150]) AS TotalSalaire,=20
TBL_TRAVAIL.[CODE AGENCE], TBL_TRAVAIL.AGENCE
FROM R_Calcul_Heures_Coeff, TBL_TRAVAIL INNER JOIN=20
R_HEURES ON TBL_TRAVAIL.NCONTRAT =3D R_HEURES.NCONTRAT
GROUP BY Year([JourTache]), TBL_TRAVAIL.[CODE AGENCE],=20
TBL_TRAVAIL.AGENCE
ORDER BY Year([JourTache]) DESC;

Si vous aviez une solution pour ce probl=E8me.
Luis

4 réponses

Avatar
Raymond [mvp]
Erreur généralement commise: division par 0 ou par Null.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luis" a écrit dans le message de
news: 140a01c4d15b$1e7e7690$
Bonjour,
J'ai fait une toute petite base pour calculer le CA des
heures facturées.
Et après 511 saisies de délégation on ne peut plus ouvrir
le formualire 'CA par Année' dès que l'on clique sur le
bouton pour l'ouvrir le message suivant apparaît:
L'action OpenForm a été annulée
J'ai été dirrectement ouvrir la requête et j'ai le message
suivant:
Dépassement de capacité.
Pour quelle raison ce dépassement de capacité, la base
avec les tables fait 8.8 Mo?
Est-ce parce que la requête est compliquée?
La voici:
SELECT Year([JourTache]) AS AnneeTache, ([CoutRevient]+
[Supp125]+[Supp150]) AS TotalCoutHeures, Sum
(R_HEURES.HEURES) AS SommeDeDuree, Sum(R_HEURES.HEURES125)
AS SommeDeDuree125, Sum(R_HEURES.HEURES150) AS
SommeDeDuree150, Sum([Heures]+[Heures125]+[Heures150]) AS
SommeToutes, Sum([Heures]*[Tarif_Heure]) AS CoutRevient,
Sum([Tarif_Heure]*[Rapport]*[Heures125]*1.25) AS
Coutbase125, Sum([Tarif_Heure]*[Rapport]*[Heures150]*1.5)
AS Coutbase150, Sum([Tarif_Heure]*[VacRapport]*
[Heures125]) AS CoutVacRapportase125, Sum([Tarif_Heure]*
[VacRapport]*[Heures150]) AS CoutVacRapportase150, Sum
([TarifVac]*[Heures125]) AS CalculHeures125, Sum([TarifVac]
*[Heures150]) AS CalculHeures150, Sum([Salaire_de_base]*
[Heures125]*1.25) AS Base125, Sum([Salaire_de_base]*
[Heures150]*1.5) AS Base150, ([Coutbase125]+
[CoutVacRapportase125]) AS Supp125, ([Coutbase150]+
[CoutVacRapportase150]) AS Supp150, Sum([Heures]*[Total])
AS CoutSalaire, Sum([Salaire_de_base]*[Heures125]*1.25) AS
CoutSalaireBase125, Sum([Salaire_de_base]*[Heures150]*1.5)
AS CoutSalaireBase150, Sum(([VACANCES]+[13EME]+
[JOURS_FERIES]+[Frais1])*[Heures125]) AS
CoutSalaireVac125, Sum(([VACANCES]+[13EME]+[JOURS_FERIES]+
[Frais1])*[Heures150]) AS CoutSalaireVac150,
([CoutSalaireBase125]+[CoutSalaireVac125]) AS SalSupp125,
([CoutSalaireBase150]+[CoutSalaireVac150]) AS SalSupp150,
([CoutSalaire]+[SalSupp125]+[SalSupp150]) AS TotalSalaire,
TBL_TRAVAIL.[CODE AGENCE], TBL_TRAVAIL.AGENCE
FROM R_Calcul_Heures_Coeff, TBL_TRAVAIL INNER JOIN
R_HEURES ON TBL_TRAVAIL.NCONTRAT = R_HEURES.NCONTRAT
GROUP BY Year([JourTache]), TBL_TRAVAIL.[CODE AGENCE],
TBL_TRAVAIL.AGENCE
ORDER BY Year([JourTache]) DESC;

Si vous aviez une solution pour ce problème.
Luis
Avatar
Luis
Bonjour Raymond,
Effectivement dans certains champs il y a '0' ou 'null',
mais c'est une éventualité que l'on ne peut pas exclure.
Comment modifier ma requête pour que je puisse tout de
même l'exécuter et qu'il n'y ai pas d'erreurs?
Luis
-----Message d'origine-----
Erreur généralement commise: division par 0 ou par Null.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luis" a écrit dans
le message de

news: 140a01c4d15b$1e7e7690$
Bonjour,
J'ai fait une toute petite base pour calculer le CA des
heures facturées.
Et après 511 saisies de délégation on ne peut plus ouvrir
le formualire 'CA par Année' dès que l'on clique sur le
bouton pour l'ouvrir le message suivant apparaît:
L'action OpenForm a été annulée
J'ai été dirrectement ouvrir la requête et j'ai le message
suivant:
Dépassement de capacité.
Pour quelle raison ce dépassement de capacité, la base
avec les tables fait 8.8 Mo?
Est-ce parce que la requête est compliquée?
La voici:
SELECT Year([JourTache]) AS AnneeTache, ([CoutRevient]+
[Supp125]+[Supp150]) AS TotalCoutHeures, Sum
(R_HEURES.HEURES) AS SommeDeDuree, Sum(R_HEURES.HEURES125)
AS SommeDeDuree125, Sum(R_HEURES.HEURES150) AS
SommeDeDuree150, Sum([Heures]+[Heures125]+[Heures150]) AS
SommeToutes, Sum([Heures]*[Tarif_Heure]) AS CoutRevient,
Sum([Tarif_Heure]*[Rapport]*[Heures125]*1.25) AS
Coutbase125, Sum([Tarif_Heure]*[Rapport]*[Heures150]*1.5)
AS Coutbase150, Sum([Tarif_Heure]*[VacRapport]*
[Heures125]) AS CoutVacRapportase125, Sum([Tarif_Heure]*
[VacRapport]*[Heures150]) AS CoutVacRapportase150, Sum
([TarifVac]*[Heures125]) AS CalculHeures125, Sum
([TarifVac]

*[Heures150]) AS CalculHeures150, Sum([Salaire_de_base]*
[Heures125]*1.25) AS Base125, Sum([Salaire_de_base]*
[Heures150]*1.5) AS Base150, ([Coutbase125]+
[CoutVacRapportase125]) AS Supp125, ([Coutbase150]+
[CoutVacRapportase150]) AS Supp150, Sum([Heures]*[Total])
AS CoutSalaire, Sum([Salaire_de_base]*[Heures125]*1.25) AS
CoutSalaireBase125, Sum([Salaire_de_base]*[Heures150]*1.5)
AS CoutSalaireBase150, Sum(([VACANCES]+[13EME]+
[JOURS_FERIES]+[Frais1])*[Heures125]) AS
CoutSalaireVac125, Sum(([VACANCES]+[13EME]+[JOURS_FERIES]+
[Frais1])*[Heures150]) AS CoutSalaireVac150,
([CoutSalaireBase125]+[CoutSalaireVac125]) AS SalSupp125,
([CoutSalaireBase150]+[CoutSalaireVac150]) AS SalSupp150,
([CoutSalaire]+[SalSupp125]+[SalSupp150]) AS TotalSalaire,
TBL_TRAVAIL.[CODE AGENCE], TBL_TRAVAIL.AGENCE
FROM R_Calcul_Heures_Coeff, TBL_TRAVAIL INNER JOIN
R_HEURES ON TBL_TRAVAIL.NCONTRAT = R_HEURES.NCONTRAT
GROUP BY Year([JourTache]), TBL_TRAVAIL.[CODE AGENCE],
TBL_TRAVAIL.AGENCE
ORDER BY Year([JourTache]) DESC;

Si vous aviez une solution pour ce problème.
Luis


.



Avatar
Raymond [mvp]
Il faut tester par Nz ou des IIf et remplace les diviseurs par 1, pour faire
une division par 1 au lieur de 0.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luis" a écrit dans le message de
news: 142201c4d15f$7d6732b0$
Bonjour Raymond,
Effectivement dans certains champs il y a '0' ou 'null',
mais c'est une éventualité que l'on ne peut pas exclure.
Comment modifier ma requête pour que je puisse tout de
même l'exécuter et qu'il n'y ai pas d'erreurs?
Luis
Avatar
Luis
Hay, hay!!!
Bon, je m'y mets.
Merci Raymond.
Luis
-----Message d'origine-----
Il faut tester par Nz ou des IIf et remplace les
diviseurs par 1, pour faire

une division par 1 au lieur de 0.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luis" a écrit dans
le message de

news: 142201c4d15f$7d6732b0$
Bonjour Raymond,
Effectivement dans certains champs il y a '0' ou 'null',
mais c'est une éventualité que l'on ne peut pas exclure.
Comment modifier ma requête pour que je puisse tout de
même l'exécuter et qu'il n'y ai pas d'erreurs?
Luis


.