Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Benutzereingabe prüffen

Frage Entwicklung VB for Applications

Mitglied: Praktikantin

Praktikantin (Level 1) - Jetzt verbinden

23.08.2009, aktualisiert 12:43 Uhr, 3495 Aufrufe, 6 Kommentare

Prüfung ob die Eingabe Numeric 5(4,2) ist

Hallo Leute,

ich habe ein kleines Visual Basic Programm erstellt, dass mit Hilfe einer Gespeichterten Prozedur einen Wert in der Datenbank aktualisiert-ändert....
Dieser Wert (freq) ist eine numeric 5(4,2) in der Datenbank. Das programm nehmt die freq von einer Textbox und so wird sie mit der SP aktualisiert. Ich will jetzt sicher sein ob die Eingabe vom benutzter richtig ist, also das richtige Format hat damit in der Datenbank keinen Falschen Werte eingegeben werden oder die Prozedur mit einem Unbekannten Fehler platzt. Ich dachte ich versuche mal

if not isnumeric(freq)
msgbox "Der Wert ist falsch"
End if

Aber mit isnumeric werden wohl die Negativen Zahlen nicht überprüft und in der Datenbank sind Negative Zahlen nicht erlaubt. Ausserdem würde ich gerne dass die Zahl zwischen 0.1 und 10 ist...

Wenn ich noch eine Prüfung im Code haben muss bitte schreibt es mir. Ich will einfach mal sehen wie diese Prüfungen von jemandem mit großer Erfahrung definiert werden...

Danke im voraus
und viele liebe Grüße

Praktikantin
Mitglied: filippg
23.08.2009 um 13:36 Uhr
Ausserdem würde ich gerne dass die Zahl zwischen 0.1 und
10 ist...
Jaaaa..... Und warum schreibst du es dann nicht einfach hin? Leider habe ich keine Ahnung von VB, aber einen "AND"-Opertor gibt es bestimmt, ebenso wie ein größer und kleiner. Und alles zusammengepackt ergibt: If not (isnumeric(freq) AND freq >= 0.1 AND freq <= 10) then... Analog dazu würde ich es zumindest in jeder anderen Sprache machen. Damit hast du auch sichergestellt, dass der Wert nicht negativ ist. Die isnumierc-Abfrage an erster Stelle macht bei den meisten Programmiersprachen auch Sinn: sie liefern bei einem Vergleich "a" >= 0.1 nicht einfach "true" oder "false" sondern lösen eine Ausnahme aus.

Gruß

Filipp
Bitte warten ..
Mitglied: 76109
23.08.2009 um 13:40 Uhr
Hallo Praktikantin!

Vielleicht so:
01.
Private Sub Button_Click() 
02.
 
03.
    On Error GoTo SendErrMsg 'Error wenn folgender Test Not Numeric 
04.
     
05.
    If TextBox < 0.1 Or TextBox > 10 Then GoTo SendErrMsg 
06.
     
07.
   '.......... 
08.
 
09.
    Exit Sub 
10.
 
11.
SendErrMsg: 
12.
    Hide 
13.
    MsgBox "Der Wert ist falsch" 
14.
    Show 
15.
End Sub
oder so:
01.
Private Sub Button_Click() 
02.
 
03.
    If IsNumeric(TextBox) Then 
04.
        If TextBox < 0.1 Or TextBox > 10 Then GoTo SendErrMsg 
05.
    Else 
06.
        GoTo SendErrMsg 
07.
    End If 
08.
     
09.
   '.......... 
10.
 
11.
    Exit Sub 
12.
 
13.
SendErrMsg: 
14.
    Hide 
15.
    MsgBox "Der Wert ist falsch" 
16.
    Show 
17.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: Praktikantin
23.08.2009 um 13:56 Uhr
Hallo Filipp und Dieter,

ja das mache ich dann-->
If TextBox < 0.1 Or TextBox > 10 Then GoTo SendErrMsg

Damit ist wohl alles ok . Das einzige was ich noch machen muss ist ein ltrim, rtrim oder trim damit ich die spaces lösche. Somit habe ich alle Fehler die ein benutzter machen kann.

Vielen dank an euch beide, man füllt sich einfach sicherer wenn man einen Tipp von einem Experten bekommt und so sammelt man auch tolle Ideen! Noch einmal danke

Viele Grüsse Praktikantin
Bitte warten ..
Mitglied: 76109
23.08.2009 um 14:12 Uhr
Hallo Praktikantin!

Aber den Test "IsNumeric" oder die Anweisung "On Error" verwendest Du hoffentlich auch?

Noch ein Tip: Verwende anstatt LTrim/RTrim nur Trim.

Und dafür muss man kein Experte sein. Ich bin zumindest keiner

Gruß Dieter
Bitte warten ..
Mitglied: Praktikantin
23.08.2009 um 14:32 Uhr
Ok Dieter,

ich werde auch isnumeric verwenden und Trim statt ltrim/rtrim (zu viel SQL im Kopf) Gut dass Du mir das noch geschrieben hast... Ich dachte mit der If TextBox < 0.1 Or TextBox > 10 Then GoTo SendErrMsg wäre alles ok... Jetzt wo ich darüber nachdenke kann doch etwas passieren... Ok dann. Mit OnError meinst Du diesen abschnitt oder?

SendErrMsg:
Hide
MsgBox "Der Wert ist falsch"
Show
End Sub

Wenn so etwas vorkommt werde ich einfacht den Inhalt der Textbox löschen und den Benutzer auffordern einen richtigen Wert einzugeben. Ist das so ok?

Und noch etwas... Aus meiner Sicht, die zum ersten mal so etwas macht bist Du schon ein Experte Alles ist eben Ansichtssache!!!!

Vielen Dank
Praktikantin
Bitte warten ..
Mitglied: 76109
23.08.2009 um 15:37 Uhr
Hallo Praktikantin!

Also, wenn bei dem Test kleiner/größer kein numerischer Wert vorhanden ist, dann wird ein Error-Ereignis ausgelöst. Daher muss entweder explizit ein IsNumeric-Test ausgeführt werden oder mit On Error Goto dafür gesorgt werden, das das Error-Erreignis vom Code selbst mit einem Goto verarbeitet wird.

Entweder diesen Code:
01.
    On Error GoTo SendErrMsg 
02.
    If TextBox < 0.1 Or TextBox > 10 Then GoTo SendErrMsg
oder diesen Code verwenden:
01.
    If IsNumeric(TextBox) Then 
02.
        If TextBox < 0.1 Or TextBox > 10 Then GoTo SendErrMsg 
03.
    Else 
04.
        GoTo SendErrMsg 
05.
    End If

Der Rest ist gleich.

Das löschen der TextBox, kannst Du in dem Teil mit der MsgBox mit einbinden.

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Windows Tools
In den Druckvorgang eingreifen - Benutzereingabe und Ausdruck Barcode
Frage von DeeJayBeeWindows Tools3 Kommentare

Hallo zusammen, ich möchte diverse Dokumente ausdrucken (E-Mail, Word-Datei, PDF, etc) und dabei auf dem Ausdruck in einer Ecke ...

Java
Fehler beim hinzufügen der Benutzereingabe in eine Datenbank ( Java Android)
Frage von xxxxxxxJava1 Kommentar

Sehr geehrte Forum-Mitglieder, Ich habe mich vor kurzen an die App-Entwicklung gewagt und habe nun ein Problem mit meiner ...

Windows 10
Windows 10 - VPN-Verbindung beendet automatisch durch Benutzereingabe-Fehler
gelöst Frage von derAndyCWindows 103 Kommentare

Guten Abend, ich benötige mal Rat, ich weiß grade nicht mehr weiter. Ich habe mehrere Windows 10 Laptops, die ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 8 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 13 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 13 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...