Accessマクロで関数(VBA)を呼び出した際に出てくる「指定した式に、Microsoft Accessが見つけることができない関数名が含まれています。」の対処方法をいくつか紹介します。
(内容についてはMicrosoft Access 2010で確認)
マクロで呼び出す関数の名称が間違っている
関数名と、マクロで呼び出す関数の名称が異なっているとエラーメッセージが表示されます。
以下の事例だと、関数名が「FileOpen()」なのに対し、マクロでは「FileOpn()」となってしまっています。
この場合、マクロでは関数名と同じ「FileOpen()」を呼び出してください。
関数:
Public Function FileOpen()
~
End Function
マクロの関数(プロシージャ)呼び出し:
=FileOpn()
関数名に日本語が含まれる
関数名に日本語が含まれているとエラーメッセージが表示されます。
以下の事例だと、関数名が「Fileを開く()」となっており日本語が含まれています。
この場合、日本語は使わず「FileOpen()」などの名前にしてください。
関数:
Public Function Fileを開く()
~
End Function
関数名とモジュール名が同じ
関数名とモジュール名が同じ場合エラーメッセージが表示されます。
以下の事例だと、関数名が「FileOpen()」に対し、モジュール名も「FileOpen」になってしまっています。
この場合、モジュール名は「ファイルを開く」など関数名と異なる名前にしてください。
関数:
Public Function FileOpen()
~
End Function
モジュール名:
FileOpen
ちなみに「関数名とマクロ名が同じ」場合はエラーメッセージは出ません。