In VBA gibt es keinen programmatischen Weg, um den mir bekannten Call-Stack zu sehen. Die übliche Lösung für dieses Problem ist, eine Struktur zu verwenden, um das Aufrufen von Funktionen zu verfolgen, aber es erscheint mir immer wie ein Kludn, und wirklich nur beim Programmieren (nicht zur Laufzeit), in diesem Fall scheint es mir, dass die VBE's eingebaute Fähigkeit zum Sehen der Aufrufliste ist ausreichend.
Und, BTW, ich habe immer die Call-Stack-Taste auf meiner VBE-Symbolleiste, da es eine der am häufigsten verwendeten Funktionen für mich ist. Ich füge auch die Kompilierschaltfläche hinzu - ich denke, es ist verrückt, dass es standardmäßig nicht in der Werkzeugleiste ist, da es Leute dazu ermutigt, zu programmieren, ohne jemals eine Kompilierung zu erzwingen. Außerdem hat Access 2000 Option Option Explicit nicht standardmäßig verwendet (angeblich aus Gründen der Konsistenz mit den anderen Apps, die das VBE verwenden - d. H. Access herunterfahren, um es mit Apps in Einklang zu bringen, die nicht annähernd so schwer).
Aber ich schweife ab ...
Zur Laufzeit, Menü Ansicht - & gt; Rufen Sie Stack auf (oder drücken Sie STRG + L).
Fügen Sie schließlich einen optionalen Parameter zu Ihrer Funktion hinzu und übergeben Sie den Namen des Aufrufers auf diese Weise. Für Formulare können Sie Me.Name
als Parameter verwenden.
Ja, es ist möglich, aber es ist nicht sehr nützlich!
%Vor%Bevor Sie GetCallStackCount und GetCallStackFunction verwenden, rufen Sie SetMode (2) und nach SetMode (1) auf.
Tags und Links vba ms-access callstack access-vba