Limitation expression dans le générateur

Résolu
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   -  
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Dans mon générateur d'expression je constate que les expressions trop longues ne peuvent pas y contenir ; c'est à dire quand j'ai plusieurs iif imbriquées ; la voici
=SI(0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))/O6<=(300000/12);
0;
SI(0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))/O6<=(547000/12);
0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))/11-O6*27273/12;
SI(0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))/O6<=(979000/12);
0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))*15/115-O6*48913/12;
SI(0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))/O6<=(1519000/12);
0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))*20/120-O6*84375/12;
SI(0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))/O6<=(2644000/12);
0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))*25/125-O6*135000/12;
SI(0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))/O6<=(4669000/12);
0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))*35/135-O6*291667/12;
<ital><souligne>SI(0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))/O6<=(10106000/12);
0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))*45/145-O6*530172/12;
0,85*(0,8*ARRONDI(I16/1000;0)*1000-(Q18+Q19))*60/160-O6*1183594/12)))))))</souligne></ital>

la partie en gras et soulignée ne peut pas être saisie dans le générateur de requete
Configuration: Windows / Firefox 92.0
A voir également:

3 réponses

Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1
 
Bjr est ce il ya une possibilité de faire contenir les expressions trop longues dans le générateur d'expression ou il faut utiliser une autre fonction
Merci
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
je ne comprends pas bien le contexte.
cela ressemble à une formule de Excel, et la question est posée dans le forum Access.
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour et merci de me répondre, je suis toujours en access, en fait j'ai essayé de traduire cette formule Excel en Access, je suis toujours dans ma base de donnée de la gestion des prêts sur salaire et cette formule je la traduit dans une requête enfin de calculer IGR mais toute la formule ne tient pas dans le générateur d'expression et je ne sais plus comment le faire
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1 > Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention  
 
Voici le code totalement traduit en sql ; mais dont la longueur ne tient pas dans le génerateur d'expression
IGR:VraiFaux(0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))/[NBRE PART]<=25000;0;
IIF(0,85*(0,8*Round([salaire brut]/1000;0)*1000-([ITS]+[CN]))/[NBRE PART]<=(547000/12);
0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-[ITS]+[CN]))/11-[NBRE PART]*27273/12;
IIF(0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))/[NBRE PART]<=(979000/12);
0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))*15/115-[NBRE PART]*48913/12;
IIF(0,85*(0,8*Round([I16]/1000;0)*1000-([ITS]+[CN]))/[NBRE PART]<=(1519000/12);
0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))*1/6-[NBRE PART]*84375/12;
IIF(0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))/[NBRE PART]<=(2644000/12);
0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))*25/125-[NBRE PART]*11250;
IIF(0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))/[NBRE PART]<=4669000/12;
0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))*35/135-[NBRE PART]*291667/12;
IIF(0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))/[NBRE PART]<=(10106000/12);
0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))*45/145-[NBRE PART]*530172/12;
0,85*(0,8*Round([SALAIRE BRUT]/1000;0)*1000-([ITS]+[CN]))*60/160-[NBRE PART]*1183594/12)))))))
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention  
 
As-tu essayé d'éditer l'expression dans la syntaxe SQL de la requête?
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Non pas du tout, j'essaie cette astuce alors
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1 > Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention  
 
jai essayé mais les 3 dernieres lignes(12 -13 et 14) en <4> ne peuvent pas etre ajoutées dans la synthaxe sql de la requete
SELECT PAIE.NUMERO_BULLETIN, PAIE.Date, PAIE.NOMBRE_JOUR, PAIE.CODE_EMPLOYE, EMPLOYE.NOM_EMPLOYE, EMPLOYE.NUMERO_CNPS, EMPLOYE.[SITUATION MATRIMONIALE], EMPLOYE.[NBRE ENFANTS], EMPLOYE.PRENOM_EMPLOYE, EMPLOYE.TITRE, EMPLOYE.ADRESSE, EMPLOYE.EMPLOI_OCCUPE, EMPLOYE.ID_SERVICE, SERVICE.DESIGNATION_SRVICE, EMPLOYE.ETABLISSEMENT_BANCAIRE, EMPLOYE.NUMERO_COMPTE_BANCAIRE, EMPLOYE.ID_CATEGORIE, CATEGORIE.LIBELLE_CATEGORIE, CATEGORIE.TAUX_CATEGORIEL, PAIE.SURSALAIRE, EMPLOYE.TAUX_TRANSPORT, [TAUX_TRANSPORT]*[NOMBRE_JOUR] AS TRANSPORT, PAIE.AUTRES_INDEMNITES, PAIE.CONGES, PAIE.[PRIME_D'ANCIENNETE], [NOMBRE_JOUR]*[TAUX_CATEGORIEL] AS [SALAIRE CATEGORIEL], [SALAIRE CATEGORIEL]*0.012 AS ITS, PAIE.GRATIFICATION, [SALAIRE CATEGORIEL]+[CONGES]+[PRIME_D'ANCIENNETE]+[SURSALAIRE]+[GRATIFICATION] AS [SALAIRE BRUT], EMPLOYE.VILLE, IIf(Round([SALAIRE BRUT]/1000,0)*1000*8/10<=50000,0,IIf(Round([SALAIRE BRUT]/1000,0)*1000*8/10<=130000,((Round([SALAIRE BRUT]/1000,0)*1000)*8/10-50000)*15/1000,IIf(Round([SALAIRE BRUT]/1000,0)*1000*8/10<=200000,((((Round([SALAIRE BRUT]/1000,0)*1000)*8/10-130000)*5/100)+1200),((((Round([SALAIRE BRUT]/1000,0)*1000)*8/10-200000)*1/10)+4700)))) AS CN, IIf([SITUATION MATRIMONIALE]="CELIBATAIRE",[nbre enfants]*0.5+1,[nbre enfants]*0.5+2) AS [NBRE PART], IIf(0.85*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-([ITS]+[CN]))/[NBRE PART]<=25000,0,IIf(0.85*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-([ITS]+[CN]))/[NBRE PART]<=45583,0.85/11*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-[ITS]+[CN])-[NBRE PART]*2281,IIf(0.85*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-([ITS]+[CN]))/[NBRE PART]<=(979000/12),0.85*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-([ITS]+[CN]))*15/115-[NBRE PART]*48913/12,IIf(0.85*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-([ITS]+[CN]))/[NBRE PART]<=(1519000/12),0.85*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-([ITS]+[CN]))*1/6-[NBRE PART]*84375/12,IIf(0.85*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-([ITS]+[CN]))/[NBRE PART]<=(2644000/12),0.85*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-([ITS]+[CN]))*25/125-[NBRE PART]*11250,IIf(0.85*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-([ITS]+[CN]))/[NBRE PART]<=4669000/12,0.85*(0.8*Round([SALAIRE BRUT]/1000,0)*1000-([ITS]+[CN]))*35/135-[NBRE PART]*291667/12,69999)))))) AS IGR
FROM SERVICE INNER JOIN ((CATEGORIE INNER JOIN EMPLOYE ON CATEGORIE.ID_CATEGORIE = EMPLOYE.ID_CATEGORIE) INNER JOIN PAIE ON EMPLOYE.CODE_EMPLOYE = PAIE.CODE_EMPLOYE) ON SERVICE.ID_SERVICE = EMPLOYE.ID_SERVICE;
0
Yaronne_7561
 
bonjour,

Ce topic m'intéresse car je voudrai résoudre un des difficultés que j'ai à résoudre.
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1
 
Bjr, j'espère que vous avez suivi, le problème a été résolu
0