Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: TomH am Januar 07, 2020, 19:58:06

Titel: Textfeldeingabe während der Eingabe überprüfen ohne "onExit"
Beitrag von: TomH am Januar 07, 2020, 19:58:06
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
Titel: Re: Textfeldeingabe während der Eingabe überprüfen ohne "onExit"
Beitrag von: MzKlMu am Januar 07, 2020, 20:17:22
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.


Titel: Re: Textfeldeingabe während der Eingabe überprüfen ohne "onExit"
Beitrag von: TomH am Januar 07, 2020, 20:45:10
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 :)
Titel: Re: Textfeldeingabe während der Eingabe überprüfen ohne "onExit"
Beitrag von: markusxy am Januar 07, 2020, 20:45:35
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.
Titel: Re: Textfeldeingabe während der Eingabe überprüfen ohne "onExit"
Beitrag von: TomH am Januar 07, 2020, 20:55:07
ZitatChange
KeyDown/KeyUp
KeyPress

Das habe und hatte ich komplett in alles ausprobiert.
Titel: Re: Textfeldeingabe während der Eingabe überprüfen ohne "onExit"
Beitrag von: MzKlMu am Januar 07, 2020, 20:55:51
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.
Titel: Re: Textfeldeingabe während der Eingabe überprüfen ohne "onExit"
Beitrag von: TomH am Januar 07, 2020, 21:02:02
PERFEKT !!!

ich danke dir  ;D
Titel: Re: Textfeldeingabe während der Eingabe überprüfen ohne "onExit"
Beitrag von: markusxy am Januar 07, 2020, 21:25:40
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.