Abfrage auf eine Zahl

Diskutiere Abfrage auf eine Zahl im Programmierung Forum im Bereich Software Forum; Hallo! Ich habe ein Problem. Und zwar bin ich ganz neu in VB muss ich dazu sagen ;) Ich habe ein Textfeld in welches eine Zahl eingegeben...
E

Evory

Threadstarter
Mitglied seit
30.11.2008
Beiträge
69
Alter
31
Hallo!

Ich habe ein Problem.

Und zwar bin ich ganz neu in VB muss ich dazu sagen ;)

Ich habe ein Textfeld in welches eine Zahl eingegeben werden soll. Diese Zahl legt den aktuellen Bestand eines Produktes fest. Da mit dieser Zahl noch gerechnet werden soll, wird diese Zahl zu einem Integerwert gemacht. Wenn man nun aber irgendein Zeichen, zum Beispiel ein "a", eingibt, stürzt das Programm ab sobald es mit diesem Wert rechnen soll.
Habe es versucht mit If WERT < 0 Than, aber das kann ja auch nicht klappen, denn wenn es keine Zahl ist stürzt das Programm schon hier ab. Wollte eine Bool Abfrage machen, habe aber leider keine Ahnung wie ich diese schreiben soll. Also bekomme ich es nicht hin den Wert auf 0 zu setzen, wenn es sich um keine numerische Eingabe handelt.

Würde mich freuen wenn mir wer da helfen könnte und ein Skript-Schnipsel posten könnte ^^

Danke Euch!
 
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.155
Standort
DE-RLP-COC
Mal so auf die Schnelle....

Code:
.
.
.
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii < 48 Or KeyAscii > 57 Then
        '... Zeichen löschen, wenn nicht Backspace gedrückt wurde
        If KeyAscii <> 8 Then KeyAscii = 0
    End If
End Sub
.
.
.
 
Mike

Mike

i7-6700HQ
Team
Mitglied seit
21.09.2006
Beiträge
24.377
Standort
in der Nähe eines Rechners
Ich nehme an, du arbeitest mit einem "Textfeld" (TextBox) für die Eingabe der Werte.

Du kannst die Eigenschaft KEYPRESS festlegen.

Mit diesem Code kannst du NUR Zahlen als Eingabe zulassen, da bereits beim Drücken von Tasten in dem Feld überprüft wird, ob es dem Eingaberegeln entspricht.
Durch das Setzen des Wertes "KeyAscii" auf NULL ist es so dass bei anderen als Zahleneingaben einfach KEINE Eingabe gemacht wird.

Code:
Private Sub [COLOR="Red"]TextBox[/COLOR]_KeyPress(KeyAscii As Integer)
   If InStr("1234567890" & Chr$(8), Chr$(KeyAscii)) = 0 Then
      KeyAscii = 0
   End If
End Sub
Das Wort TextBox muss natürlich den Namen deiner TextBox entsprechen -> passiert aber automatisch wenn du die Eigenschaft deiner TextBox bearbeitest.


:sneaky :sneaky .... bully war schneller, dafür ohne Beschreibung :D
 
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.155
Standort
DE-RLP-COC
Schaun mer mal, wieviel Lösungen so zusammenkommen. :D
 
Peter Schirmer

Peter Schirmer

Dienstleister / Moderator
Mitglied seit
14.04.2006
Beiträge
7.060
Alter
39
Standort
7th Avenue, Ecke XP und Vista, 8ter Stock, Wohnung
Schaun mer mal, wieviel Lösungen so zusammenkommen. :D
Meine Lösung ist (bisher) am kürzesten. :D

Aber hier noch eine entsprechende Anpassung:

Sub Test()

Dim retVal As Boolean

retVal = IsNumeric(Form1.textbox.text)

if retval=false then

msgbox("Bitte geben Sie eine Zahl ein.")

end if

if retval=true then

'Der eigentliche Code

end if

End Sub
 
A

AlienJoker

Gast
gibts nicht auch isInt?

/edit:
gibts nicht, aber isNumeric tut so zwar gute Dienste, ABER auch 0,5 ist numeric, daher bringt das nix, wenn natürliche/ganze Zahlen eingegeben werden sollen.

Es muss auf int geprüft werden, das geht mit
Code:
if isnumeric(Text1.Text)=true then
    if fix(Text1.Text)=Text1.Text then
       [COLOR="Green"] 'Kot hier eingeben[/COLOR]
    end if
end if
Prinzip: wenn der ganzzahlige Anteil gleich der Zahl, dann ist sie ganzzahlig.
 
Zuletzt bearbeitet:
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.155
Standort
DE-RLP-COC
Code:
    If IsNumeric(Text1.Text) Then ....
 
E

Evory

Threadstarter
Mitglied seit
30.11.2008
Beiträge
69
Alter
31
1000 Dank so... einfach :D

hat jetzt doch endlich geklappt was ich mit vorgenommen habe.

Vielen Dank nochmal an alle posts!
 
Thema:

Abfrage auf eine Zahl

Abfrage auf eine Zahl - Ähnliche Themen

  • Outlook 2019 stürzt nach abfragen der emails ab.

    Outlook 2019 stürzt nach abfragen der emails ab.: Mein Outlook 2019 stürzt nach abfragen der emails ab. ich öffne Outlook und die emails werden abgerufen und dann beendet sich das Programm von selbst.
  • "reg query"-Abfrage per Batch: Lässt sich diese Meldung unterdrücken? "Der angegebene Registrierungsschlüssel bzw. Wert wurde nicht gefunden."

    "reg query"-Abfrage per Batch: Lässt sich diese Meldung unterdrücken? "Der angegebene Registrierungsschlüssel bzw. Wert wurde nicht gefunden.": reg query HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ABC /v EigenerDwordeintrag Hiermit frage ich ab, ob der...
  • Nach Installation Windows 10 kann ich meine Produktdaten nicht abfragen

    Nach Installation Windows 10 kann ich meine Produktdaten nicht abfragen: Hallo, das Produkt hatte ich als Retail gekauft (Pro-64-Bit Version). installiert über mitgelieferten USB-Stick. Da ich keine Lizenz Daten...
  • Lange Pfade - Bug - Keine Abfrage vorm Überschreiben

    Lange Pfade - Bug - Keine Abfrage vorm Überschreiben: Ein Kollege von mir speichert Emails nicht in einer *.pst-Datei ab, sondern als msg-Dateien in seinen Dateipfaden. Da er schon mehrmals an die...
  • Pin Abfrage ohne Sim

    Pin Abfrage ohne Sim: Hallo, habe mein Nokia 635 mal wieder herausgekramt aber es verlangt eine Pin auch ohne Sim. Wie kann man das umgehen. Gruß Carsten
  • Ähnliche Themen

    Oben