かなりの数のマクロを含む古い大きなAccessアプリを更新する必要があります。 マクロが使用されているかどうか、およびマクロがどこから呼び出されているかを特定したいと思います。
解決策が見つかりませんでした。MZツールとCSDツールをインストールしていますが、これらは役に立たないようです。また、組み込みのドキュメントツールを使用してフォームのプロパティをPDFに印刷しようとしましたが、コントロールのプロパティとイベントが含まれていないため、どちらも使用しません。
なにか提案を ?
質問する
111 次
2 に答える
2
組み込みの依存関係オプションの使用を検討してください。これは、トラック名の自動修正を有効にする必要があることを意味します。ただし、追跡をオンにできるが、オートコレクトをオンにする必要がないことに気付いている人はほとんどいません。
結果は、指定されたオブジェクトの依存関係の美しいツリー ビューです。スクリーンショットは次のとおりです。
この方法でアプリケーションをドリルダウンして「サーフィン」できることに注意してください。選択されたものに依存する両方のオブジェクト、またはその逆 - 選択されたオブジェクトが依存するオブジェクト。
また、任意のオブジェクトをクリックすると、デザイン ビューで開く方法に注意してください。他の開発システムにあったらいいのにと思う素晴らしい機能です。
自動修正トラッキングをオンにしないと、すべてのオブジェクトとそれらの参照の逆が行われるため、初回はかなりの時間と処理がかかる可能性があることに注意してください。ただし、この驚くべき機能のためにインデックスが構築されると、応答時間とこの機能の使用はほぼ瞬時になります。
于 2013-02-16T23:37:22.217 に答える
1
このリンクのおかげで、私はついにこの問題のための独自のクイックツールを書きました:
Sub listControlEvents()
'by Patrick Honorez - www.idevlop.com --- 15-févr-2013
'Purpose : list buttons calling macros + macro name
Dim f As AccessObject, frm As Form, c As Control
For Each f In CurrentProject.AllForms
Debug.Print f.NAME
DoCmd.OpenForm f.NAME, acDesign, , , , acHidden
Set frm = Forms(f.NAME)
For Each c In frm.Controls
If c.ControlType = acCommandButton Then
If c.Properties("OnCLick") <> "[Event Procedure]" Then
Debug.Print , c.NAME,
Debug.Print c.Properties("OnClick")
End If
End If
Next c
DoCmd.Close acForm, f.NAME, acSaveNo
Next f
End Sub
于 2013-02-15T10:19:08.077 に答える