sql >> Database teknologi >  >> RDS >> Access

Fejlretning af private procedurer

En af fordelene ved at VBA er et fortolket sprog er, at vi kan udføre individuelle procedurer uden at skulle kompilere hele applikationen. Lad os undersøge præcis, hvordan vi gør det.

Offentlige procedurer

Offentlige rutiner uden argumenter

I et standardmodul kan du placere markøren inde i en offentlig rutine, der ikke har nogen argumenter, tryk på [F5], og den rutine vil straks udføres.

Hvis du vil træde gennem rutinen, kan du enten indstille et brudpunkt på en af ​​linjerne, før du trykker på [F5] eller blot trykke på [F8] ("Step Into") og straks begynde at træde gennem koden for rutinen.

Offentlige funktioner uden argumenter

Dette fungerer også med offentlige funktioner i standardkodemoduler. Nøglen er, at funktionen ikke kan acceptere nogen argumenter, ikke engang valgfrie.

Offentlige procedurer med argumenter

Hvad sker der, hvis du forsøger at udføre en offentlig procedure, der kræver et eller flere argumenter (selv valgfrie)? Kommandoen "Kør> Kør makro" udfører:

Private procedurer

Private procedurer uden argumenter

Jeg kan ikke tage æren for at opdage denne. En særlig tak går til Terry Chapman for at have videregivet det faktum, at du kan trykke på F5 for at fejlsøge Privat procedurer på plads, ikke kun offentlige procedurer.

Ligesom Terry plejede jeg midlertidigt at ændre mine private procedurer til offentlige, mens jeg fejlede dem. Det viser sig, at jeg aldrig behøvede at gøre det overhovedet.

Private procedurer Med Argumenter

Da Terry fik mig til at stille spørgsmålstegn ved mine antagelser, besluttede jeg mig for at se, hvor meget jeg kunne slippe af sted med. Meget mere, end jeg havde forventet, viser det sig!

Tro det eller ej, du kan fejlsøge private procedurer, der tager argumenter uden midlertidigt at ændre dem til offentlige procedurer. For at gøre dette skal du blot kalde det fuldt kvalificerede procedurenavn fra det øjeblikkelige vindue. Med "fuldt kvalificeret navn" mener jeg navnet i formatet {ModuleName}.{ProcedureName} .

Tjek dette eksempel:

Men tag ikke mit ord for det. Prøv det!


  1. Tjek, om et objekt er en primær nøgle med OBJECTPROPERTY() i SQL Server

  2. Sammenligner Amazon RDS Point-in-Time Recovery med ClusterControl

  3. Implementering af fuldtekstsøgning i SQL Server 2016 for begyndere

  4. Automatisering af sikkerhedsrevisioner til PostgreSQL