2017-08-10 3 views
1

Ich habe eine Access 2010-Datenbank eingerichtet, die die native Navigation Form-Schnittstellenfunktion verwendet.Verwenden des AfterUpdate-Ereignisses für ein Steuerelement in einem Unterformular, um ein Steuerelement in einem anderen Unterformular erneut abzufragen

Mit this very helpful table konnte ich vba bei mehreren Gelegenheiten verwenden, um Formulare in meiner gesamten Datenbank zu referenzieren. Jedoch scheint ich Schwierigkeiten in diesem einen Fall zu haben.

Auf dem Navigationsformular Ich habe eine Reihe von Hauptregisterkarten. Wenn Sie auf eine der Hauptregisterkarten klicken, werden mehrere Unterregisterkarten angezeigt, an die verschiedene Formulare angehängt sind.

Auf einer dieser Unterregisterkarten habe ich ein Hauptformular (Haupt) angeschlossen. Es gibt ein Unterformular (Unterformular1) innerhalb dieses Hauptformulars, das ein Steuerfeld enthält (control1). Innerhalb Subform1 gibt es eine andere Form (Subform2) ein ungebundenes Textfeld (control2) Anzeigen eines Wertes enthält, der eine TempVar berechnet wird.

Ich möchte auf control1 die NachAktualisierung Ereignis verwenden-requerySubform2, um die Berechnung in control2 oder einfach requerycontrol2 zu aktualisieren.

Mit Refresh und/oder AktualisierenDaten auf dem NachAktualisierung Ereignis für control1 nichts zu control2 macht.

Zur Zeit habe ich einen Knopf auf Subform2 dass Benutzer klicken, die die Form aktualisiert und aktualisiert den Wert in control2. Der Benutzer kann auch F5 und aktualisieren alle Formulare mit dem gleichen Ergebnis.

Mein Ziel ist es, den manuellen Aspekt und hat das NachAktualisierung Ereignis für control1control2 zu aktualisieren wegzunehmen.

Jede Hilfe würde sehr geschätzt werden, da ich nichts online finden konnte, das funktioniert, und ich habe Reifen für das Problem seit über einem Monat getreten.

**** UPDATE **** Ich habe das Layout meiner Formulare nicht korrekt beschrieben. subform1 und subform2 sind tatsächlich beide verschachtelt unter Haupt. subform2 ist NICHT verschachtelt unter subform1 wie ich ursprünglich oben beschrieben.

+2

Wie ich das Navigationsformular verstehe, ist nur ein Teilformular aktiv und gleichzeitig verfügbar. Überprüfen Sie diese Diskussion http://www.accessforums.net/showthread.php?t=32053. Ich verwende stattdessen ein Tab-Steuerelement. – June7

+1

Ich stimme zu, dass ein Tab-Steuerelement der Weg ist, hier zu gehen. Wenn Sie dies wegen der geringeren Leistung vermeiden, lesen Sie [this thread] (https://www.pcreview.co.uk/threads/increasing-speed-load-subforms-on-tabs-only-when-tab-clicked). 1149237 /). Wenn Leistung kein Problem ist, ist ein Tab-Steuerelement nur flexibler. –

+0

Danke an beide für die schnellen Antworten. Ich habe den von Ihnen angegebenen Link untersucht und einige Vorschläge vergeblich versucht. RE: Tab-Control, leider bin ich sehr weit in das Projekt hinein und möchte nicht alles in eine Tab-Control-Oberfläche migrieren müssen. Ich müsste alles nochmal testen. Dieses spezielle Problem ist es einfach nicht wert ... Ich mag auch das Aussehen des Navigationsformulars. Sollte jemand etwas hinzufügen, tun Sie dies bitte. Ich werde für ein paar Tage weg sein, so dass meine Nicht-Antwort nicht auf irgendjemandes Input hinweist. Ich werde Junys Link weiter nach meiner Rückkehr erkunden. –

Antwort

0

Wow. Jetzt fühle ich mich wie ein Idiot. Mit dem Update, das ich oben zur Verfügung gestellt hatte, konnte ich das Problem wieder lösen.

Alles, was ich war requery Subform2 tun musste, um es auf diese Weise Referenzierung:!.!.

[Formulare] [HOME] [NavigationSubform] [Form] [Subform2] [Form] .Requery

Wo "HOME" ist der Name meiner Navigationsform.

Für alle mit dem gleichen Problem, das ihr Navigation Formular nicht umbenannt ich glaube, die Syntax wäre:

[Formulare] [Navigation Form] [NavigationSubform] [Form] [Subform2]!.!. [Formular] .Rückfrage

Vielen Dank an @Erik von Asmuth und @ June7 für Ihre Geduld und Hilfe.

Verwandte Themen