sql >> Database >  >> RDS >> Access

Statische functies en subs

Ik heb Static gebruikt variabelen in het verleden - lokale variabelen die hun waarde behouden tussen aanroepen - maar wist je dat hele functies en subs ook als statisch kunnen worden gemarkeerd?

In het geval van een Static Function of Static Sub , elke lokale variabele in de routine gedraagt ​​zich alsof deze is gedeclareerd met de Static zoekwoord afzonderlijk. Bekijk de volgende opmerking uit de documentatie over de statische verklaring:

De Static statement en de Static trefwoord lijken op elkaar, maar worden voor verschillende effecten gebruikt. Als u een procedure declareert met behulp van de Static trefwoord (zoals in Static Sub CountSales () ), wordt de opslagruimte voor alle lokale variabelen binnen de procedure eenmaal toegewezen en wordt de waarde van de variabelen bewaard gedurende de hele tijd dat het programma draait. Voor niet-statische procedures wordt opslagruimte voor variabelen toegewezen telkens wanneer de procedure wordt aangeroepen en vrijgegeven wanneer de procedure wordt afgesloten. De Statische statement wordt gebruikt om specifieke variabelen binnen niet-statische procedures te declareren om hun waarde te behouden zolang het programma draait.

Eerlijk gezegd gebruik ik het statische trefwoord zelden voor individuele variabelen. Ik heb moeite om te zien wanneer ik deze functie voor een hele functie of sub zou willen gebruiken. Dat gezegd hebbende, is het belangrijk om te weten dat het mogelijk is. Je weet nooit wanneer je in het wild een code tegenkomt die deze functie gebruikt...

Tip o' the Hat voor Jan Karel Pieterse

Krediet voor dit sappige stukje informatie gaat naar Jan Karel Pieterse, een Excel MVP en lettertype van VBA-kennis en trivia. Ik hoorde voor het eerst dat dit een optie was uit een van zijn LinkedIn-berichten:

Je leert elke dag iets nieuws!

Externe referenties

Homepage van JKP Application Development Services, Excel-consultantJKP Application Development Services, Excel Application Development van wereldklasse
  1. UUID-prestaties in MySQL?

  2. Opslag-engine-opties voor MariaDB verkennen

  3. Hoe twee tabellen in één instructie in SQL Server 2005 bij te werken?

  4. Een rapport maken vanuit een tabel in Access 2016