Office: (Office 2016) leeres Textfeld prüfen

Helfe beim Thema leeres Textfeld prüfen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Morgen @all ich hätte eine Verständnis Frage zur Prüfung leerer Textfelder. Ich prüfe per Ribbon Button beim Speichern ob bestimmte Textfelder... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Hubert111, 7. Dezember 2019.

  1. leeres Textfeld prüfen


    Guten Morgen @all

    ich hätte eine Verständnis Frage zur Prüfung leerer Textfelder.

    Ich prüfe per Ribbon Button beim Speichern ob bestimmte Textfelder einer Adresse ausgefüllt wurden.

    Mit dieser Anweisung erfolgt die Textfeld Prüfung nicht:
    If IsNull(Forms!frmAdr!txtTelefon) Then MsgBox "Bitte Telefon-Nr. eingeben"

    Mit dieser Anweisung erfolgt die Textfeld Prüfung:
    If Trim(Nz(Forms!frmAdr!txtTelefon "")) = "" Then MsgBox "Bitte Telefon-Nr. eingeben"

    Ich würde gerne wissen und verstehen warum die Prüfung mit IsNull(Forms!frmAdr!txtTelefon) nicht funktioniert.

    Danke

    :)
     
    Hubert111, 7. Dezember 2019
    #1
  2. Ich fürchte, da musst du die fragen, die das Control programmiert haben.
    Jedenfalls fällt das in der Bereich Bug.

    Kürzlich hatte ich das Problem, dass in der Entwicklerversion die Prüfung auf IsNull (bei einer Combobox) klappte, dann in der Runtime nicht mehr.

    Das Trim ist bei mir allerdings nicht erforderlich.
     
    markusxy, 8. Dezember 2019
    #2
  3. \@markusxy

    Danke für den Hinweis das es sich um einen Bug handeln muss.

    Kurioserweise funktioniert bei mir die IsNull Prüfung der Textfelder bei einer Neuanlage und Sichern einwandfrei, allerdings nicht beim nachträglichen Bearbeiten und Sichern. Ist mir dadurch auch eher zufällig aufgefallen.
     
    Hubert111, 8. Dezember 2019
    #3
  4. leeres Textfeld prüfen

    Vorrangig sollte man verstehen, dass die zweite Anweisung auf einen Nullstring prüft, im Unterschied der Prüfung auf NULL in der ersten Anweisung.

    Zweites nötiges Grundverständnis: NULL ist etwas anderes als ein Nullstring. Es ist das Unbekannte, Undefinierte, Nichtfassbare, und somit ein anderer Zustand als (schon mal) ein String ohne enthaltene Zeichen.

    Die Verwendung von Trim (Beseitigen der äußeren Leerzeichen) beinhaltet schon die Erwartung, dass da etwas ist, über nichts hinaus.
     
  5. \@ebs17,
    jetzt musst du das nur noch dem Steuerelement erklären.

    Vielleicht funktioniert es danach auch richtig. *grins
     
    markusxy, 8. Dezember 2019
    #5
  6. Der Inhalt des Steuerelementes hat eine Vorgeschichte. Wenn man die nicht kennt, ist es unangemessen, pauschal von einem Bug zu sprechen, es sei denn, man bezieht den Entwickler von dessen Verwendung ausdrücklich mit ein.
     
  7. \@ebs17

    danke für deine Erläuterungen betreffs Prüfung auf NULL und Nullstring.

    Da es aber keine Vorgesichte der zu prüfenden leeren Textfelder gibt
    bleibt die Frage warum die Prüfung mit IsNull nicht immer funktioniert.

    Wie von @markusxy geschildert hat er ein ähnliches Problem wenn die IsNull Prüfung in der Entwicklerversion funktioniert und in der Runtime nicht.
     
    Hubert111, 8. Dezember 2019
    #7
  8. leeres Textfeld prüfen

    Eine Textbox ohne Vorgeschichte ist irgendwo eine Klasse in den Tiefen der Accessprogrammierung. Prüfen kannst Du nur Instanzen davon, die somit initialisiert werden mussten.
     
  9. Ich habs jetzt kurz in meiner Anwendung überprüft.

    In der Runtime ist der Datentyp Empty in Access Null.
    Auch wenn man den Inhalt aus dem Control löscht wird er in der Runtime zu Empty

    Prüf mal in der Anwendung den Inhalt des Controls auf vartype, oder Typname.
    Dann wird der Datentyp der Variant Variable angezeigt.

    In meinem Fall könnte ich also prüfen vartype(control.Value) < 2
     
    markusxy, 9. Dezember 2019
    #9
  10. Als Praktiker, dem das Wie und Warum des Leerseins egal ist, könnte man auch prüfen:
    Code:
    Ob man da zusätzlich Trim benötigt, um Blanks (die ohne Grund vom Himmel fallen) außenherum zu beseitigen, mag man dann selbst beurteilen.
     
  11. Hallo,

    das es sich um einen Bug handeln soll, mag ich ohne weitere Belege nicht nachvollziehen. Ich habe noch nie mitbekommen, daß eine Access.Textbox den Wert Empty annimmt. Entweder sie hat eine Inhalt, dann ist sie nicht NULL oder Access setz den Wert auf NULL zurück, wenn der Inhalt gelöscht wird. Dieses Verhalten kann durch die Bindung an ein Recordsetfeld, durch Formate oder Defaultwerte beeinflußt werden, aber Empty war zumindest bei mir noch nie dabei.

    In einem anderen Forum ist dieser Ausdruck zur Prüfung verwendet worden:
    Code:
    wobei trim() entfallen könnten, wenn man nur auf NULL/Leerstring und nicht auch auf "String mit Leerzeichen"/NULL/Leerstring prüfen möchte. Damit sollte die Prüfung sicher gelingen.
    http://www.office-loesung.de/p/viewt...Empty#p3252378

    @markusxy:
    Deine Aussage:
    ist irgendwie widersprüchlich. Könntest du mal ein Beispiel hochladen? Welche Access Version, welche BE?

    Gruß Ulrich
     
    knobbi38, 9. Dezember 2019
    #11
  12. \@ebs17
    Danke für deine Lösung für Praktiker!
    Das wie und warum des Leerseins ist mir dennoch nicht egal
    sonst hätte ich die Frage nicht gestellt...

    @knobbi38
    Danke für deinen Prüfvorschlag wird auch getestet.
     
    Hubert111, 9. Dezember 2019
    #12
  13. leeres Textfeld prüfen

    => Wenn korrekte Angaben bei Eingabe nicht zwingend vorliegen müssen, ist es systematisch falsch, das Feld als Pflichtfeld zu installieren. Da kann doch nur Mist kommen.

    => Wenn man schon die User dazu erzogen hat, irgendwas statt korrekte Informationen einzugeben, sollte das vielleicht besser geprüft werden.
    Eine Eingabe von 0123 wäre nach Deiner Prüfung korrekt, moritz auch, eine Erotikhotline ganz lustig. In der Praxis aber unbrauchbar und eher schädlich: Bei einem Leer wüsste man, dass man den Inhalt nicht verwenden kann, sowie auch, dass man da nachfragen müsste.

    Nach einem Neuöffnen des Formulars hätte man durch gegebene Einstellungen definierte Zustände in solch einer Textbox. Nach Benutzereingaben, die keiner kennt, kann dann auch völlig anderes vorliegen.

    Der Begriff "Ähnlichkeit" kann da schon Heiterkeit verbreiten.
     
  14. \@ebs17
    If Len(Forms!frmAdr!txtTelefon & vbNullString) = 0 Then

    Prüfung erfolgt zuverlässig (ohne Trim)!


    @knobbi38
    If (Nz(Forms!frmAdr!txtTelefon)) = Empty Then

    Prüfung erfolgt zuverlässig (ohne Trim)!


    Danke für die Vorschläge und Erläuterungen
     
    Hubert111, 9. Dezember 2019
    #14
  15. \@ebs17
    Heiterkeit egal wodurch erzeugt ist doch durchaus positiv zu bewerten!

    Prinzipiell bin ich natürlich bei dir und dennoch zeigt die Praxis das
    es immer wieder Ausnahmen gibt das der Anwender einen Datensatz
    schnell anlegen muss auch wenn er nicht alle normalerweise notwendigen
    Angaben zur Verfügung hat. Dann kann er gewollt auch "Erotikhotline"
    eingeben, aber wir haben uns auf "ab123" geeinigt wenn keine korrekten
    Angaben vorhanden sind...
     
    Hubert111, 9. Dezember 2019
    #15
Thema:

leeres Textfeld prüfen

Die Seite wird geladen...
  1. leeres Textfeld prüfen - Similar Threads - leeres Textfeld prüfen

  2. Textfeld automatisch füllen,wenn leer!!!

    in Microsoft Excel Hilfe
    Textfeld automatisch füllen,wenn leer!!!: Hallo Leute ich hab ein kleines Problem!!! Es ist nur ein kleines Problem was mir Kopfschmerzen bereitet und zwar hab ich das Textfeld "Präsente" ,"im Formular "AP1-More". Dieses Textfeld hat...
  3. Bericht: Textfeld ausblenden, wenn anderes Tetfled leer

    in Microsoft Access Hilfe
    Bericht: Textfeld ausblenden, wenn anderes Tetfled leer: Hallo, ich habe in meinem Bericht eine Tabelle. 3 Spalten: Textfeld / Textfeld mit Haken / Textfeld Jetzt möchte ich, wenn kein Haken drin ist, dass alle 3 Felder ausgeblendet werden im...
  4. ungebundes TextFeld leeren

    in Microsoft Access Hilfe
    ungebundes TextFeld leeren: Hallo @ all, ich möchte wenn ein User auf einen Button *neu* klickt, dass alle Textfelder, welche sich auf einer Page befinden und mit mTxt* beginnen, geleert werden. Hierzu habe ich die Funktion...
  5. Wenn Textfeld leer, dann 0 in Tabelle schreiben

    in Microsoft Access Hilfe
    Wenn Textfeld leer, dann 0 in Tabelle schreiben: Guten Tag, ich habe folgenden Code: CurrentDb.Execute "INSERT INTO Suche (Posten1,Posten2,Posten3) VALUES (" & [Eingabe1] & ", " & [Eingabe2] & ", " & [Eingabe3] & ")" Also drei Textfelder,...
  6. Abfrage Textfeld leer

    in Microsoft Access Hilfe
    Abfrage Textfeld leer: Hallo liebe Access-Gemeinde In einer Ereignisprozedur soll eine Meldung erstellt, falls im TEXT-Feld "Notizen1" in der Abfrage "NotizenAbfrage" etwas drin steht. Mein Code ist: Private Sub...
  7. Bezeichungsfeld nur anzeigen, wenn Textfeld nicht leer

    in Microsoft Access Hilfe
    Bezeichungsfeld nur anzeigen, wenn Textfeld nicht leer: Hallo, habe in meinem Bericht ein Feld, das nicht für jeden Kunden gefüllt ist. Ist das der Fall, soll natürlich auch das Bezeichungsfeld nichtangezeigt werden. Habe das folgendermaßen versucht:...
  8. Textfelder sind leer!

    in Microsoft Excel Hilfe
    Textfelder sind leer!: Hallo, ich habe mein Excel-Warenbuch auf Diskette kopiert. Die ursprüngliche Datei ist leider endgültig gelöscht. Auf der Diskette sind nun die Einträge in der Spalte Kunden nicht mehr...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden