Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UF MUSS gefüllt sein ...

UF MUSS gefüllt sein ...
26.05.2008 09:52:34
Dominik
Hey Liebes Forum,
hab da ne Frage und zwar was muss ich tun um sozusagen Einträge in dem UF zu erzwingen.
Das in bestimmten Feldern etwas drinstehen MUSS.
2tens wäre noch, kann ich dort auch bestimmte Eingaben anfordern ... zum beispiel muss ein eintrag so aussehen: 12as34we ... und nicht 12aswe34 ... also bestimmte zeichen dürfen nur an bestimmten stellen kommen ... mindestlänge höchstkänge und solche sachen
MfG Dominik

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF MUSS gefüllt sein ...
26.05.2008 11:47:00
fcs
Hallo Dominik,
die Prüfung, ob alle Muss-Felder ausgefüllt sind, baust du in die Pozedur der Schaltfläche ein, mit der die UF-Eingaben, an die nächste Prozedur weitergereicht oder in eine Tabelle eingetragen werden.
Die Prüfung, ob die Syntax korrekt ist, kann man bei Textboxen z.B. mit dem Exit-Ereignis verbinden. D.h., wenn der Anwender ein anderes Steuerelement im UF wählt, wird zunächst die Eingabe in der Textbox geprüft.
Man kann auch für einzelne Textboxen Prozeduren starten, die die Tastaturzeichen bei der Einagbe prüfen und z.B. nur Zahlen und Komma zulassen.
Bei den Werten, die eine feste Folge von numerischen und Alphazeichen haben sollen, ist es ggf. sogar besser, diese in separaten Eingabefeldern zu erfassen und erst bei der Ausgabe zusammen zuziehen. So sind die erforderlichen Prüfroutinen einfacher zu gestalten.
Also statt eine Textbox im Format NNAANNAA 4 Textboxen NN AA NN AA
Leider sind die Textboxen in UF nicht so eingerichtet, dass man diese Vorgaben einstellen kann. Alle Prüfungen müssen an Ereignisse geknüpft werden.
Gruß
Franz

Anzeige
AW: UF MUSS gefüllt sein ...
26.05.2008 11:58:00
Dominik
Hey Franz,
das mit dem Exit-Ereignis was du meinst, ist doch das hier oder ?

Private Sub DSRport_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not DSRport.Value Like "###-##" Then
MsgBox "Datum im Format ###-## eingeben"
Cancel = True
End If
End Sub


Nun hab ich noch gefunden wo man die maxlength eingibt ... aber nur die abfrage das IRGENDWAs drinstehen muss hab ich noch net raus ... also egal was drin steht es muss einfach was drin sein ... wie geht das ?
Gruß dominik

AW: UF MUSS gefüllt sein ...
26.05.2008 14:59:00
fcs
Hallo Dominik,
ob man die BeforeUpdate oder die Exit-Ereignis-Prozedur zur Auswertung der Eingabe in ein Steuerelement verwendet spielt meist keine Rolle. BeforeUpdate ist aber die von der Reihenfolge her sinnvollste Ereignis-Auswertung, da sie zeitlich vor AfterUpdate und Exit ausgeführt wird.
Das Prüfen der Muss-Eingaben muss du explizit über eine Prozedur durchführen. Wie schon geschrieben bietet sich das Ereignis an, mit dem die Formular-Daten ausgewertet werden bzw. weitergegeben werden. Üblicherweise ist dies ein Comandbutton oder das Enter-Ereignis eines anderen Steuerelements.
Textboxen muss man dabei auf .Value="" prüfen. Bei Listboxen und Comboboxen ist .ListIndex=-1, wenn noch nichts ausgewählt wurde.
Ich hab mal eine kleine Beispieldatei mit einem Userform hochgeladen.
https://www.herber.de/bbs/user/52627.xls
Gruß
Franz

Anzeige
AW: UF MUSS gefüllt sein ...
26.05.2008 13:43:20
Franc
Ich würde das zum Beispiel so lösen. (Textbox1 entsprechend deinem EIngabefeklld anpassen)
Hier schaue ich nur ob die Textbox leer ist (wenn ja, dann fehler) und wenn sie befüllt ist dann darauf, das an Stelle 1, 2, 5 und 6 eine Zahl steht. Wenn das der Fall ist, dann ist alles ok.
Es reicht ja die Zahlen anzuschauen, weil du die Erlaubten Zeichen vorgeben kannst.

Private Sub CommandButton1_Click()
If Len(TextBox1) = 0 Then
MsgBox "leer!"
Else
If IsNumeric(Mid(TextBox1, 1, 1)) And IsNumeric(Mid(TextBox1, 2, 1)) _
And IsNumeric(Mid(TextBox1, 5, 1)) And IsNumeric(Mid(TextBox1, 6, 1)) Then
MsgBox "korrekt"
Else
MsgBox "Falsches Eingabeformat"
End If
End If
End Sub


Wenn du jetzt noch wissen willst, wie man Zeichen eingrenzt, dann schau hier.
Es werden die Zahlen 0 - 9, a - z und A - Z erlaubt. (beliebig erweiterbar)


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 65 To 90, 97 To 122
Case Else
MsgBox "Unerlaubtes Zeichen!!"
KeyAscii = 0
End Select
End Sub


Anzeige
AW: UF MUSS gefüllt sein ...
26.05.2008 13:58:39
Dominik
Hey Franc ...
genau das habe ich gesucht ... nun nur noch eine kleine erweiterung ... und zwar ... wenn die eingabe nicht korrekt ist ... soll die eingabe berichtigt werden können ... und nich die Falsche Eingabe in meine Tabelle egschrieben werden ...

AW: UF MUSS gefüllt sein ...
26.05.2008 14:32:07
Franc
So, mal vieles reingenommen.
Prüfung erfolgt zum Schluß mit exakter Fehlermeldung.

Private Sub CommandButton1_Click()
Dim Fehlertext, Fehler
Fehlertext = "Folgende Fehler sind aufgetreten:"
Fehler = 0
If Len(TextBox1) = 0 Then
Fehler = 1
Fehlertext = Fehlertext & Chr(13) & "- Texbox1 darf nicht leer sein!"
Else
If IsNumeric(Mid(TextBox1, 1, 1)) And IsNumeric(Mid(TextBox1, 2, 1)) _
And IsNumeric(Mid(TextBox1, 5, 1)) And IsNumeric(Mid(TextBox1, 6, 1)) Then
' nichts
Else
Fehler = 1
Fehlertext = Fehlertext & Chr(13) & "- Texbox1 falsches Format"
End If
End If
If Len(TextBox2) 


Anzeige
AW: UF MUSS gefüllt sein ...
26.05.2008 14:47:13
Dominik
Hey Franc ...
ich danke dir vielmals ...
das ist genau das was ich mir vorgestellt habe ...
TOP 1*

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige