2013/02/10

Access 2007/2010/2013 一時変数 / TempVars

取り上げられないことが多いのかなと思ったり。
TempVars オブジェクト (Access)
TempVar オブジェクト (Access)
 256個じゃね?そこまで使うケースのほうがめずらしいと思うけど。
Only 256 TempVars can be created. Be sure to remove any TempVars that are not needed.
一時変数は 256 個までしか作成できません。不要な一時変数を削除してください
 ま、いいか。
 設定使い方自体は難しいこともなく。設定する値は式引数で渡すことになるのでそれなりの表記をしておけばよい。データベースを閉じるまで値は維持されるから必要に応じて都度削除などしておく。
すべてのマクロから参照できる。
Option Compare Database
Option Explicit

Function mdl1_tmpVar()
    TempVars!tmpVar2 = TempVars!tmpVar2 & "-Module1"
End Function
VBA側とのやり取りも可能
SELECT Table1.ID, Table1.Field1, Table1.Field2
FROM Table1
WHERE Table1.Field2=[TempVars]![criteriaDate];
一応、クエリなどでも。Accessで開く分には問題なく。DAOからとかはダメですよ。
フォーム/レポート上のコントロールでも。

Intellisenseに挙がるところなら。
'一時変数の設定/SetTempVar マクロアクションをVBAに変換すると、
Function Macro4()

    TempVars.Add "tmpVar4", "Strings"
'となりますが、
    TempVars!tmpVar4 = "Strings"
    TempVars("tmpVar4") = "Strings"
'VBAで使う場合、これで事足ります。
End Function

0 件のコメント: