In VBA berekende waarde in formulier plaatsen

Status
Niet open voor verdere reacties.

Theowg

Gebruiker
Lid geworden
8 aug 2007
Berichten
25
Hallo,

Ik wil vanuit VBA een berekende waarde toekennen aan een veld in een formulier.
Dit lukt wel, maar deze waarde is dan voor alle records hetzelfde.
Hoe krijg ik het voor elkaar dat per record gekeken wordt naar de berekening in VBA en dan de juiste waarde wordt toegekend?

Alvast bedankt!
 
Berekenen van waardes doe je in een query.
 
Berekenen van waardes doe je in een query.

Het probleem met een query is dat je er niet kunt werken met if - then - else.
Ik kom er met een query niet uit dus.
Het probleem is dat de waarde van de 1e record voor alle records geldt.
 
Het probleem met een query is dat je er niet kunt werken met if - then - else..

Met queries kun je meer dan je wellicht denkt.
Wat je precies wilt bereiken vertel je er echter niet bij ;)

Het probleem is dat de waarde van de 1e record voor alle records geldt

Is dat wat je wilt of juist wat je niet wilt?
Wederom, geef even wat meer specifieke info.

Groet,

Tardis
 
Hallo,

Ik wil vanuit VBA een berekende waarde toekennen aan een veld in een formulier.
Dit lukt wel, maar deze waarde is dan voor alle records hetzelfde.
Hoe krijg ik het voor elkaar dat per record gekeken wordt naar de berekening in VBA en dan de juiste waarde wordt toegekend?

Wat ik wil is het volgende:
Ik moet aan het einde van een kwartaal waarden van een inleg berekenen per kwartaal, waarbij de registratiedatum van de inleg bepalend is. Het maximaal aantal dagen waarover de berekening uitgevoerd mag worden is maximaal de duur van het kwartaal (bijv 90 dagen). Als de registratiedatum in een vorig kwartaal ligt is het aantal dagen (einde kwartaal - datum inleg) groter dan het aantal dagen van dat kwartaal. Hoe krijg ik het nu voor elkaar dat als de datum van de inleg ligt voor het begin van het kwartaal het maximaal aantal dagen de duur van dat kwartaal is, waarbij het volgende record, waarvan de datum inleg in het kwartaal valt, op de juiste manier wordt berekend.
Probleem wat ik nu heb dat de waarde van de 1e record op alle records van kracht is.

Record1: Datum inleg 01-01-07
Inleg: 100,00
Winstpercentage: 1%
Waarde inleg einde 1e kwartaal: 101,00
=([huidige waarde 1e kwartaal]*([winstpercentage]/100))*([dagen inleg 1e kwartaal]/[aantal dagen 1e kwartaal])
Waarde inleg einde 2e kwartaal: 102,01
=([huidige waarde 1e kwartaal]*([winstpercentage]/100))*([dagen inleg 2e kwartaal]/[aantal dagen 2e kwartaal])

Record2: Datum inleg 02-04-07
Inleg: 1.000,00
Winstpercentage: 1%
Waarde inleg einde 1e kwartaal: 0,00
Waarde inleg einde 2e kwartaal: 1.010,00
=([huidige waarde 2e kwartaal]*([winstpercentage]/100))*([dagen inleg 2e kwartaal]/[aantal dagen 2e kwartaal])

Dit alles doe ik in VBA, waarbij de uitkomst voor record 2 enz. de waarde is van record 1.
Misschien moet ik iets doen met return of gosub o.i.d.

Alvast bedankt!
 
Laatst bewerkt:
Met queries kun je meer dan je wellicht denkt.
Wat je precies wilt bereiken vertel je er echter niet bij ;)



Is dat wat je wilt of juist wat je niet wilt?
Wederom, geef even wat meer specifieke info.

Groet,

Tardis

Dat is nou precies wat ik niet wil!
 
Probleem wat ik nu heb dat de waarde van de 1e record op alle records van kracht is

Gebruik je toevallig een doorlopend formulier?

Groet,

Tardis
 
Inderdaad, alle gegevens moeten in 1 overzicht getoond en bijgewerkt worden.
 
Inderdaad, alle gegevens moeten in 1 overzicht getoond en bijgewerkt worden.

Maar gebruik je nu wel of niet een doorlopend formulier?
Formulieren kun je namelijk op 3 manieren weergeven ;)
Dus, ja of nee?

Groet,

Tardis
 
Ja, als ik een enkelvoudig formulier gebruik worden de gegevens wel juist getoond.
 
In een doorlopend formulier gaat dat met VBA niet lukken,
Maak een query en voer daar je berekening in uit.
Een "if then" konstruktie heb je daarvoor niet nodig.
Jouw vraag is meer wiskundig van aard ;)
Zoek anders even op het internet naar voorbeelden van renteberekeningen.
Vervolgens een kwestie van vertalen naar Access door gebruik te maken van de standaardfunkties binnen Access.

Groet,

Tardis
 
Tardis nog bedankt voor de moeite.
Het is me gelukt met 2 bijwerkqueries.

Theowg
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan