Funktionen wie Sub-Prozeduren aufrufen (Access 97, 2000)
Veröffentlicht am 30.12.2003
Oft wird anstelle einer Sub-Prozedur eine Function-Prozedur eingesetzt, damit die Prozedur auch außerhalb von VBA aufgerufen werden kann. Das Ergebnis solcher Funktionen ist in der Regel unwichtig.
Bei der Nutzung solcher Prozeduren von VBA aus rufen Sie die Function-Prozedur einfach wie eine Sub-Prozedur auf und ignorieren damit den Rückgabewert.
Ein gutes Beispiel hierfür ist die in Access eingebaute MsgBox-Funktion, die ein Meldungsfenster auf den Bildschirm bringt. Der Rückgabewert der Funktion gibt an, mit welcher Schaltfläche (z.B. OK oder Abbrechen) das Meldungsfenster vom Benutzer bestätigt wurde.
Wenn die Meldung ausschließlich mit einer einzelnen OK-Schaltfläche angezeigt wird, ist der Rückgabewert der MsgBox-Funktion uninteressant. Schließlich gibt es abgesehen von dieser Schaltfläche keine andere Möglichkeit, das Dialogfenster zu bestätigen
Ältere Access-Versionen haben zu diesem Zweck eine spezielle Anweisung zur Verfügung gestellt, die ebenfalls den Namen MsgBox trug. Da sich ab Access 7.0 allerdings alle Funktionen genauso wie Anweisungen aufrufen lassen, ist die MsgBox-Anweisung nun überflüssig. Die beiden folgenden Programmfragmente sind vom Ergebnis her vollkommen identisch. Im zweiten Beispiel wird das Ergebnis der Funktion allerdings ignoriert. Beachten Sie bei der zweiten Variante, dass Sie die Argumente nicht einklammern dürfen.
Dim Ergebnis As Variant
Ergebnis = MsgBox("Dies ist ein Test")
MsgBox "Dies ist ein Test"
Natürlich können Sie auch Ihre selbsterstellten Funktionen wie Sub-Prozeduren aufrufen. Die Vorgehensweise ist hierbei mit dem obigen Beispiel identisch.