Access
 sql >> Datenbank >  >> RDS >> Access

Statische Funktionen und Subs

Ich habe Static verwendet Variablen in der Vergangenheit – lokale Variablen, die ihren Wert zwischen Aufrufen behalten – aber wussten Sie, dass auch ganze Functions und Subs als Static markiert werden können?

Im Falle einer Static Function oder Static Sub , alle lokale Variable in der Routine verhält sich so, als wäre sie mit Static deklariert worden Schlüsselwort einzeln. Sehen Sie sich den folgenden Hinweis aus der Static Statement-Dokumentation an:

Die statische -Anweisung und die Statik Schlüsselwörter sind ähnlich, werden aber für unterschiedliche Effekte verwendet. Wenn Sie eine Prozedur deklarieren, indem Sie die Static Schlüsselwort (wie in Static Sub CountSales () ), wird der Speicherplatz für alle lokalen Variablen innerhalb der Prozedur einmal allokiert und der Wert der Variablen bleibt für die gesamte Laufzeit des Programms erhalten. Bei nichtstatischen Prozeduren wird bei jedem Aufruf der Prozedur Speicherplatz für Variablen zugewiesen und beim Verlassen der Prozedur wieder freigegeben. Die Statik -Anweisung wird verwendet, um bestimmte Variablen innerhalb nichtstatischer Prozeduren zu deklarieren, um ihren Wert zu bewahren, solange das Programm läuft.

Ehrlich gesagt verwende ich das Schlüsselwort Static selten für einzelne Variablen. Ich weiß nicht, wann ich diese Funktion für eine ganze Funktion oder ein ganzes Sub verwenden möchte. Das heißt, es ist wichtig zu wissen, dass es möglich ist. Sie wissen nie, wann Sie in freier Wildbahn auf Code stoßen, der diese Funktion verwendet ...

Tip-o'the-Hut an Jan Karel Pieterse

Verdienst für diesen saftigen Leckerbissen an Informationen geht an Jan Karel Pieterse, einen Excel-MVP und eine Quelle von VBA-Wissen und Trivia. Ich habe zum ersten Mal aus einem seiner LinkedIn-Beiträge erfahren, dass dies eine Option ist:

Du lernst jeden Tag etwas Neues!

Externe Referenzen

Homepage von JKP Application Development Services, Excel-BeraterJKP Application Development Services, Erstklassige Excel-Anwendungsentwicklung