#599 | Accessがランタイムで動いているかどうかを調べるには? | VBA | |
Accessで作ったデータベースを動かすとき、通常のAccessでは実行可能でも、ランタイム版のAccessでは実行できないことがあります。デザイン系の操作は当然ランタイム環境では期待していないはずですが、ランタイムではそれ以外にもリボン・メニューバー・ツールバーなどで操作可能なコマンドが使えないことが多々あります。そのようなコマンドの実行をVBAのプログラムから行うように場合、当然ランタイムではエラーとなって使えません。 そのようなケースでは、事前にそのデータベースが通常のAccess上で動いているのか、それともランタイムで動いているのかを確認して、処理を分岐させることができます。 それには、次のプログラム例のように、「SysCmd」メソッドに引数として定数「acSysCmdRuntime」を与え、その返り値を調べます。もしAccessランタイム環境であればTrueが、通常のAccessであればFalseが返されます。 If Not SysCmd(acSysCmdRuntime) Then 'Accessがランタイムでない場合(=通常のAccessの場合) '〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 '〜 ここで通常のAccess対応の処理を行います 〜 '〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 Else 'Accessがランタイムの場合 MsgBox "ランタイムでは実行できません!", vbOKOnly + vbExclamation End If |
|||
|
Copyright © T'sWare All rights reserved |