Access-VBA: Das Aktualisieren von berechneten Steuerelementen in Formularen per Marke erledigen
04.08.2012
Kürzlich stand ich in einem Kundenprojekt vor folgender Frage:
Wie kann ich in einem ungebundenen Access-Formular berechnete Steuerelemente bei Eintreten eines Ereignisses mit minimalem Aufwand aktualisieren?
Das Problem: In ungebundenen Formularen lässt sich das Neuberechnen der Steuerelemente nicht über die Formularaktualisierung steuern. Für jedes berechnete Steuerelement muss eine eigene REQUERY-Anweisung erfolgen.
Das kann allerdings recht mühsam und zeitraubend sein, wenn wie in Bild 1 das Formular eine ganze Reihe von berechneten Steuerelementen besitzt.
Bild 1: Ungebundenes Formular mit zahlreichen berechneten Steuerelementen
Wenn im obigen Beispiel alle berechneten Steuerelemente nach Aktualisierung des Kombinationsfeldes Fiscal Year aktualisiert werden sollen, wären folgende Schritte nötig:
- Vergeben eines eigenen Namens für jedes der Steuerelemente, um den VBA-Code leserlich zu halten
- Erstellen einer REQUERY-Anweisung für jedes der Steuerelemente
Mit einem kleinen Trick lässt sich diese zeitraubende Arbeit viel schneller erledigen.
Zu aktualisierende Steuerelemente mit der Eigenschaft Marke kennzeichnen
- Die zu aktualisierenden Steuerelemente werden per Mehrfachauswahl gemeinsam markiert (1).
- Anschließend wird das Eigenschaftenfenster aufgerufen und im Register Andere (2) die Eigenschaft Marke mit Act (3) belegt. Act ist dabei ein beliebig gewählter Text.
Bild 2: Eigenschaft Marke in einem Schritt für alle betreffenden Steuerelemente setzen
Per Schleife die REQUERY-Anweisung für alle betreffenden Steuerelemente durchführen
Nach Aktualisieren des Kombinationsfeldes Fiscal Year werden – wie in Bild 3 gezeigt – in einem Schleifendurchlauf alle Steuerelemente (Controls) daraufhin überprüft, ob sie die Marke (Tag) Act besitzen. Falls ja, wird die REQUERY-Anweisung ausgeführt und damit eine Neuberechnung des Steuerelementes erreicht.
Bild 3: Alle markierten Steuerelemente in einem Schleifendurchlauf neuberechnen
Kommen später weitere berechnete Steuerelemente hinzu, muss bei diesen nur die Eigenschaft Marke auf Act gesetzt und die Programmierung nicht erweitert werden.
EINFACH und ÜBERSICHTLICH!
Ähnliche Beiträge
-
Excel-VBA: Zahlen in chemischen Formeln tiefstellen per Makro (Teil 2)
Manchmal genügt es nicht, nur in der aktiven Zelle die Zahlen tiefzustellen wie im Beitrag "Per Makro chemische Formeln leichter erfassen (Teil 1)" gezeigt. Bei mehreren chemischen Formeln in einem...
-
Excel-VBA: Per Makro alle Zeilen und Spalten in einem Arbeitsblatt zuverlässig einblenden
Wie lassen sich alle Zeilen und Spalten zuverlässig und mit möglichst wenig Aufwand einblenden? So lautete kürzlich die Frage in einem meiner Excel-Seminare. Vor allem wenn mehrere Anwender an umfangreichen Excel-Tabellen...
-
Access VBA: Fehlermeldung beim Umstellen auf Access 2010 beheben
Neulich berichtete eine Kursteilnehmerin, dass ihre alte Access-Datenbank beim Öffnen stets mehrere Fehlermeldungen anzeigt. Und zwar erscheinen die Meldungen, seitdem ihr Computer auf Office 2010 umgestellt wurde. Bild 1: Dies ist...