Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Textfeldeingabe während der Eingabe überprüfen ohne "onExit"

Begonnen von TomH, Januar 07, 2020, 19:58:06

⏪ vorheriges - nächstes ⏩

TomH

Hallo Leute,
gibt es folgende Lösung für mein Problem?

ich habe ein Textfeld. Es soll bei größer "" einen Button sichtbar machen. Es funktioniert bei "onExit". Soweit so gut. Aber ich möchte, das wenn etwas im Textfeld drin steht und ich Zeichen für Zeichen lösche, erkannt wird, das irgendwann das Feld leer ist und der Button wieder Visible=False ist, ohne das ich den Cursor aus dem Feld nehme.

Ich habe alles mögliche versucht. Aber keine Reaktion.

Danke wenn ihr einen Ansatz oder Lösung habt.
Aber vielleicht geht das in Access auch gar nicht.
In Delphi klappt es .

PS: Ich hoffe es ist zu verstehen was ich möchte

MzKlMu

#1
Hallo,
ZitatEs soll bei größer ""
Das gibt es nicht. Ein leeres Feld ist nicht "" sondern NULL (nicht die Zahl 0).
Es muss also auf NULL geprüft werden.

onExit ist auch nicht das richtige Ereignis.

ZitatIch habe alles mögliche versucht.
Zeige Deine Versuche.
onExit ist auch nicht das richtige Ereignis.


Gruß Klaus

TomH

Hallo, hier mal der Code:

    speichern.Visible = False
    Befehl_FaecherHinzufuegen.Enabled = False
   
  If IsNull(Me!Text_Vorname) Or IsNull(Me!Text_Nachname) Or IsNull(Me!Dozenten_Nummer) Then
    speichern.Visible = False
    Befehl_FaecherHinzufuegen.Enabled = False
   
  Else
    speichern.Visible = True
    Befehl_FaecherHinzufuegen.Enabled = True
   
  End If


Danke erstmal :)

markusxy

Zitat von: TomH am Januar 07, 2020, 19:58:06
Aber ich möchte, das wenn etwas im Textfeld drin steht und ich Zeichen für Zeichen lösche, erkannt wird, das irgendwann das Feld leer ist und der Button wieder Visible=False ist, ohne das ich den Cursor aus dem Feld nehme.

Das ist grundsätzlich kein Problem.
Beschäftige dich mit folgenden Events:

Change
KeyDown/KeyUp
KeyPress


Verwende die Text Eigenschaft der Textbox in der du aktive Werte änderst und nicht Value für die Prüfung.

TomH

ZitatChange
KeyDown/KeyUp
KeyPress

Das habe und hatte ich komplett in alles ausprobiert.

MzKlMu

Hallo,
versuche es so:
Private Sub Text_Vorname_Change()
    Me.Speichern.Visible = Len(Me.Text_Vorname.Text) > 0
End Sub

Für jedes Feld das Du prüfen willst.
Statt 0 kannst Du auch eine größere, sinnvolle Zahl nehmen.
Gruß Klaus

TomH


markusxy

Zitat von: TomH am Januar 07, 2020, 20:55:07
ZitatChange
KeyDown/KeyUp
KeyPress

Das habe und hatte ich komplett in alles ausprobiert.

Ja, manchmal genügt das "Probieren" nicht.
Achte darauf, dass du die Prüfung auf die Text Property nur bei dem Control mit dem aktiven Focus verwenden kannst.
Wenn du das kombinieren willst, musst du die restlichen Felder auf Null prüfen.