sql >> Base de Datos >  >> RDS >> Access

Funciones estáticas y subs

He usado Static variables en el pasado, variables locales que retienen su valor entre llamadas, pero ¿sabía que funciones y subs completas también se pueden marcar como estáticas?

En el caso de una Static Function o Static Sub , cada variable local en la rutina se comporta como si estuviera declarada con Static palabra clave individualmente. Consulte la siguiente nota de la documentación de la declaración estática:

La estática declaración y Static Las palabras clave son similares, pero se usan para diferentes efectos. Si declara un procedimiento utilizando Static palabra clave (como en Static Sub CountSales () ), el espacio de almacenamiento para todas las variables locales dentro del procedimiento se asigna una vez y el valor de las variables se conserva durante todo el tiempo que se ejecuta el programa. Para los procedimientos no estáticos, el espacio de almacenamiento para las variables se asigna cada vez que se llama al procedimiento y se libera cuando se sale del procedimiento. La estática se usa para declarar variables específicas dentro de procedimientos no estáticos para preservar su valor mientras el programa se está ejecutando.

Honestamente, rara vez uso la palabra clave Static para variables individuales. Tengo dificultades para ver cuándo querría usar esta función para una Función o Sub completa. Dicho esto, es importante saber que es posible. Nunca se sabe cuándo puede encontrarse con algún código que utilice esta función...

La punta del sombrero para Jan Karel Pieterse

El crédito por este jugoso bocado de información es para Jan Karel Pieterse, un MVP de Excel y fuente de conocimiento y trivia de VBA. Supe por primera vez que esta era una opción en una de sus publicaciones de LinkedIn:

¡Aprendes algo nuevo todos los días!

Referencias externas

Página de inicio de los servicios de desarrollo de aplicaciones de JKP, consultor de ExcelServicios de desarrollo de aplicaciones de JKP, desarrollo de aplicaciones de Excel de clase mundial