データシート側で、モジュール変数を参照できない件について
基本的な対策としては、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 件のコメント:
コメントを投稿