Access
 sql >> Base de données >  >> RDS >> Access

Fonctions statiques et sous-titres

J'ai utilisé Static variables dans le passé (variables locales qui conservent leur valeur entre les appels), mais saviez-vous que des fonctions et des sous-titres entiers peuvent également être marqués comme statiques ?

Dans le cas d'une Static Function ou Static Sub , chaque la variable locale dans la routine se comporte comme si elle était déclarée avec le Static mot-clé individuellement. Consultez la note suivante de la documentation de la déclaration statique :

Le statique déclaration et la Statique mot-clé sont similaires, mais utilisés pour des effets différents. Si vous déclarez une procédure en utilisant le Statique mot-clé (comme dans Static Sub CountSales () ), l'espace de stockage pour toutes les variables locales dans la procédure est alloué une seule fois et la valeur des variables est conservée pendant toute la durée d'exécution du programme. Pour les procédures non statiques, l'espace de stockage des variables est alloué chaque fois que la procédure est appelée et libéré lorsque la procédure est fermée. Le statique est utilisée pour déclarer des variables spécifiques dans des procédures non statiques afin de conserver leur valeur tant que le programme est en cours d'exécution.

Honnêtement, j'utilise rarement le mot-clé Static pour des variables individuelles. J'ai du mal à voir quand je voudrais utiliser cette fonctionnalité pour une fonction ou un sous-ensemble entier. Cela dit, il est important de savoir que c'est possible. Vous ne savez jamais quand vous pourriez rencontrer du code dans la nature qui utilise cette fonctionnalité...

Tirez le chapeau à Jan Karel Pieterse

Le mérite de cette information juteuse revient à Jan Karel Pieterse, un MVP Excel et une source de connaissances et d'anecdotes VBA. J'ai appris que c'était une option pour la première fois grâce à l'un de ses messages sur LinkedIn :

Vous apprenez quelque chose de nouveau chaque jour !

Références externes

Page d'accueil de JKP Application Development Services, consultant ExcelJKP Application Development Services, Développement d'applications Excel de classe mondiale