Veld berekenen en vullen met VBA script

Status
Niet open voor verdere reacties.

tonp60

Gebruiker
Lid geworden
29 jul 2009
Berichten
136
Hallo,

Ik wil onderstaand script gebruiken om de waarde van het veld "PrijsExclKortingInclTekenkorting" met 2% te verminderen t.o.v. het veld "PrijsExclKorting" als aan een voorwaarde wordt voldaan (Invullen letter T in het veld "Codetekenkorting") Bijv. ik vul in het veld "PrijsExclKorting" een bedrag van €200,00 in en in het veld "PrijsExclKortingInclTekenkorting" komt
€196,00 te staan als aan de voorwaarde wordt voldaan.

Code:
Private Sub txtPrijsExclKorting_AfterUpdate()
If Me.txtCodeTekenkorting.Value = "T" Then
    Me.txtPrijsExclKortingInclTekenkorting.Value = Me.txtPrijsExclKorting - Me.txtPrijsExclKorting * 0.02
    ElseIf Me.txtCodeTekenkorting.Value = "" Then
    Me.txtPrijsExclKortingInclTekenkorting.Value = Me.txtPrijsExclKorting
End If
End Sub

Het berekenen van de 2% dat werkt, maar dan houdt het op.

Als ik bij een test in het veld "Codetekenkorting" de T verwijder en weer het bedrag invul van € 200,00 dan blijft de eerder toegekende waarde (-2%) in het veld "PrijsExclKortingInclTekenkorting" staan. Dit zou dan de waarde van het veld "PrijsExclKorting" (lees €200,00) moeten worden.
Wie kan mij helpen zodat het wel werkt.

Groet,
Ton
 
Beetje onhandige werkwijze, lijkt mij. Ik zou de prijs laten berekenen a.d.h. van het object txtCodeTekenkorting.

Code:
Private Sub txtCodeTekenkorting_AfterUpdate()
If Me.txtCodeTekenkorting.Value = "T" Then
    Me.txtPrijsExclKortingInclTekenkorting.Value = Me.txtPrijsExclKorting - Me.txtPrijsExclKorting * 0.02
Else
    Me.txtPrijsExclKortingInclTekenkorting.Value = Me.txtPrijsExclKorting
End If
End Sub

Of dit als besturingselementbron voor txtPrijsExclKortingInclTekenkorting:
Code:
=IIf(txtCodeTekenkorting.Value = "T";txtPrijsExclKorting - txtPrijsExclKorting * 0.02;txtPrijsExclKorting)

Of deze variant:
Code:
=txtPrijsExclKorting + (txtCodeTekenkorting.Value = "T" * txtPrijsExclKorting * 0.02);txtPrijsExclKorting

De laatste twee niet getest, want ik heb je db niet en de situatie nog niet nagemaakt.
 
OctaFish

Moest even de tab-volgorde veranderen, maar daarna werkt het precies zoals ik wilde.
Dank je wel.
 
Als je een keuzelijst gebruikt voor txtCodeTekenkorting (en waarom zou je dat niet doen) kun je de Click event gebruiken, die werkt veel beter.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan