データシート側で、モジュール変数を参照できない件について
基本的な対策としては、TempVarsを使用と考えられます。
Option Compare Database
Option Explicit
Private Const ConstVar = "Constvar"
Public PublicVar
Private PrivateVar
Private Sub ShowVars()
Debug.Print "PublicConstVar:" & PublicConstVar
Debug.Print "ConstVar:" & ConstVar
Debug.Print "PublicVar:" & PublicVar
Debug.Print "PrivateVar:" & PrivateVar
Debug.Print "TempVar:" & TempVars("tVar")
End Sub
Private Sub Form_Close()
TempVars.RemoveAll
End Sub
Private Sub Form_Open(Cancel As Integer)
PublicVar = Now
PrivateVar = Now
TempVars("tVar") = Now
End Sub
Private Sub Form_Current()
Debug.Print "*** Form_Current ***"
ShowVars
End Sub
Private Sub Field01_BeforeUpdate(Cancel As Integer)
Debug.Print "*** Field01_BeforeUpdate ***"
ShowVars
End Sub
Private Sub Field02_AfterUpdate()
Debug.Print "*** Field02_AfterUpdate ***"
ShowVars
End Sub
Option Compare Database Option Explicit Public Const PublicConstVar = "PublicConstVar"access2010/access2007の間でも取得可否が異なるので確認しながらということになります。
必ず取得できるのは、TempVars/PublicなConst/PrivateなConstの模様。
上記コードで確認できる差はFormCurrent時イベント。2010ならばすべて取得可能。
仕様というか不具合というか、たぶん修正されないと思われるレベルの事象かな。
0 件のコメント:
コメントを投稿