Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
154
Добавлен:
01.03.2016
Размер:
28.16 Кб
Скачать

Main Form

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 ToggleLink_Click()

On Error GoTo ToggleLink_Click_Err

If ChildFormIsOpen() Then

CloseChildForm

Else

OpenChildForm

FilterChildForm

End If

ToggleLink_Click_Exit:

Exit Sub

ToggleLink_Click_Err:

MsgBox Error$

Resume ToggleLink_Click_Exit

End Sub

Private Sub FilterChildForm()

If Me.NewRecord Then

Forms![Child Form].DataEntry = True

Else

Forms![Child Form].Filter = "[Field1] = " & Me.[Control1]

Forms![ Child Form].FilterOn = True

End If

End Sub

Private Sub OpenChildForm()

DoCmd.OpenForm "Child Form"

If Not Me.[ToggleLink] Then Me![ToggleLink] = True

End Sub

Private Sub CloseChildForm()

DoCmd.Close acForm, "Child Form"

If Me![ToggleLink] Then Me![ToggleLink] = False

End Sub

Private Function ChildFormIsOpen()

ChildFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, "Child Form") And acObjStateOpen) <> False

End Function

Private Sub OpenChildFormButton_Click()

On Error GoTo Err_OpenChildFormButton_Click

Screen.PreviousControl.SetFocus

DoCmd.FindNext

Exit_OpenChildFormButton_Click:

Exit Sub

Err_OpenChildFormButton_Click:

MsgBox Err.Description

Resume Exit_OpenChildFormButton_Click

End Sub

Child form

Sub Form_Load()

On Error GoTo Form_Load_Err

If ParentFormIsOpen() Then Forms![Main Form]!ToggleLink = 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![Main Form]!ToggleLink = False

Form_Unload_Exit:

Exit Sub

Form_Unload_Err:

MsgBox Error$

Resume Form_Unload_Exit

End Sub

Private Function ParentFormIsOpen()

ParentFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, "Main Form") And acObjStateOpen) <> False

End Function