忘れないようにメモ
ACCESS に引数を指定して開く方法 (Command文)
ACCESSを開く時、引数を与えることができます。
つまり例として、ACCESSを開く時、”ABC”という文字を与えて開くことができます。
◇たとえば、ACCESSを開く時に”ABC”ならば処理1、
“DEF”ならば処理2、というような実行命令を可変させたい場合、とか・・・
◇日付を与えてACCESSを開いたなら自動的にその日付で計算する、とか・・・
◆実際にテストで試してみましょう
(1) まず、空のDatabase1.accdbを作ります
(2) モジュールに次の3行のみのFunctionを作ります。
Function procTEST()
MsgBox (Command)
End Function
これだけです。
モジュール名は何でもOKで、Module1としておきます。
(3) 自動実行マクロを作ります。
命令は、「プロシージャの実行」
プロシージャ名は、「procTEST()」
マクロの保存名は、autoexec
(4) これで一度Database1.accdbを保存して閉じます。
(5) 次にDatabase1.accdbのショートカットを作ります。
(6) ショートカットを右クリしてプロパティを表示
リンク先に次のように書き加えます。(赤字の部分)
C:\Temp\Database1.accdb /cmd “ABC”
(7) プロパティのダイログのOKボタンを押して閉じます。
(8) これでショートカットをダブクリして実行してみます。
ACCESS が起動して、次に”ABC”というメッセージボックスが開きます。
◆ つまり・・・
ACCESS の起動させるコマンド文に、”/cmd XXXXXXXX” という引数を付けると
ACCESS内部では、/cmd 以下の文字が、
Command という関数で取り出せるということです。
◆ もし、/cmd 以下の指定がなかったらどうなるのか?
Command という命令文で取り出せる文字は0バイトの文字でした。
Nullではありませんでした。
◆コマンドラインから実行させたい場合
msaccess.exe “C:\Temp\Database1.accdb” /cmd “ABC”
※命令文のmsaccess.exeが無いとCommand関数はcmdを読み取ってくれません。
※ ” の位置に注意して下さい。
試してみて下さい。