• ベストアンサー

アクセスの連続実行のやり方

アクセスで作ったプログラムのいくつかを連続実行するマクロ、又はvbaを 教えてください。 プログラムはオートエグゼで立ち上げ後、自動終了します。 これらを(1)を立ち上げ、終了後     (2)を立ち上げ、終了     (3)を立ち上げ、終了 というように順次実行する という内容です。

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

  • ベストアンサー
  • ruru0707
  • ベストアンサー率68% (20/29)
回答No.2

No1.mdbのMDBの処理はマクロと言う事ですね? では、No1.mdbにNo2.mdbを開く為のモジュールを作成します。 これは必ずファンクションにして下さい。 ------------------------------------------------------------ Public Function pFunオープン() Dim 実行 As Variant 実行 = Shell("C:\Program Files\Microsoft Office\Office\msaccess.exe " & _ "G:\Access\No2.mdb /x AutoExec", 3) Exit Function End Function ------------------------------------------------------- これでNo2.mdbのマクロのAutoExecを実行させる処理ができます。 No1.mdbのマクロの処理の最後に『プロシージャーの実行』を追加し、 プロシージャー名に『pFunオープン()』を記入して、上記のファンクションの実行をさせればOKです。 No3.mdbについても同様にすればOKです。 マクロ名をAutoExecにされているそうですが、 自動で実行させるのであればわかりやすいようにそれぞれの処理の名称にしてみるのもよいでしょうね。 もちろんAutoExecのままでも実行は可能です。

e_take3043
質問者

補足

デスクトップにNo1.mdb  No2.mdb  No3.mdbをつくりNo1.mdb のモジュールに以下を書きました。 Public Function pFunオープン() Dim 実行 As Variant 実行 = Shell("C:\Program Files\Microsoft Office\Office\MSACCESS.exe " & _ "C:\Documents and Settings\e_take\デスクトップ\No2.mdb /x AutoExec", 3) Exit Function End Function そしてNo1.mdbのマクロに『プロシージャーの実行』を追加し、 プロシージャー名に『pFunオープン()』を記入して、上記のファンクションの実行をさせましたがコマンドライン引数が不正となります。 解決策を教えてください

その他の回答 (2)

  • ruru0707
  • ベストアンサー率68% (20/29)
回答No.3

『コマンドライン引数が不正』のエラーが出る場合は 『C:\Program Files\Microsoft Office\Office\msaccess.exe 』 の場所にaccessのEXEが存在しないか、 実行するMdbがパス先にないかのいづれかが考えられますが、 デスクトップのパスはあってそうなカンジですので、 accessのEXEの場所があってるか確認してみて下さい。

e_take3043
質問者

お礼

解決しました。実行 = Shell("C:\Program Files\Microsoft Office\Office\msaccess.exe ""G:\Access\No2.mdb", 3) で出来ました。ありがとうございます。

  • ruru0707
  • ベストアンサー率68% (20/29)
回答No.1

(1)を立ち上げ、終了後、(2)を立ち上げ終了・・・とありますが、(1)とか(2)というのはMDBですか? 連続して実行したいプログラムが何?なのかをもう少し説明して下さい。

e_take3043
質問者

補足

アクセス2000で作成したいくつかのMDBプログラム(例えば NO1.MDB、NO2.MDB、NO3.MDBと3個のプログラム)でNO1.MDBの結果をNO2.MDBにリンク、NO2.MDBの結果をNO3.MDBにリンクしています。 (それぞれはオートエグゼで開くと同時にマクロ処理でクローズします) 現在手作業で実行していますがそれを連続実行したいのです。   

関連するQ&A

  • Access終了時にマクロまたはVBAの実行したい

    Access初心者です。 Accessを起動するときにマクロを実行する方法として「autoexec」がありますが、終了時にマクロまたはVBAを実行する方法がありますか教えてください。(Access終了時に自動的にバックアップを取るようにしたいため。)

  • EXCELのマクロとVBAの連続実行について

    EXCELを鋭意勉強中です。 それぞれ独立したマクロとVBAのコードがあるとして これらを組み合わせ自在に連続して実行することは可能でしょうか? マクロの連続実行は Call マクロ() で出来ることは判ったのですが ここにVBAが組み合わさると、どう記述してよいのかさっぱり判りません。 わかる方、よろしくご指導をお願い致します。

  • Access2000で最適化をVBAで実行できますか?

    Access2000のメニューから操作する「最適化」をVBAで実行できませんか? データ(レコード)を削除したときなど、終了時に自動実行させたいのですが。 (オプションで設定すると、常に実行されるので) よろしくお願いいたします。

  • Access2000のVBAでエクセルマクロ実行

    お世話になります。 Access2000のVBAでエクセルのマクロとアクセルのマクロを 交互に実行したいと思っております。 (1)エクセルのマクロ1を実行 (2)アクセスのマクロAを実行 (3)エクセルのマクロ2を実行 と交互に実行したいのです。 下記のサイトなどを参考に試みたのですが、 http://www.nurs.or.jp/~ppoy/access/access/acX005.html (1)を実行している途中に (2)が進んでしまいます。 どのようにすれば、(1)が終わってから(2)と、前の処理が 終わってから次の処理に進むことが出来るのでしょうか? Access2000のVBAから指示をかけたいので、 Access2000のVBAのコードで教えて頂ければと 思います。

  • ACCESS2000の終了時に自動で実行

    ACCESS2000を使っています、 データベースを閉じる時にあるマクロを自動実行してからデータベースを閉じて終了したいのですがどんなマクロを作ればよいでしょうか、 初心者ですがよろしくおねがします。

  • <<ACCESS2000>>マクロでクエリを連続実行したいのですが、、、

    宜しくお願いします。 複数のクエリを連続実行させる為にマクロを使ったのですが、 クエリを実行する際、たとえば、テーブル作成クエリーだと実行前に「現在あるテーブルを削除していいか?」や、 実行後に「何件作成しました」などというボックスが表示された際、自動的に「OK」をクリック できるようにしたいのですが、どのようにすればよいのでしょうか? 教えてください。

  • Accessのマクロの実行

    いつもお世話になっております。 現在、Access2003で顧客管理の アプリケーションを作成しています。 フォームなどを開く時にマクロを2つ実行したのですが、 フォームの「プロパティ」の「開く」の欄に2つ入力することは 可能なのでしょうか? それともVBAでマクロを実行させるのでしょうか? どなたかご教授よろしくお願いします。

  • ACCESSのマクロからVBAプログラムの実行方法

    Access初心者です。 マクロを使って製品販売システムを作っています。 マクロだけで作成してきましたが、マクロではできない事がありVBAプログラムで作ろうとしていますが、マクロからVBAプログラムを実行する方法がわかりません。 どなたか教えてください。

  • アクセスでauto_openは使えない?

    エクセルの場合は、ブックを開いたと同時にマクロを実行させたい時は、 auto_openと言うマクロを標準モジュールに作れば可能ですが、 アクセスVBAの標準モジュールに、auto_openというプロシージャーを作って、 アクセスを再起動しても何も起こりません。 アクセスにおいて ファイルの起動と同時にマクロを実行させたいのなら、 どこかのフォームのOpenイベントに実行させたいコードを記載して、 起動時の設定で、そのフォームを選択するしかないのでしょうか?

  • ACCESSからEXCELのマクロを実行

    ACCESSのデータをEXCELに落として、その後、EXCEL上でマクロを実行させたいのですが、可能でしょうか。 ACCESSのVBAでEXCELを操作することができるのは知っているのですが、EXCELの機能のマクロ(罫線を引いたり、始点―終点間に矢印を引いたり)などをしたいのです。 よろしくお願いします。

専門家に質問してみよう