Access-VBA: Das Aktualisieren von berechneten Steuerelementen in Formularen per Marke erledigen

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.

Das Aktualisieren von berechneten Steuerelementen per Marke regeln

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:

  1. Vergeben eines eigenen Namens für jedes der Steuerelemente, um den VBA-Code leserlich zu halten
  2. 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

  1. Die zu aktualisierenden Steuerelemente werden per Mehrfachauswahl gemeinsam markiert (1).
  2. 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.

Per Mehrfachauswahl für alle betreffenden Steuerelemente die Eigenschaft "Marke" setzen

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.

Alle markierten Steuerelemente werden in einem Schleifendurchlauf aktualisiert

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!

Dieser Beitrag wurde unter VBA abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Eine Antwort auf Access-VBA: Das Aktualisieren von berechneten Steuerelementen in Formularen per Marke erledigen

Schreibe einen Kommentar zu Tim Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert