Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: peX am September 09, 2016, 10:02:42

Titel: Function die Feld überprüft
Beitrag von: peX am September 09, 2016, 10:02:42
Hallo Accessler,

ich habe ein Formular in dem zwei Felder sind in denen jeweils ein Datum eintragen werden muss (von - bis). In meiner DB sind viele Abfragen enthalten die genau diese Infos benötigen und ich rufe jedesmal die komplette Überprüfung ob die Felder gefüllt sind auf (s.u.).

Ich würde gerne immer nur eine Funktion aufrufen, allerdings weiß ich nicht wie und wo ich das einbinden muss. Könnt Ihr mit da weiterhelfen?


Private Sub Reprot1_Click()
If Nz(Forms!Navigation!Datum_von) = 0 And Nz(Forms!Navigation!Datum_bis) = 0 Then
    MsgBox "Datum von und Datum bis fehlt"
    Forms!Navigation!Datum_von.SetFocus
ElseIf Nz(Forms!Navigation!Datum_von) = 0 Then
    MsgBox "Datum von fehlt"
    Forms!Navigation!Datum_von.SetFocus
ElseIf Nz(Forms!Navigation!Datum_bis) = 0 Then
    MsgBox "Datum bis fehlt"
    Forms!Navigation!Datum_bis.SetFocus
Else
    Call SQL_Report1
End If
End Sub


Danke und Grüße
peX
Titel: Re: Function die Feld überprüft
Beitrag von: DF6GL am September 09, 2016, 18:01:13
Hallo,


etwa so:

in einem Standardmodul:

Option Compare Database
Option Explicit

Public Function fktCheckDates()    Sub Reprot1_Click()
If Nz(Forms!Navigation!Datum_von,0) = 0 And Nz(Forms!Navigation!Datum_bis,0) = 0 Then
    MsgBox "Datum von und Datum bis fehlt"
    Forms!Navigation!Datum_von.SetFocus
ElseIf Nz(Forms!Navigation!Datum_von,0) = 0 Then
    MsgBox "Datum von fehlt"
    Forms!Navigation!Datum_von.SetFocus
ElseIf Nz(Forms!Navigation!Datum_bis,0) = 0 Then
    MsgBox "Datum bis fehlt"
    Forms!Navigation!Datum_bis.SetFocus
Else
    Call SQL_Report1
End If
End Function


in der/den Ereignisprozedur/en:

Private Sub Reprot1_Click()
fktCheckDates
End Sub


Die Prozedur "SQL_Report1"  muss sich auch in einem Standardmodul als Public deklariert befinden.