Hallo Tobias!
Nur zum Verständnis:
Im Feld „C“ ruftst du das Ereignis „Nach Aktualisierung“ auf. Das scheint zu klappen.
Wenn Du ein Endlosformular hast, in dem Du das Kontrollfeld „C“ neben den Feldern „A“ und „B“ hast, wird er dir das bei jedem Datensatz anzeigen. Prinzipiell, da das Feld ja an kein Tabellenfeld gebunden ist und somit zu nichts gehört.
Du willst den Kontrollwert ja auch nicht speichern!?
Angenommen also der Wert stimmt, dann kannst Du das Feld ja wieder löschen.
Falls der Wert nicht stimmt, zeigt es Dir die Fehlermeldung und du löscht den Wert danach. Wie´s gefällt.
Oder aber Du erstellst in der zugrunde liegenden Tabelle eine zusätzliche Spalte „SummeAB“, dann funktioniert das. Ist aber grauslich sinnlos.
Du kannst es aber auch so machen:
Private Sub C_AfterUpdate()
Dim sA As Single 'Wert Feld A (7 %)
Dim sB As Single 'Wert Feld B (19 %)
Dim sC As Single 'Errechnete Summe
sA = Me.A
sB = Me.B
sV = sA + sB
If sV Me.C Then
Call MsgBox(„Es liegt ein Eingabefehler vor!“ _
& vbCrLf & „Der richtige Wert müsste " & CStr(sV) & " sein.“ _
, vbExclamation Or vbSystemModal, Application.Name)
Me.C = vbNullString 'Löscht das Kontrollfeld
Me.A.SetFocus
End If
End Sub
Martin