Hallo Sutti,
Mit googlen hab ich keine Lösung gefunden…
warum in die Ferne schweifen, wenn die Antwort liegt so nahe? Mit F1 in Access bekommst du z.B. diese Erklärung:
Lebensdauer von Variablen
Die Zeit, in der eine Variable ihren Wert behält, wird Lebensdauer genannt. Der Wert einer Variablen kann sich während ihrer Lebensdauer ändern, sie behält aber irgendeinen Wert. Verläßt eine Variable ihren Gültigkeitsbereich, so verfügt sie über keinen Wert mehr.
Wenn eine Prozedur ausgeführt wird, werden alle Variablen initialisiert. Eine numerische Variable wird mit Null initialisiert, eine Zeichenfolge variabler Länge wird mit einer Null-Zeichenfolge ("") initialisiert und eine Zeichenfolge fester Länge wird mit dem ASCII-Zeichen 0 oder Chr(0) gefüllt. Variant-Variablen werden mit Empty initialisiert. Jedes Element einer Variablen eines benutzerdefinierten Typs wird so initialisiert, als wäre es eine separate Variable.
Wenn Sie eine Objektvariable deklarieren, wird Platz im Speicher reserviert, der Wert der Objektvariablen wird aber auf Nothing gesetzt, bis Sie ihr mit der Set-Anweisung einen Objektverweis zuweisen.
Wenn der Wert der Variablen während der Ausführung Ihres Codes nicht verändert wird, behält sie ihren initialisierten Wert, bis sie ihren Gültigkeitsbereich verläßt.
Eine auf Prozedurebene mit der Dim-Anweisung deklarierte Variable behält einen Wert, bis die Ausführung der Prozedur beendet wird. Ruft die Prozedur andere Prozeduren auf, behält die Variable während der Ausführung dieser Prozeduren ihren Wert.
Wird eine Variable auf Prozedurebene mit dem Schlüsselwort Static deklariert, behält die Variable ihren Wert so lange, wie Code in einem beliebigen Modul ausgeführt wird. Wenn die Ausführung des gesamten Codes beendet wird, verliert die Variable ihren Gültigkeitsbereich und ihren Wert. Ihre Lebensdauer entspricht der Lebensdauer einer Variablen auf Modulebene.
Eine Variable auf Modulebene unterscheidet sich von einer statischen Variablen. In einem Standardmodul oder einem Klassenmodul behält sie ihren Wert, bis die Ausführung des Codes angehalten wird. In einem Klassenmodul behält sie ihren Wert, solange eine Instanz der Klasse existiert. Variablen auf Modulebene benötigen Speicherressourcen, bis Sie deren Werte zurücksetzen; darum sollten Sie diese nur dann verwenden, wenn es unbedingt notwendig ist.
Wenn Sie das Schlüsselwort Static vor einer Sub- oder Function-Anweisung verwenden, werden die Werte aller Variablen auf Prozedurebene in der Prozedur zwischen Aufrufen beibehalten.
Wenn du dann noch unter „Siehe auch“ die weiteren Erklärungen aufrufst, findest du genaue Anweisungen für dein Problem.
Grüße aus Essen
Wolfgang
(Netwolf)