actie uitvoeren na automatische verandering van inhoud veld

Status
Niet open voor verdere reacties.

rebirth

Gebruiker
Lid geworden
17 jun 2008
Berichten
170
Ik heb in een formulier een onafhankelijk veld, welke totalen toont. Het veld berekent dit automatisch, hier worden dus geen menselijke handelingen op gedaan. Nu zou ik graag nog een aantal vba acties laten uitvoeren wanneer de waarde in dit veld verandert. Ik probeerde dit reeds met 'na gewijzigd' en 'bij wijzigen', maar geen van beide had het gewenste resultaat. Kan ik op een andere manier een actie laten uitvoeren wanneer er een waardeverandering is in een veld, zonder dat er een handeling (klikken, typen,...) aan voorafgaat?
 
Acties op een tekstveld worden getriggerd door een handeling op dat tekstveld op het formulier. Omdat er geen interactie is (de berekening wordt automatisch berekend) is er geen trigger. Je moet dus ofwel een actie doen op basis van één van de velden die de verandering veroorzaakt, of de waarde uit het totaalveld in een variabele zetten, en vergelijken met de nieuwe berekening. Maar dat is een stuk omslachtiger. Ik zou de extra handelingen dus bij één van de andere velden leggen.
 
Oei, die gaat moeilijker worden dan.
Als ik die handeling in het subformulier leg, wat de enige mogelijkheid is, dan lukt het ook niet omdat de berekening van het totaal wat achter komt. En dat totaal heb ik juist nodig in die andere velden.
 
Snap ik niet; je maakt een totaalberekening, die je in verdere berekeningen nodig hebt. Dat snap ik nog. Maar waar staat de verdere berekening dan? En wat hebben de velden die het totaal berekenen met de vervolgberekeningen te maken?
 
Goh, misschien maak ik het gewoon allemaal veel te moeilijk hoor.
Ik heb een formulier voor bestellingen.
In het subformulier worden de bestelde producten ingevuld, en daar heb je dan meteen ook de totaalprijs excl. btw, en het btw bedrag.
Die wil ik graag in het hoofdformulier, én in de tabel van het hoofdformulier bijhouden.
En aan de hand daarvan dient het ook de totaalprijs te berekenen en te bewaren in de tabel. Ik kan die wel automatisch laten uitrekenen, maar dan zitten die waarden niet in de tabel. En vice versa.

Of... zoals ik al zei, maak ik het allemaal net wat te ingewikkeld.
 
ik doe het zelf zo:

Code:
    Me.txtTotaal.Value = Me.txtAantal.Value * Me.txtPrijs.Value
    If Me.Dirty Then Me.Dirty = False
    Me.txtSubFormTotaal.Requery
    Me.Parent.txtCurTotaal = Me.txtSubFormTotaal

Hierbij is [txtTotaal] de totaalprijs per artikel, die wordt berekend op basis van prijs en aantal. [txtSubFormTotaal] is een tekstveld in de voettekst van het subformulier; hier staat het subtotaal in.
Op het hoofdormulier heb ik een veld [txtCurTotaal] dat is gekoppeld aan het veld [Totaal] in de tabel. Zodra er een waarde in het veld [aantal] wordt gewijzigd, wordt alles herberekend, inclusief het veld [curTotaal] op het hoofdformulier.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan