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

Debuggen von privaten Prozeduren

Einer der Vorteile von VBA als interpretierte Sprache besteht darin, dass wir einzelne Prozeduren ausführen können, ohne die gesamte Anwendung kompilieren zu müssen. Sehen wir uns an, wie wir das genau machen.

Öffentliche Verfahren

Öffentliche Routinen ohne Argumente

In einem Standardmodul können Sie den Cursor innerhalb einer öffentlichen Routine platzieren, die keine Argumente hat, [F5] drücken und diese Routine wird sofort ausgeführt.

Wenn Sie die Routine schrittweise durchlaufen möchten, können Sie entweder einen Haltepunkt in einer der Zeilen setzen, bevor Sie [F5] drücken, oder einfach [F8] ("Step Into") drücken und sofort beginnen, den Code für die Routine schrittweise zu durchlaufen.

Öffentliche Funktionen ohne Argumente

Dies funktioniert auch mit öffentlichen Funktionen in Standardcodemodulen. Der Schlüssel ist, dass die Funktion keine Argumente akzeptieren kann, nicht einmal optionale.

Öffentliche Prozeduren mit Argumenten

Was passiert, wenn Sie versuchen, eine öffentliche Prozedur auszuführen, die ein oder mehrere Argumente (auch optionale) akzeptiert? Der Befehl „Ausführen> Makro ausführen“ führt Folgendes aus:

Private Verfahren

Private Prozeduren ohne Argumente

Ich kann nicht loben, dass ich diesen entdeckt habe. Besonderer Dank geht an Terry Chapman für die Weitergabe der Tatsache, dass Sie F5 drücken können, um Privat zu debuggen Verfahren vorhanden, nicht nur öffentliche Verfahren.

Wie Terry habe ich früher meine privaten Prozeduren vorübergehend in öffentlich geändert, während ich sie debuggte. Wie sich herausstellte, musste ich das überhaupt nie tun.

Private Prozeduren mit Argumente

Als Terry mich dazu gebracht hatte, meine Annahmen in Frage zu stellen, beschloss ich zu sehen, wie viel ich davon bekommen könnte. Viel mehr, als ich erwartet hatte, stellt sich heraus!

Ob Sie es glauben oder nicht, Sie können private Prozeduren debuggen, die ohne Argumente annehmen sie vorübergehend in öffentliche Verfahren umzuwandeln. Dazu müssen Sie nur den vollqualifizierten Prozedurnamen aus dem Direktfenster aufrufen. Mit „vollqualifiziertem Namen“ meine ich den Namen im Format {ModuleName}.{ProcedureName} .

Schauen Sie sich dieses Beispiel an:

Aber nehmen Sie nicht mein Wort dafür. Probieren Sie es aus!