2017-03-02 3 views
0

Ich habe Bänder für jedes Elternformular angepasst. Ich muss das Unterformular-Ribbon so einstellen, dass es mit dem Elternformular identisch ist.Zugriff Eltern und Unterformular offene Sequenz

Ich initiieren Multifunktionsleiste auf jedem Formular und Unterformular in "Form_Load" Routine. Die übergeordnete Formularleiste wird für verschiedene Benutzer unterschiedlich sein. Ich kann es nicht hart auf Formulareigenschaft codieren. Im Unterformular verwende ich Me.Parent.Form.RibbonName, um den Namen des übergeordneten Formulars zu erhalten.

Me.Parent.Form.RibbonName kann den übergeordneten Formularnamen zurückgeben. Aber das Unterformular "Form_Load" wird ausgelöst, bevor das übergeordnete Formular "Form_Load" ausgelöst wird. Me.Parent.Form.RibbonName gibt Nullwert zurück.

Kann die Ladesequenz zwischen Elternformular und Unterformularen gesteuert werden? Übergeordnetes Formular muss geladen werden, bevor Unterformulare geladen werden.

Danke.

+1

Sie können Mutter Natur nicht ändern :) Da Sie die Reihenfolge der Ereignisse kennen, können Sie nicht einfach Code in das Load-Ereignis des Elternformulars einfügen, um das Unterformularband zu ändern? –

Antwort

0

Ja, Sie können. Setzen Sie die Steuerelementsteuerquelle für die Unterformularhalter auf "". Legen Sie dann im Onload- oder bei einem anderen Ereignis des übergeordneten Formulars das Unterformularsteuerelement auf Ihr Unterformular fest.

Me.subFormHolder.SourceObject = "subfrmYourSubformName" 
0

Die Sequenz ist dreifach:

  1. Subform Lasten
  2. Haupt Form Lasten
  3. Subrom Lasten

So im Unterformular haben Code, der einen Code deaktiviert, wenn anfangs geöffnet. Setze eine Flagge. Wenn Sie das nächste Mal geöffnet werden, führen Sie Ihren Code aus und/oder setzen Sie Ihre Variablen.

Verwandte Themen