2016-04-27 16 views
0

我有一個表單,我可以訪問2另一種形式。我可以通過點擊進入選定的記錄。我想要做的是阻止用戶打開第一個表單已打開的任何不同記錄中的第二個表單。到目前爲止,我已經嘗試過這一點(在第1形式的當前事件 - 讓我把它叫做主要形式):訪問 - 防止第二種形式在不同的記錄中打開

If CurrentProject.AllForms("MySecondForm").IsLoaded And CurrentProject.AllForms("MyThirdForm").IsLoaded Then 
    If Forms![MySecondForm].Form![ID] = Forms![MyThirdForm].Form![ID] Then 
     'do nothing 

    Else 

    ... 

    MsgBox "Error. You cannot open both forms in different records !" 

    End If 

End If 

哪個事件,我需要使用代碼的任何想法,以及如何預防呢?

回答

0

解決了,這裏是我必須做的:

If Not CurrentProject.AllForms("MySecondForm").IsLoaded Then 

     DoCmd.OpenForm "MyThirdForm", , , "ID=" & Forms![MainForm].Form![ID] 

    ElseIf CurrentProject.AllForms("MySecondForm").IsLoaded Then 

     DoCmd.OpenForm "MyThirdForm", , , "ID=" & Forms![MainForm].Form![ID] 

     If Forms![MyThirdForm].Form![ID] = Forms![MySecondForm].Form![ID] Then 

       'Do nothing 

     Else 

     MsgBox "Error. You cannot open both forms in different records !", vbCritical 
       DoCmd.Close acForm, "MyThirdform" 
       Exit Sub 

     End If 

    End If 

如果有人有解決方案,以防止開放的形式,請發表。這個解決方案打開窗體,檢查記錄ID,然後關閉窗體,這並不完美。

相關問題