<strong>Hauptformular</strong>
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
<strong>Unterformular</strong>
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