12.Private Module

Microsoft Accessデータベースで共通処理のライブラリを作成し、アプリケーションデータベースから参照設定で使用することがあります。

共通処理側のライブラリ内でモジュール分けを行い、他のモジュールで参照したい場合はPublic属性を付けて定数や関数等を定義します。

'''
''' <summary>
''' エラートラップ用のユーザーエラー番号を取得します。
''' </summary>
''' <param name="error">エラー番号を<see cref="Long"/>で指定します。</param>
''' <returns>ユーザーエラー番号を<see cref="Long"/>で返します。</returns>
'''
Public Function GetUserErrorNo(error As Long)
  GetUserErrorNo = vbObjectError + error
End Function

このままですと、Public属性が付いているためアプリケーションデータベース側でも参照(実行)できてしまいます。

アプリケーションデータベース側で参照させないようにするためには、Public属性を付けて定数や関数等を定義しているモジュールにOption Private Moduleを付けます。

Option Private Module
     :
Public Function GetUserErrorNo(error As Long)
     :
End Function

これで、アプリケーションデータベース側では、GetUserErrorNoが参照(実行)できなくなります。