• ベストアンサー

ACCESS2007のコマンドライン引数に関して

いつも大変お世話になっております。 コマンドプロントからaccessファイルを起動させて、/cmd以下の数字を起動したフォームのテキストボックス内に入れたいのですが、なかなかうまくいきません。 起動コマンドは、 "C:\Program Files\Microsoft Office\Office12\MSACCESS.EXE" C:Users\admin\Desktop\text.accdb /cmd 1 として、アクセスファイルの起動には成功しています。 つたない説明ですが、ご教授頂ければと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

Acc2007 は持ち合わせておりませんので、あしからず。 提示された起動コマンドを実行後 Alt + F11 でVBE の画面にして Ctrl + G にてイミディエイトウィンドウで ?command を実行 1 が返ってくるのを確認してから お望みのフォームのOpen時イベントに Me!テキストコントロール名 = Command と記述すればファームが立ち上がったときに入っているかと? 検証できる環境ではありませんので、ここまで。

rain_kouji
質問者

お礼

ご回答ありがとうございます。 無事にテキストボックスへ数字を入れることができました。

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

#1です。リンク先の下のほうにCommandについて 説明と使い方が簡単にありますが、#2さんの方法でも、あるいは テキストボックスのコントロールソースに =Command() とすればコマンドラインの値がテキストボックスに 入ります。 たとえば、以下はVBSの場合ですが、 Option Explicit CreateObject("WScript.Shell").Exec """C:\Program Files\Microsoft Office\Office12 \MSAccess.Exe""" & _ """C:Users\admin\Desktop\text.accdb""/x """ & "m1" & """ /cmd """ & 1 & """" これはマクロm1(フォームを開くマクロ)を実行し、 数値の1を引き渡します。引き渡された1は フォームを開くと自動的にテキストボックスに 表示されます。cmd、x の順番のほうが早いかも しれません。

rain_kouji
質問者

お礼

度々のご回答ありがとうございます。 無事に解決しました。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1
rain_kouji
質問者

補足

ご回答ありがとうございます。 どうも、私が勘違いをしていたみたいで、/cmdでは、数字を指定したテキストボックスへ入れることはできないようですね。

関連するQ&A