Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: harko38 am Juli 23, 2019, 18:15:34

Titel: Etwas komplexere Datenüberprüfung
Beitrag von: harko38 am Juli 23, 2019, 18:15:34
Hallo Community

Ich stehe wieder mal vor einem Problem.

Ich habe eine Datenbank bestehend aus mehreren verknüpften Tabellen und einem Formular mit Unterformularen zur Dateneingabe.
Die Dateneingabe erfolgt durch mehrere Benutzer zu unterschiedlichen Zeiten. Also der Datensatz wird von einem Benutzer "angelegt" und von anderen weiter befüllt. Sind dann alle Daten erfasst wird in einem Datumsfeld ich nenne es mal "Enddatum" ein Datum eingetragen und danach wird dieser Datensatz bei der Suche nicht mehr angezeigt. Soweit funktioniert das ganz gut.

Ich hätte aber gern, dass nach Eingabe des "Enddatums" überprüft wird ob in bestimmten Feldern im Unterformular Daten eingetragen sind. Es soll nur eine "Erinnerungsmeldung" erstellt werden, da es gut möglich ist dass in den zu überprüfenden Feldern auch keine Daten erforderlich sind. (Aber es wird halt von den Benutzern gerne vergessen zu kontrollieren)

mfg
Titel: Re: Etwas komplexere Datenüberprüfung
Beitrag von: DF6GL am Juli 24, 2019, 13:17:54
Hallo,

hierzu ist das BeforeUpdate-Ereignis des "Enddatum"-Feldes am besten geeignet.
Ich unterstelle, dass sich das Feld "Enddatum" im Hauptformular befindet.

Dann ist dies http://www.donkarl.com?FAQ4.2  prinzipiell zu beachten.

In etwa sieht das Ganze so aus (Luftcode):


Sub Enddatum_Beforeupdate(Cancel as Integer)

If Isnull (Me!UFO_Steuerelementname1!FeldSoWieSo1)  Then
   If Msgbox ("FeldSoWieSo1 ist leer! Ignorieren?", vbCritcal & vbYesNo) = vbNo Then
       Cancel =true
   End If
End If

If Isnull (Me!UFO_Steuerelementname1!FeldSoWieSo2)  Then
   If Msgbox ("FeldSoWieSo2 ist leer! Ignorieren?", vbCritcal & vbYesNo) = vbNo Then
       Cancel =true
   End If
End If

If Isnull (Me!UFO_Steuerelementname2!FeldSoWieSoXY)  Then
   If Msgbox ("FeldSoWieSoXY ist leer! Ignorieren?", vbCritcal & vbYesNo) = vbNo Then
       Cancel =true
   End If
End If

If Isnull (Me!UFO_Steuerelementname2!FeldSoWieSoZA)  Then
   If Msgbox ("FeldSoWieSoZA ist leer! Ignorieren?", vbCritcal & vbYesNo) = vbNo Then
       Cancel =true
   End If
End If

'
'
'


End Sub