質問

MS Access 2003のためにVBAでCallStackを見ることは可能でしょうか?それは何procedureから参照するか、別のfunctionfunctionすることが可能であろう、と言うことですが呼ばれたのですか?

役に立ちましたか?

解決

私の知っているコールスタックを表示するには、VBAにはプログラムによる方法はありません。それはVBEのように私には思われる場合には(ない実行時に)プログラミングのみの機能の呼び出しを追跡するために、いくつかの構造を使用することですが、それは常に私にはその場しのぎのように思えるし、実際に使用のこの問題に対する通常の解決策、コールスタックを見るための組み込み機能は十分です。

そして、それは私のために最も頻繁に使用される機能の一つだからところで、私はいつも、私のVBEツールバーのコールスタックのボタンを配置。私はまた、コンパイルボタンを追加します - 私はそれはそれは今までにコンパイルを強制することなくコードに人々を奨励するので、それは、デフォルトでは、ツールバーのないことをクレイジーだと思います。ほとんどコード - など、他の言葉では、ありませんアプリケーションと、それは一貫させるためにはダムダウンアクセス - その後、再び、Access 2000がさえたぶんVBEを使用して他のアプリとの一貫性を保つために(デフォルトでは明示的なオプションを使用していませんでした重い)。

しかし、私は脱線...

他のヒント

実行時には、[表示]メニュー - > [コールスタック(またはCtrlキーを押しながら+のL)

結局、あなたの関数にオプションのパラメータを追加し、呼び出し側がそのように名前を渡します。フォームの場合、あなたは、パラメータとしてMe.Nameを使用することができます。

はい、それは可能だが、それは非常に便利ではありません!

Private Declare Sub SetMode Lib "vba332.dll" Alias "EbSetMode" (ByVal lngMode As Long)
Private Declare Function GetCallStackCount Lib "vba332.dll" Alias "EbGetCallstackCount" (lngCount As Long) As Long
Private Declare Function GetCallStackFunction Lib "vba332.dll" Alias "EbGetCallstackFunction" (ByVal Lvl As Long, ByRef strBase As String, ByRef strModule As String, ByRef strFunction As String, ByRef Done As Long) As Long

使用GetCallStackCountとGetCallStackFunctionコールSETMODE前に(2)、及びSETMODE後に(1)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top