BEISPIEL
BEISPIEL
BEISPIEL
Kapitel 2: Programmieren mit VBA
Bemerkungen
Da jede Parameterübergabe standardmäßig als Referenz erfolgt, wird das Schlüsselwort ByRef im Allge-
meinen weggelassen.
Eine ByVal-Parameterübergabe ist beim Aufruf von API-Funktionen unumgänglich (siehe dazu auch
Kapitel 13).
Optionale Argumente
Normalerweise darf beim Aufruf von Funktionen/Prozeduren keines der Argumente weggelassen werden.
Unter Verwendung optionaler Argumente kann man diese »eiserne« Regel durchbrechen. Falls ein mit
Optional deklarierter Parameter fehlt, wird automatisch der Standardwert genommen. Anwendungen
finden sich vor allem bei Funktionen/Prozeduren mit langer Parameterliste.
Viele Methoden des
DoCmd
-Objekts verwenden optionale Argumente. Die Methode
OpenForm
verwendet
z.B. sieben Argumente:
DoCmd.OpenForm Formularname [, Ansicht] [, Filtername] [, Bedingung] [, Datenmodus] [, Fenstermodus]
[, Öffnungsargumente]
Für den Aufruf genügt das erste Argument, die restlichen werden auf die Standardwerte gesetzt, z.B.:
DoCmd.OpenForm "Formular1"
Eine nutzerdefinierte Funktion zur Berechnung des Gewichts eines Quaders mit drei optionalen Parametern,
die alle auf den Standardwert
1
gesetzt sind (Parameter und Rückgabewert sind vom Datentyp
Single
).
Private Function gewQ!(B!, Optional H! = 1, Optional T! = 1, Optional spezG! = 1)
gewQ = B * H * T * spezG
End Function
Wie Sie der Deklaration entnehmen, muss lediglich die Breite (B) übergeben werden, die übrigen Parame-
ter sind optional!
Verschiedene Aufrufkonventionen für obige Funktion.
Dim g!
g = gewQ(5, 1, 2, 3) ' liefert 30
g = gewQ(5, , , 3) ' liefert 15
g = gewQ(5) ' liefert 5
Wie Sie sehen, müssen »ausgelassene« optionale Parameter mit Leerzeichen besetzt werden, falls dahinter
noch ein weiterer Parameter folgt.
116

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.