Het hangt er een beetje vanaf wat je wilt met die berekening. Het is absoluut niet moeilijk een formulier te maken waarin je in tekstvakken getallen invoert, die samen een bedrag vormen. Met 7 velden kom je een heel eind: 2 cent, 5 cent, 10 cent, 20 cent, 50 cent, 1 € en 2 €. en je hebt alle munten (behalve de cent, die kan uiteraard ook nog. Daarnaast zet je nog eens 7 velden waarin je de waarde laat uitrekenen. Dat doe je dan bijvoorbeeld bij de gebeurtenis <Bij wijzigen>.
Ik heb een voorbeeldje gemaakt met een aantal tekstvelden die een functie gebruiken om een totaal te berekenen.
Code:
Function Berekenen()
Dim dblTot As Double
Dim ctl As Control
Set ctl = Screen.ActiveControl
Me(ctl.Name & "Tot") = Me(ctl.Name).Tag * IIf(Me(ctl.Name).Text = "", 0, Me(ctl.Name).Text)
For Each ctl In Me.Controls
If InStr(1, ctl.Name, "Tot") > 0 Then
dblTot = dblTot + Nz(ctl.Value, 0)
End If
Next
Me.Berekening = dblTot
End Function
Deze functie maakt gebruik van een aantal vaste gegevens:
1. De
naam van de tekstvelden komt terug in de totaalvelden die eindigen op "Tot". Zo heb ik velden met de naam [5Cent], [5CentTot], [2Euro] en [2EuroTot].
2. De tekstvelden die je gebruikt om in te voeren, bevatten de
waarde van de munt in de eigenschap <Extra Info>. [5Cent] dus de waarde
0,05, en [2Euro] de waarde
2
3. Elke invoerveld heeft de functie <Berekenen> in de eigenschap <Bij Bijwerken>. Daar staat dus:
=Berekenen()
4. Mijn
Totaalveld heeft de naam
Berekening. Mag uiteraard ook een andere naam zijn, maar dan moet je de functie veranderen.
Kijk maar eens of je dat aan de praat krijgt
Overigens is er dan nog niks opgeslagen, maar dat hangt van je antwoord af op de vraag: hoe ziet de tabel er uit waarin je de berekening wilt opslaan?