[Acces] kommagetal scheiden na komma

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008
  • Reageer

  • wslagendijk
  • Registratie: Januari 2001
  • Niet online
Ik ben bezig om een rapport te genereren. Dit rapport is een factuur met acceptgiro. Het rapport wordt geprint op een A4 met daarop een acceptgiro (standaard van de bank). Op de factuur staat oa een staatje van de te betalen bedragen. Dat staatje ziet er ongeveer zo uit:
code:
1
2
3
4
5
aantal senior leden:      n à 75,00  = x,x
aantal junior leden:      n à 47,50  = x,x
aantal ondersteunend leden: n à 75,00  = x,x
                          ------- +
                     totaal:   x,x

Het rapport (de acceptgiro dus) wordt gegenereerd uit een query die per adres alle gegevens bevat, inclusief hoeveel van elk type lidmaatschap op dat adres.

Dat staatje wordt goed gegenereerd. Het totaalbedrag moet op de acceptgiro komen. En daar zit het probleem want op een acceptgiro moet je de hele euro's in een vakje invullen en de eurocenten in een ander vakje. Dus ongeveer zo:
code:
1
2
3
4
/---v---v---v---\   /---v---\
|     x   x   x |   | x   x |
\---^---^---^---/   \---^---/
        euro       cent

Het probleem is: Hoe kan ik de kommagetallen scheiden?

Nou had ik al (als soort van "work-around") geprobeerd om de kommagetallen los te berekenen. Dat gaat op zich best goed. Zeker in het staatje want dan laat ik het bedrag als volgt zien:
code:
1
=[bedrag voor komma]+[bedrag na komma]

en dan klopt het berekende dus.

Maar als je dat bij de acceptgiro vakjes wilt doen dan heb je dus het probleem dat het "achter de komma getal" groter dan 1 kan worden (bijv: 3 x junior lid wordt dan 3*0,5 is dus 1,5).
Mogelijk zou ik dan weer een soort van work-around kunnen maken zoiets als:
code:
1
IIF([bedrag na komma]>1;[bedrag voor komma]+1;[bedrag voor komma])

enzovoort, maar er moet toch wel een betere oplossing zijn.

Dit heeft me al heel wat hoofdbrekens gekost, maar waarschijnlijk is er wel een voor de handliggende oplossing voor :o

  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Als ik het goed begrijp wil je gewoon de waarden na de comma en voor de comma letter uit elkaar rukken

dus 10,50 wordt

10 en 50?

Makkelijkste manier lijkt mij met een functie.
Die wanneer er een comma komt de waarden achter de comma "wegknipt" en in dat andere vakje zet.
Maar ja kan het mis hebben natuurlijk.


Nog een manier trek de waarde voor de comma van de uiteindelijk waarde af
10,50 - 10 = 0,50
daarna haal je de comma en enzo weg (kan weer makkelijk met functie)
en zet je de waarde die je eraf hebt getrokken in het eerste vak en de waarde die over blijft in het andere.

  • wslagendijk
  • Registratie: Januari 2001
  • Niet online
Makkelijkste manier lijkt mij met een functie.
Die wanneer er een comma komt de waarden achter de comma "wegknipt" en in dat andere vakje zet.
Dat is precies wat ik bedoel. Maar wat ik niet voor elkaar krijg is die waarden achter de komma "weg te knippen".

Is daar een standaard functie voor (en hoe heet die dan)? Of heb je misschien een voorbeeldje voor me?

Verwijderd

2 Cijfers achter de komma:
code:
1
getalachterdekomma = Right(kommagetal,2)

De cijfers voor de komma:
code:
1
getalvoordekomma = Left(kommagetal,(Len(kommagetal) - 3)

  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Op vrijdag 22 maart 2002 16:16 schreef DjMisterY het volgende:
2 Cijfers achter de komma:
code:
1
getalachterdekomma = Right(kommagetal,2)

De cijfers voor de komma:
code:
1
getalvoordekomma = Left(kommagetal,(Len(kommagetal) - 3)
Zie de code van DjMisterY :)

  • wslagendijk
  • Registratie: Januari 2001
  • Niet online
Op vrijdag 22 maart 2002 16:16 schreef DjMisterY het volgende:
2 Cijfers achter de komma:
code:
1
getalachterdekomma = Right(kommagetal,2)

De cijfers voor de komma:
code:
1
getalvoordekomma = Left(kommagetal,(Len(kommagetal) - 3)
Dankje, zal ik eens mee gaan stoeien ;)
Pagina: 1