Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: SG05 am April 01, 2016, 17:01:17

Titel: Pause bei If....
Beitrag von: SG05 am April 01, 2016, 17:01:17
Hallo zusammen,

folgender Sachverhalt:

Ich benutze ein Hfo und zwei Ufo.
Bei Auswahl eines Datensatze in Ufo1 wird Ufo2 sichtbar.
In Ufo2 ist ein Feld mit einen Datum.
Nun möchte ich im Hfo einen Button anzeigen lassen, wenn ein Datumsfeld im Ufo2 gefüllt ist.

Code in Ufo1:
If Forms!Hfo!Ufo2!Datumsfeld <>"" then
Me!ButtonHfo.Visible=True
EndIf

Leider wurden die Daten in Ufo2 nicht schnell "geladen", denn bei zweimal klicken klappt es.

Welche "Pause" muss ich verwenden?

Danke für Eure Unterstützung
Titel: Re: Pause bei If....
Beitrag von: MzKlMu am April 01, 2016, 17:10:13
Hallo,
ein Datumsfeld kann niemals "" (Leerstring) sein. Das Feld hat entweder ein Datum oder ist leer. Und leer entspricht NULL. Du musst also das Feld auf NULL prüfen.
If Not IsNull(Forms!Hfo!Ufo2!Datumsfeld) Then
    Me!ButtonHfo.Visible=True
EndIf



Titel: Re: Pause bei If....
Beitrag von: SG05 am April 01, 2016, 17:48:26
Danke für den Hinweis, habe ich korrigiert.

Aber das "Laden" des Ufo2 dauert länger, als die If-Abfrage.
Somit wird das Datumfeld beim "ersten klicken" als Null erkannt.
Wenn ich ein zweites mal auf den selben Datensatz klicke, klappe der Code.
Titel: Re: Pause bei If....
Beitrag von: DF6GL am April 01, 2016, 18:04:07
Hallo,

ZitatNun möchte ich im Hfo einen Button anzeigen lassen, wenn ein Datumsfeld im Ufo2 gefüllt ist.

bei einem UFO-Endlosform wäre ich da eher vorsichtig...


Bei einem (und in dem) Einzelform sollte sowas den Zweck erfüllen:

Code in Ufo2:


Sub Form_Current()
If not Isnull (Me!Datumsfeld) then
Me.Parent!ButtonHFO.Visible=True
End If
End Sub

Titel: Re: Pause bei If....
Beitrag von: SG05 am April 01, 2016, 21:04:02
Danke, das war die Lösung ( Einzelform).