2016-04-27 9 views
0

Ich habe ein Formular, aus dem ich 2 weitere Formulare zugreifen kann. Ich kann das tun, indem ich auf den ausgewählten Datensatz klicke. Was ich tun möchte, ist zu verhindern, dass Benutzer das zweite Formular in irgendeinem anderen Datensatz öffnet, das das erste Formular bereits geöffnet hat. Bisher habe ich versucht, dies (in Aktuelles der ersten Form - lassen Sie mich es Haupt Form nennen):Zugriff - verhindern, dass das zweite Formular in einem anderen Datensatz geöffnet wird

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 

Irgendwelche Ideen auf, welches Ereignis ich brauche Code zu verwenden, und wie diese zu verhindern?

Antwort

0

gelöst, hier ist das, was ich zu tun hatte:

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 

Wenn jemand hat Lösung, die Öffnung Form verhindern würde, bitte posten. Diese Lösung öffnet das Formular, prüft die Datensatz-IDs und schließt dann das Formular, was nicht gerade perfekt ist.

Verwandte Themen