Iif en Optellen in Query's?

Status
Niet open voor verdere reacties.

Strange Bird

Gebruiker
Lid geworden
13 apr 2004
Berichten
154
Beste mensen,

Enige tijd geleden heb ik een vraag gesteld over het combineren van gegevens.

Het is de bedoeling dat ik acceptgiro's met behulp van rapporten ga afdrukken.
Ik heb toen 2 aparte velden gemaakt.
1 voor de hele euro's en 1 voor de euro centen.
(Dit omdat op een acceptgiro de invulvakken een groot stuk uit elkaar liggen)

Tot nu toe was die geen probleem.

Nu ben ik met het combineren verder gegaan en heb het volgende probleem:

Als de contributie 9 euro 50 is dan vul ik in veld "EuroBedrag" 9 en in veld "EuroBedrag2" 50 in.

Ga ik nou de gegevens combineren van 2 mensen die op hetzelfde adres wonen m.b.v. een Query dan wordt het "Eurobedrag" 18. Dit is goed.
Maar "EuroBedrag2" wordt dan 100!

Hoe krijg ik het nou voor elkaar om "Eurobedrag2" 100 op 0 te krijgen terwijl "Eurobedrag" met 1 euro wordt opgehoogd?

Of als er 3 mensen worden gecombineerd dan staat het "eurobedrag2" op 150, dus moet er nog 50 cent in "eurobedrag2" staan en een euro bij "eurobedrag"

Omdat ik het nogal moeilijk vind uit te leggen heb ik een voorbeeldje bijgevoegd.
Wie kan mij helpen?

Met vriendelijke groet,
The Strange bird.
 
Ik ben er nog eens mee bezig maar is het anders misschien makkelijker om euro en centen bij elkaar te doen...

Dus 9.50
En dat ik op een of andere manier de 2 achterste karakters erafhaal en deze in bedrag2 zet en hetgeen wat voor de . staat in Bedrag komt te staan?
 
Kun je niet beter gewoon 1 kolom maken met daarin het bedrag dat betaalt moet worden, dat rekent veel simpeler, heb ut even bekeken, in tabel gegevens, 1 kolom met bedrag maken, nummeriek. Dat rekent veel simpeler.
 
Klopt, het rekenen gaat makkelijker maar...
Het is de bedoeling dat het wordt geprint op een acceptgiro en dan is het "euro veld" en het "eurocenten veld" toch een aardig stuk uit elkaar verwijderd.

En ik wil het gewoon netjes in de acceptgiro hebben staan! Vandaar dat ik een andere oplossing zoek dan gebruikelijk.
 
Je kunt toch net als samenvoegen toch ook waarden uit elkaar trekken? Dus wanneer je hebt gerekend een iets maken waarmee je bijv. 9,50 kunt splitsen in 9 en 50. Kan op dit moment niet exact zeggen hoe het moet, komt nog wel, waar ik plek heb tot m'n access.
 
uit elkaar trekken bedrag

Gebruik gewoon 1 bedrag en trek dit daarna uit elkaar:

Maak nieuwe formule (nieuwe module)


Option Compare Database
Option Explicit

Public Function Voorkomma(getal As Variant) As Variant

If InStr(1, getal, ",") = 0 Then

Voorkomma = getal
DoEvents
Exit Function
End If

Voorkomma = Left(getal, InStr(1, getal, ",") - 1)


End Function

Public Function Nakomma(getal As Variant) As Variant

If InStr(1, getal, ",") = 0 Then

Nakomma = "00"
DoEvents
Exit Function
End If

Nakomma = Mid(getal, InStr(1, getal, ",") + 1, 2)

If Len(Nakomma) < 2 Then
Nakomma = Nakomma & 0
End If

DoEvents
End Function


Maak nu een query waarbij je deze functies gebruikt:
Bedrag1: Voorkomma([Eurobedrag])
Bedrag2: Nakomma([Eurobedrag])
 
GEWELDIG! Hartelijk dank. Ik ga dit proberen en laat weten of het goed is afgelopen!

Alvast bedankt!
 
Misschien een stomme vraag maar hoe maak ik die Query?

De module heb ik gemaakt en is opgeslagen.
Maar hoe kan ik de Query maken zodanig dat ik de module kan gebruiken?
Ik heb het geprobeerd maar kom nergens de module verder tegen bij het maken van een query en ik neem aan dat je toch een verwijzing moet maken naar die module.
 
Ga naaar de ontwerpweergave van een query. Klik in een kolom op rechtermuisknop en dan opbouwen. Zoek hier tussen de modules en je zult deze module vinden.
 
Ik heb het idee dat ik heel dicht bij de oplossing zit maar kom er niet uit!
Als ik nu Q_Voorkomma uitvoer dat komt uit T_Gegevens: EuroTotaal het complete bedrag tevoorschijn terwijl dan toch alleen de hele euro's (voor de komma) zou moeten tonen.
Welke fout heb ik nu nog gemaakt?
 

Bijlagen

Je was idd heel dichtbij: hier de nieuwe DB met de oplossing die je denk ik zoekt.
Wat heb je fout gedaan: je hebt een module. Deze kun je invoegen/invoeren dmv een kolom in een query op te bouwen. Dan krijg je een scherm met heel veel mogelijkheden, links staat ergens functies, daaronder staat probleem, en als je daar op klikt komt er in de middenkolom ook nog iets te staan, net als in de laatste kolom. Dubbelklik op een waarde in de rechterkolom en tada in het schermpje daarboven komt een soort formule te staan: (voorkomma {getal}). op de plaats van {getal} zet de eindtotaal, die vindt je in de tabellen (links onder zoeken), T-gegevens, eindtotaal. Ook weer dubbelklikken en klaar is kees, (oh ja, voordat je dit doet moet je wel even {getal} selecten OF dit {getal} even verwijderen uit de formule en daar gaan staan met de cursor, dan weet de pc waar hij je criterium wilt plaatsen).

Ik schrok even, ik dacht dat de module niet goed werkte, maar er stond een typefout in eindtotaal. Heb ut even aangepast. Nu werkt ie goed dacht ik zo.
 
Laatst bewerkt:
Nou werken deed het nog niet helemaal maar nu wel!

Probleem: Het was geen komma "," maar een punt "."

Nadat ik daar eindelijk achter was werkte het perfect!
Hartelijk dank!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan