Bepalen totalen in subformulier

Status
Niet open voor verdere reacties.

MarcovD

Gebruiker
Lid geworden
3 feb 2006
Berichten
109
Ik heb een formulier met daarin een subformulier.
Binnen dit subformulier wil ik een tabel vullen (factuurregels) met daarin records met een omschrijving, prijsperstuk, aantal, btwpercentage en regeltotaal.

Op dit subformulier kan je dus factuurregels invullen en aangeven welk btwpercentage per regel geldt.

Nou wil ik op dit subform de totalen tonen, per btw percentage.

Ik krijg het alleen niet voor elkaar om de totalen op het subform te tonen.
Als ik bijvoorbeeld het volgende doe:
totaal_btw_laag= DLookup("sum(totaal)", "factuurRegels", "factuurnummer = '" & Me.FactuurNummer & "' and btw_laag = true")
Dan levert dat niets op.

Kan iemand mij op weg helpen?
 
Ik weet niet precies hoe je de BTW gegevens opslaat, maar de formule die je gebruikt zal inderdaad niet werken.
Een DLookup zoekt waarden op in een tabel, maar jij maakt er een berekening in. Dat gaat dus niet lukken. Je kunt het volgende eens proberen in twee verschillende tekstvakken in de voettekst van het subformulier:

DSum("totaal","factuurRegels", "factuurnummer = '" & Me.FactuurNummer & "' and btw_laag = -1")
DSum("totaal","factuurRegels", "factuurnummer = '" & Me.FactuurNummer & "' and btw_laag = 0")
 
Octafish, bedankt voor je hulp.

Ik heb onderstaande geprobeerd:
itotaallaag = DSum("totaal", "factuurRegels", "btw_laag = -1 and FactuurNummer = 200909-08")
MsgBox "laag btw " & itotaallaag

Maar dan krijg ik altijd 0 terug.
Ik heb voor btw_laag ook 0, -1, true en false geprobeerd.

Mijn records in de tabel factuurregels zijn als volgt:
Det ordergeg-id Omschrijving Prijs per eenheid Aantal Factuur nummer btw_laag Totaal
1279 test 100,00 1,00 200909-08 Ja € 106,00
1280 test 100,00 1,00 200909-08 Ja € 106,00

De uitkomst van bovenstaande zou dus 212,00 moeten zijn.
Als ik deze sql query draai :
SELECT sum(totaal)
FROM factuurregels
WHERE factuurnummer = '200909-08' and btw_laag = true;
Dan werkt het wel.

Ik kom er niet uit, heb je misschien nog andere ideeen?
 
Het is toch gelukt met de volgende regel:

DSum("totaal", "factuurRegels", "btw_laag = true and factuurnummer = '" & Me.FactuurNummer & "'")

Eerder had ik een kleine tpe fout waardoor het niet werkte.

Nu wil ik alleen nog dat het veld met het totaal erin elke keer wordt gerefreshed als dat nodig mocht zijn, dus eigenlijk bij elke wijziging op het subformulier.

Ik heb het geprobeerd met de opties
btw_laag_AfterUpdate
btw_laag_Click
en
Hoeveelheid_AfterUpdate

Maar dat werkt niet goed, je moet dan meerdere wijzigingen doen voordat er iets wordt aangepast. Bijvoorbeeld bij btw_laag_AfterUpdate dan moet ik het veld btw_laag 2x aanpassen en wordt het bedrag pas aangepast op het subformulier.

Wat ik eigenlijk wil is elke keer dat er een veld veranderd in het record in de tabel factuurregels dat dan het totaal van btw_laag opnieuw wordt getoond op het subformulier.

Heeft iemand een idee op waarop ik moet reageren om het totaal opnieuw te laten berekenen?
 
Het is gelukt ik uiteindelijk gekozen voor de optie:
Form_AfterUpdate()
en
Form_AfterInsert()

Dit werkt voor mij.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan