Wie kann ich mit VBA die Eingabe von Dezimalzahlen

Ich habe ein Formular in Access und möchte dieses anhand eines VBA Codes so programmieren, dass in dem Textfeld „txt_Anzahl“ keine Dezimalzahlen eingegeben werden dürfen. Wie mach ich das am einfachsten?
Danke. :smile:

Hallo,

Ich habe ein Formular in Access und möchte dieses anhand eines
VBA Codes so programmieren, dass in dem Textfeld „txt_Anzahl“
keine Dezimalzahlen eingegeben werden dürfen. Wie mach ich das
am einfachsten?

wenn Du das Textfeld in der Entwicklungsumgebung doppelt anklickst, geht der Editor auf und VBA schreibt die schon mal die Prozedur für das Ereignis ‚Change‘.

Private Sub txt\_Anzahl\_Change()

End Sub

Stell den Cursor dann hinter ‚End Sub‘ und wähle rechts oben das Ereignis ‚Validate‘ aus. Dann sieht das so aus:

Option Explicit

Private Sub txt\_Anzahl\_Change()

End Sub

Private Sub txt\_Anzahl\_Validate(Cancel As Boolean)

End Sub

Wenn Du in das Ereignis nun folgenden Code schreibst und das Programm startest, wird die überflüssige Prozedur automatisch entfernt und Du kannst das Textfeld nicht mehr verlassen, ohne einen gültigen, ganzzahligen Wert einzugeben. Text wird als Eingabe abgelehnt und Eingaben mit Punkt oder Komma auch.

Getestet mit VB6, das soll aber in VBA ebenso funktionieren. :smile:

Private Sub txt\_Anzahl\_Validate(Cancel As Boolean)
 If IsNumeric(txt\_Anzahl) = True Then
 If Val(txt\_Anzahl) CDbl(txt\_Anzahl) Then
 Cancel = True
 End If
 Else
 Cancel = True
 End If
End Sub

Gruß Rainer