Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.

News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Standardwerte für Funktionsparameter festlegen

Access 365 2021 2019 2016 2013 2010

FRAGE Ich verwende eine Funktion, die bis zu 10 Parameter akzeptiert, von denen aber in den meisten Fällen nur die ersten zwei oder drei Parameter verwendet werden. Für die übrigen Parameter sollen Vorgabewerte verwendet werden. Gibt es eine Möglichkeit, automatisch Vorgabewerte für Parameter zuzuordnen? Momentan übergeben ich Parameterwerte "" oder "-1" und helfe mir mit Abfragen der Form If Parameter4 = "" Then Parameter 4 = "XYZ". Dadurch benötigt die Funktion natürlich mehr Zeit, was sich zum Beispiel beim Aufruf aus Schleifen deutlich bemerkbar macht.

H. Gruber

ANTWORT Die Abfragen können Sie sich mit dem Zusatz "Optional" und "As <Datentyp> = <Wert>" bei der Parameterdeklaration sparen. Das könnte zum Beispiel so aussehen:

Function XYZ(Parameter1 As String, _
             Parameter2 As Long, _
             Parameter3 As Double, _
             Optional Parameter4 As String = "ABC", _
             Optional Parameter5 As String = "DEF", _
             Optional Parameter6 As String = "GHI", _
             Optional Parameter7 As String = "JKL", _
             Optional Parameter8 As Long = 12345, _
             Optional Parameter9 As Boolean = False, _
             Optional Parameter10 As Date = "1.1.2020") _
             As String

Die ersten drei Parameter müssen angegeben werden, der Rest ist optional und wird ggf. mit den in der Deklaration angegebenen Werten vorbelegt. Um diese Funktion zum Beispiel mit den ersten drei und dem 7. Parameter aufzurufen, verwenden Sie benannte Parameter:

strTmp = XYZ("Text", 0, 7, Parameter7:= "MNO")