2016-04-27 8 views
0

私は2つのフォームから別のフォームにアクセスできます。私は選択したレコードをクリックすることでそれを行うことができます。私がしたいのは、最初のフォームがすでに開かれている別のレコードで、ユーザーが2番目のフォームを開くのを防ぐことです。アクセス - 2番目のフォームを別のレコードで開くのを防ぐ

私はコードを使用する必要があるイベントに
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を確認してフォームを閉じますが、これは完全ではありません。

関連する問題