Hallo,
ich bastel an einem Formular, welches eigentlich Unterformulare enthält. Da diese (Unterformulare) die Übersichtlichkeit nehmen, möchte ich über ein Button die Funktionen händeln. Somit soll vom HF auf das jeweilige UF (normale Formulare) zugegriffen werden, d.h. die ID des HF soll automatisch verknüpft im UF erscheinen. Ich habe folgende Codes für das HF und UF verfasst und es kommt die Fehlermeldung: "Objekt unterstützt diese Eigenschaft oder Methode nicht" Wer kann helfen?
Hauptformular
Option Compare Database
Option Explicit
Sub Form_Current()
On Error GoTo Form_Current_Err
If ChildFormIsOpen() Then FilterChildForm
Form_Current_Exit:
Exit Sub
Form_Current_Err:
MsgBox Error$
Resume Form_Current_Exit
End Sub
Sub Modulprüfung_Click()
On Error GoTo Modulprüfung_Click_Err
If ChildFormIsOpen() Then
CloseChildForm
Else
OpenChildForm
FilterChildForm
End If
Modulprüfung_Click_Exit:
Exit Sub
Modulprüfung_Click_Err:
MsgBox Error$
Resume Modulprüfung_Click_Exit
End Sub
Private Sub FilterChildForm()
If Me.NewRecord Then
Forms![Form_Modulprüfung].DataEntry = True
Else
Forms![Form_Modulprüfung].Filter = "[ModulID] = " & Me.[ModulID]
Forms![Form_Modulprüfung].FilterOn = True
End If
End Sub
Private Sub OpenChildForm()
DoCmd.OpenForm "Form_Modulprüfung"
If Not Me.[Modulprüfung] Then Me![Modulprüfung] = True
End Sub
Private Sub CloseChildForm()
DoCmd.Close acForm, "Form_Modulprüfung"
If Me![Modulprüfung] Then Me![Modulprüfung] = False
End Sub
Private Function ChildFormIsOpen()
ChildFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, "Form_Modulprüfung") And acObjStateOpen) <> False
End Function
Unterformular
Option Compare Database
Option Explicit
Sub Form_Load()
On Error GoTo Form_Load_Err
If ParentFormIsOpen() Then Forms![Form_Module]!Modulprüfung = True
Form_Load_Exit:
Exit Sub
Form_Load_Err:
MsgBox Error$
Resume Form_Load_Exit
End Sub
Sub Form_Unload(Cancel As Integer)
On Error GoTo Form_Unload_Err
If ParentFormIsOpen() Then Forms![Form_Module]!Modulprüfung = False
Form_Unload_Exit:
Exit Sub
Form_Unload_Err:
MsgBox Error$
Resume Form_Unload_Exit
End Sub
Private Function ParentFormIsOpen()
ParentFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, "Form_Module") And acObjStateOpen) <> False
End Function
|