Option Base

Aus DBWiki
Wechseln zu: Navigation, Suche

Eine Option Base–Anweisung im Modulkopf setzt die unteren Arraygrenzen aller im Modul verwendeter Datenfelder (Arrays) auf den mit dieser Anweisung angegebenen Wert.

Option Explicit
Option Base 1
 
Sub Zaehle()
 
   Dim z As Integer
   Dim strNummern(4)As String
 
   strNummern(4) = "Vier"
   strNummern(3) = "Drei"
   strNummern(2) = "Zwei"
   strNummern(1) = "Eins"
   strNummern(0) = "Null"
 
   'Herunterzählen von 4 bis 0
   For i = UBound(strNummern) To LBound(strNummern) Step -1
      Debug.Print strNummern(i)
   Next
 
End Sub

Dieses Verhalten kann – wie das obigen Beispiel – sehr rasch zu einem Fehler führen, wenn für ein bestimmtes Array der Standardwert der unteren Arraygrenze - also 0 angenommen wird. Im obigen Fall wird die Ausführung des Codes mit dem Laufzeitfehler #9 (Index ausserhalb des gültigen Bereichs) unterbrochen.


Wiki hinweis.png

Hinweis: Wegen der potentiell vorhandenen Fehlergefahr, die mit dieser Anweisung verbunden ist, sollte auf die Verwendung von Option Base besser verzichtet werden!