Ga naar inhoud
  • 0

IF FUNCTION


lavino

Vraag

k heb de volgende velden aangemaakt :

...................... veldtype formules etc

bruto bedrag number indexed

btw code number indexed, by value list, existing

btw bedrag calculation round(brutobedrag*btw code/(btw code+100);2)

btw 19% calculation round(if btw=19;btw bedrag;btw code=0);2)

btw 6% calculation round(if btw=6;btw bedrag;btw code=0);2)

btw 0% calculation round(if btw=0;btw bedrag;btw code=0);2)

nettobedrag calculation round(brutobedrag-(btw 19%+btw 6%+btw0%)

 

in de tabel mode / view as table

worden de kolommen btw 19%, 6% en 0% alsmede het netto bedrag keurig ingevuld

het gaat allemaal goed als ik de btw codes 19 of 6 gebruik

echter ..... als ik btw code 0 gebruik, dan verschijnt er in de kolommen btw 19% en btw 6% een bedrag van 1,00 terwijl

er in allebei 0,00 zou moeten staan, btw % wordt uiteraard wel gevuld met 0,00 wat kan er aan mankeren ?

 

verder heb ik voor de btw code een valuelist gemaakt met de waarden : "19" "6" en "0)

de valuelist werkt ook niet, bij het invullen van de btw code verschijnt niet het lijstje met de 3 waarden. ?

 

weet iemand een oplossing

 

alvast bedankt voor reacties

Untitled.fp7

aangepast door Gast
Link naar reactie

16 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Veldnamen moeten niet tussen aanhalingstekens staan. Krulhaken moeten weg. "...defaultResult" moet worden vervangen door een resultaat.

Verder is de berekening ook niet goed. Hier wordt het nettobedrag x 100 uitgerekend, (als 'Bedrag' het brutobedrag is).

 

Bovendien is het eenvoudiger wanneer je van xcat1 een numeriek veld maakt met als inhoud 19, 6 of 0.

 

De btw is dan, als 'Bedrag' het nettobedrag is:

 

Round ( Bedrag * xcat1 / 100 ; 2 )

 

Als 'Bedrag' het bruto-bedrag is:

 

Round ( Bedrag * 100 / ( xcat1 + 100 ) ; 2 )

Link naar reactie
  • 0

Case ( "xcat1" ="19%" ; "Bedrag"/119 { ; "xcat1" ="6%";"Bedrag"/106";... defaultResult } )

 

Verwijder overbodige tekens in de formule en wijzig default.

Je formule komt er dan zo uit te zien.

 

Case ( xcat1 ="19%" ; "Bedrag"/119 ; xcat1 ="6%";"Bedrag"/106"; 0 )

 

 

de { tekens geven aan dat je dit deel van de formule niet perse hoeft in te vullen. Je kan dus ' ; 0 ' weglaten.

 

Quint

Link naar reactie
  • 0
Neem me niet kwalijk, er staat een fout in mijn tweede formule (wanneer 'Bedrag' het bruto-bedrag is). Deze moet zijn:

 

Round ( Bedrag * xcat1 / ( xcat1 + 100 ) ; 2 )

 

Met excuses,

 

Henk

bedankt Henk,

de formules geven inderdaad geen foutmeldingen, meer. Echter

komen dezelfde bedragen te voorschijn in elk van de regels :

BTW19%

BTW 6%,

BTW 0%

 

bedrag is inderdaad het brutobedrag en ik wil hier de BTW uit halen om het daarbij ook het nettobedrag te bepalen

hiervoor gebruik ik de formule : bedrag-(BTW19%+6%+0%)

 

jouw formule moet wellicht in combinatie met een IF of een CASE formule

gebruikt worden. Ik ben in dit opzicht nog een beginner. ?

misschien heb je nog suggesties.

vriendelijke groet

Fred

Link naar reactie
  • 0

Als ik het goed begrijp heb je dus in elk record 3 calculatievelden voor het berekenen van de btw volgens de verschillende tarieven. (De derde is overigens altijd 0). Daarna is er nog een calculatie, die het juiste bedrag kiest n.a.v. de keuze in veld 'xcat1'.

 

Dit is onnodig omslachtig, maak één (numeriek) veld waarin je het btw-tarief voor het huidige record kan kiezen (dit zou met radio-buttons kunnen; inhoud 19, 6 en 0) en bereken de btw op grond van deze keuze. Laten we dit nieuwe veld even 'BTWpercentage' noemen.

 

Dan heb je dus je calculatieveld 'BTW' met de formule:

 

Round ( Bedrag * BTWpercentage / ( BTWpercentage + 100 ) ; 2 )

 

Mocht het btw-tarief veranderen (en dat zal ooit gebeuren), dan hoef je alleen maar je value-list aan te passen, de waardes in de oude records blijven zoals ze waren (immers: zij hebben toen die btw betaald, dat verandert niet), en voor nieuwe records wordt het btw-tarief gekozen uit de nieuwe lijst.

 

Succes,

Henk

Link naar reactie
  • 0
Als ik het goed begrijp heb je dus in elk record 3 calculatievelden voor het berekenen van de btw volgens de verschillende tarieven. (De derde is overigens altijd 0). Daarna is er nog een calculatie, die het juiste bedrag kiest n.a.v. de keuze in veld 'xcat1'.

 

Dit is onnodig omslachtig, maak één (numeriek) veld waarin je het btw-tarief voor het huidige record kan kiezen (dit zou met radio-buttons kunnen; inhoud 19, 6 en 0) en bereken de btw op grond van deze keuze. Laten we dit nieuwe veld even 'BTWpercentage' noemen.

 

Dan heb je dus je calculatieveld 'BTW' met de formule:

 

Round ( Bedrag * BTWpercentage / ( BTWpercentage + 100 ) ; 2 )

 

Mocht het btw-tarief veranderen (en dat zal ooit gebeuren), dan hoef je alleen maar je value-list aan te passen, de waardes in de oude records blijven zoals ze waren (immers: zij hebben toen die btw betaald, dat verandert niet), en voor nieuwe records wordt het btw-tarief gekozen uit de nieuwe lijst.

 

Succes,

Henk

Hallo Henk,

bedankt voor je reactie. ik heb de formule aangepast , het werkt uitstekend. ik ga verder nog dubben hoe ik btw bedragen per BTWpercentage kan totaliseren. ik laat je nog weten hoe ik het gedaan heb

inmiddels hartelijk dank voor je hulp.

groet

Fred

Link naar reactie
  • 0

ik heb de volgende velden:

BIJ ……………. getal

Bedrag_EUR…..getal

AfBij…………….tekst

 

alle bedragen die via de bankmutaties

binnen komen worden in veld bedrag_EUR

weergegeven. dus zowel de af als bij bedragen.

het veld af bij geeft bij het importeren goed aan of het af of bij is.

ik gebruik het veld bedrag_EUR voor bedragen die onder af

moeten komen.

 

ik wil de IF functie gebruiken om de ontvangen bedragen

in veld BIJ te krijgen.

ik heb gebruikt : if(AfBij=Bij;Bedrag_EUR;0) dit werkt niet

is er iemand die mij aan de juiste formule kan helpen

Link naar reactie
  • 0

Ligt er een beetje aan wat je wilt doen.

 

Als je het veld AfBij wilt vergelijken met het veld Bij, dan is het probleem dat Bij een getalveld is en AfBij een tekstveld

 

Als je het veld AfBij wilt vergelijken met de tekst Bij, dan is de formule if(AfBij = "Bij" .....) de aanhalingstekens geven aan dat het om een tekst gaat en niet om een veld

Link naar reactie
  • 0

ik heb in een bankafschriften database

een veld om het huidige saldo te berekenen.

zie bijgaande schermafbeeldingen

nadat de mutaties zijn geïmporteerd zou het eindsaldo(huidig saldo ) moeten kloppen

dit is niet het geval na in het" beheren, database weer aangeklikt te hebben, lukt het meestal om het juiste bedrag

te krijgen. doe ik iets fout ?

5a758dd35737e_Schermafbeelding2014-12-16om13_27_06.jpg.887213576a1100b8d0428069a50d859a.jpg

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...