Te lange expressie

Status
Niet open voor verdere reacties.

gregortman

Gebruiker
Lid geworden
30 nov 2005
Berichten
148
Beste mensen,

kan het zijn dat als je expressie te lang is dat acces hem niet afwerkt

Dit is hem:

Schadeprovisie per kwartaal: IIf([Polissoort]="1" Or [polissoort]="2" Or [polissoort]="3" Or [polissoort]="4" Or [polissoort]="5" Or [polissoort]="6" Or [polissoort]="9" Or [polissoort]="12" Or [polissoort]="14" Or [polissoort]="16";IIf([betalingtermijn]="2";IIf([contractvervaldatum]-91 Between Now() And Now()+30 Or [contractvervaldatum]-182 Between Now() And Now()+30 Or [contractvervaldatum]-273 Between Now() And Now()+30 Or [contractvervaldatum]-365 Between Now() And Now()+30;[termijnpremie]*([Provisie op schade (pxd) %]/100);0));0)

Als ik hem uitvoer geeft hij geen resultaat, terwijl ik weet dat hij juist is ?????

En is dit eventueel aan te passen

groet

gregor
 
dit is de originele die ik al ingekort heb



schadeprovisie: IIf([Polissoort]="1" Or [polissoort]="2" Or [polissoort]="3" Or [polissoort]="4" Or [polissoort]="5" Or [polissoort]="6" Or [polissoort]="9" Or [polissoort]="12" Or [polissoort]="14" Or [polissoort]="16";IIf([betalingtermijn]="1";[termijnpremie]*([provisie op schade (pxd) %]/100);IIf([betalingtermijn]="2";IIf([contractvervaldatum]-91 Between Now() And Now()+30 Or [contractvervaldatum]-182 Between Now() And Now()+30 Or [contractvervaldatum]-273 Between Now() And Now()+30 Or [contractvervaldatum]-365 Between Now() And Now()+30;[termijnpremie]*([Provisie op schade (pxd) %]/100);IIf([betalingtermijn]="3";IIf([contractvervaldatum]-365 Between Now() And Now()+30;[termijnpremie]*([Provisie op schade (pxd) %]/100);5)))));0)

groet

gregor:confused:
 
Als je dit bedoelt:

Code:
select case polissoort
case 1-6, 9, 12, 14, 16
    if betalingtermijn = 2 then
         if contractvervaldatum - 91 between now() and now() + 30 
              or contractvervaldatum - 182 between now() and now() + 30
              or contractvervaldatum - 273 between now() and now() + 30
              or contractvervaldatum - 365 between now() and now() + 30 then
           schadeprovisie = [termijnpremie]*([Provisie op schade (pxd) %]/100)
         else
              schadeprovisie = 0
         endif
    else
          schadeprovisie = 0          
    endif
else
       schadeprovisie = 0
end select

Dan moet je ipv
Code:
                [termijnpremie]*([Provisie op schade (pxd) %]/100);0));0)
Dit gebruiken
Code:
                [termijnpremie]*([Provisie op schade (pxd) %]/100);0);0);0)
denk ik

Ik weet niet hoe je cijfer 0 door middel van een dubbele punt toe wilt wijzen aan schadeprovisie.


HTH
Weest gegroet,
Guus
 
Beste Guus,

Ik ben er ondertussen toch uitgekomen, nog bedankt voor je reactie, in code is het een stuk overzichtelijker, maar daar heb ik nog niet zoveel ervaring mee dus vandaar de excel achtige expressie:thumb:
 
Beste Guus,

Nog ff een kleine vraag, de expressie heb ik in een query geplaatst als nieuw veld en wil hem eigenlijk in code zetten, als ik vba editor open kan ik alleen code aan formulieren toevoegen, Klopt dit of kan ik ook aan een query code toevoegen ??

groet

gregor
:D
 
De enige manier om code toe te voegen aan je query gebruik je volgens mij al.

In Sql Server kan je gebruik maken van stored procedures. Dat is code die je wel op kan nemen in je query statement.

Ben wel benieuwd wat de oplossing van je eigenlijke probleem was?

Weest gegroet,
Guus
 
oplossing

Beste Guus,

Bedankt voor je antwoord,

De oplossing van het geheel is dat ik een gedeelte van de expressie in een verkeerde "onwaar" gedeelte van een iif functie had gezet waardoor er geen waarde werd weergegeven ik heb dit veranderd en nu loopt ie als een trein.

dit is hem
schadeprovisie: IIf([Polissoort]="1" Or [polissoort]="2" Or [polissoort]="3" Or [polissoort]="4" Or [polissoort]="5" Or [polissoort]="6" Or [polissoort]="15" Or [polissoort]="10" Or [polissoort]="11" Or [polissoort]="12" Or [polissoort]="14" Or [polissoort]="16";IIf([betalingtermijn]="1";[termijnpremie]*([provisie op schade (pxd) %]/100);IIf([betalingtermijn]="2";IIf([contractvervaldatum]-91 Between Now() And Now()+30 Or [contractvervaldatum]-182 Between Now() And Now()+30 Or [contractvervaldatum]-273 Between Now() And Now()+30 Or [contractvervaldatum]-365 Between Now() And Now()+30;[termijnpremie]*([Provisie op schade (pxd) %]/100);0);IIf([betalingtermijn]="3";IIf([contractvervaldatum]-365 Between Now() And Now()+30;[termijnpremie]*([Provisie op schade (pxd) %]/100);0);IIf([betalingtermijn]="8";IIf([contractvervaldatum]-365 Between Now() And Now()+30 Or [contractvervaldatum]-182 Between Now() And Now()+30;[termijnpremie]*([provisie op schade (pxd) %]/100);0);0))));0)

Hij geeft nu wat ik wil

groet gregor
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan