Plausibilitätskontrollen: Wie kann ich Prozentzahlen eingeben?
Das Ausgabeformat: Prozentzahl wird sehr häufig falsch angezeigt, da die Benutzung des %-Zeichens bei der Eingabe häufig vergessen wird bzw. zu umständlich ist. Manche geben Prozentzahlen gewohnheitsmäßig als Dezimalzahl ein (z.B. 0,16 für 16%), andere wiederum lieber als ganze Zahl (hier also nur 16). Egal wie du das Feld formatierst, irgendjemand schafft es immer, es falsch einzugeben.
Wie kannst du es umgehen:
Erstelle in deinem Formular ein Textfeld und benenne das Feld z.B. in txtProzentfeld um.
Stelle als Ausgabeformat Prozentzahl ein (Textfeldeigenschaft – Register Format)
Öffne ein bestehendes Modul oder erstell ein neues Modul und füge folgende Funktion ein:
Code:
Public Function CheckProzent(vWert As Variant) AsSingleDim sngWert AsSingle ' Wurde was übergebenIfNot IsNull(vWert) Then ' ist der Wert ganzzahlig?If vWert > 1 Then ' teile ihn durch 100
sngWert = vWert / 100
Else ' ansonsten, belass den Wert so wie er ist
sngWert = vWert
EndIfEndIf ' Übergabe Überprüfung
CheckProzent = sngWert
EndFunction
Erstell anschließend für dein Textfeld folgende Ereignisprozedur (Textfeldeigenschaft – Register Ereignis – Nach Aktualisieren – dort auf die Aufbauenschaltfläche […] – Code-Generator):
Code:
Private Sub txtProzentfeld_AfterUpdate()
Me!txtProzentfeld = CheckProzent(Me!txtProzentfeld)
EndSub
Überprüfe es, indem du beide Varianten z.B. Eingabe 16 bzw. 0,16 ausprobierst.
Das war's schon! Weitere Informationen findest du in der allgemeinen Onlinehilfe: Stichwort Programmieren in Access – Ereignisse bzw. Grundlegende Programmierkonzepte. Denk bitte auch immer an die [F1]-Taste (Wort markieren, F1-Taste betätigen), falls du nähere Informationen zu den im Code verwendeten Befehlen benötigst!