Microsoft Office Accessの最適化 のドキュメントでは、次のことができると記載されています。
... Microsoft Windowsレジストリ設定を編集して、Office AccessデータベースエンジンがODBCに送信するコマンドを表示できるようにします。
さらに、これを行う方法についての詳細な手順を示します。
JetデータベースエンジンからのすべてのODBCコマンドのトレースを有効にするには:
- Windowsの[スタート]メニューから[ファイル名を指定して実行]を選択します。
- Regeditと入力して、レジストリエディターを開きます。
- Office Access 2007より前のバージョンのOffice Accessを使用している場合は、レジストリエディターにフォルダーとして表示される次のレジストリキーに移動します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\ODBC
Office Access 2007は、Office Access Connectivity Engine(ACE)という名前のJetデータベースエンジンのカスタマイズされたバージョンを使用します。これは、他のWindowsアプリケーションと共有されません。 Office Access 2007を使用している場合は、次のレジストリキーに移動します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\ODBC
- TraceSQLMode設定をダブルクリックし、値を0から1に変更して、[OK]をクリックします。
- この変更を行うときにOffice Accessが開いている場合は、変更を有効にするためにOffice Accessを閉じて再度開く必要があります。
レジストリにこの変更を加えた後、ODBCデータソースに送信されたクエリは、Sqlout.txtという名前のテキストファイルに記録されます。
ただし、おそらくおわかりのように、このドキュメントはかなり古いものです(Access 2007について記述され、2006年に公開されました)。古いため、レジストリ情報はOffice 2016などの新しい製品では古くなっているようです。
また、Access 2016ではJet Engine
を使用していないように見えますが、代わりにAccess Connectivity Engine
を使用しています。
そのため、いくつかのことを見つけるのに問題があります:
Access Connectivity Engine
>>> TraceSQLMode
レジストリキーはどこにありますか?sqlout.txt
ファイルはどこに保存されますか?このページ のコメントからパスを掘り出すことができました。私のマシンのAccess 2016では、TraceSQLMode
レジストリキーは次の場所にあります。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines\ODBC\TraceSQLMode
このページ でsqlout.txt
ファイルはDefault database folder
に示されているようにMS Access Tools-> Options-> General-> Default database folder
。私の場合、それはここにあります:
C:\Users\[my user name]\Documents\sqlout.txt