message d'erreur "dépassement de capacité"
Le
Kolele
Bonjour à tous,
Bizarre : dans une requête, je calcule des quotients familiaux. Voici le
champ calculé :
Quotient familial: CEnt([Revenu imposable 1]/[Parts fiscales 1]).
A partir d'un seuil, ça boggue : tout se calcule bien jusqu'à un QF de 32767
€. Au-delà, message d'erreur et message d'erreur "dépassement de capacité"
sur tous les objets dépendants de cette requête.
J'utilise la version ACCESS 2002.
Grâce à la crise économique, c'est gérable : la population de ma base a des
revenus faibles. Mais que ferai-je lorsque la croissance repartira ?!
Un diagnostic et un traitement seraient les bienvenus, Docteur.
--
Pierre.
Bizarre : dans une requête, je calcule des quotients familiaux. Voici le
champ calculé :
Quotient familial: CEnt([Revenu imposable 1]/[Parts fiscales 1]).
A partir d'un seuil, ça boggue : tout se calcule bien jusqu'à un QF de 32767
€. Au-delà, message d'erreur et message d'erreur "dépassement de capacité"
sur tous les objets dépendants de cette requête.
J'utilise la version ACCESS 2002.
Grâce à la crise économique, c'est gérable : la population de ma base a des
revenus faibles. Mais que ferai-je lorsque la croissance repartira ?!
Un diagnostic et un traitement seraient les bienvenus, Docteur.
--
Pierre.

Poser une question


CEnt (x) convertit x en entier, donc avec une plage de valeurs comprises
entre -32768 et +32767. Pour aller au-delà, il faut utiliser la fonction
CLong : CLong([Revenu imposable 1]/[Parts fiscales 1]), qui permettra
des valeurs comprises entre -2 147 483 648 et 2 147 483 647 : de quoi
calculer le QF des habitants de Neuilly :-)
db
Si vous voulez des entiers, déclarez des entiers double
"Kolele"
Rien de bizarre : 32767 est le maximum pour un entier court.
CEnt = entier court.
Utilisez des entiers longs, ou mieux : le type monétaire.
Regardez laide sur CEnt & Cie
Cdt, Blaise
---- ---- ----
"Kolele"
Kolele a écrit :
Cette valeur correspond en hexa à &HFFFF du à la fonction CEnt( ...) que
je remplacerais par CLng( ...)
Absolument pas : &HFFFF est 65535 (/10) ou &O177777 (/8) ou 1111111111111111
(/2)
Tout ceci non signé ( pas de moins)
Et pour ce moins, retirez un bit qui fera la différence ( sic)
Cdt, Blaise
---- ---- ----