バッチファイルでAccess2007のマクロを呼び出す際のエラーについて

このQ&Aのポイント
  • バッチファイルのコマンドでAccess2007のマクロを呼び出した際、特定のアクションでエラーが発生します。
  • エラーの内容は、「コマンドまたはアクション『終了』は無効です。データベースが読み取り専用であるか、以前のバージョンの形式から変換されていません。アクションの対象となっているオブジェクトで現在選択されているものがないか、アクティブビューにありません。このデータベースで現在使用可能なコマンドまたはマクロアクションを使うようにしてください。」というものです。
  • このエラーの原因は、データベースが読み取り専用であるか、以前のバージョンの形式から変換されていない可能性があります。ファイルは2002から変換されてきたとのことですが、読み取り専用モードになっていないか再確認してください。
回答を見る
  • ベストアンサー

バッチファイルのコマンドでAccess2007のマクロを呼び出していま

バッチファイルのコマンドでAccess2007のマクロを呼び出しています。  "C:\Program Files\Microsoft Office\Office12\Office12\MSACCESS.exe" "D:\XXX\PM.accdb" /x M_Create いくつかのQueryが正常に実行され、最後「終了~すべて保存」アクションを実行しようとするところ、エラーが発生してしまっています。  「コマンドまたはアクション”終了”は無効です。   *データベースが読み取り専用であるか、以前のバージョンの形式から変換されていません。   *アクションの対象となっているオブジェクトで現在選択されているものがないか、アクティブビューにありません。   このデータベースで現在使用可能なコマンドまたはマクロアクションを使うようにしてください。」 その代わりにVBAに「Quit」に追加してみましたが、まったく同じエラーが発生していました(エラー番号:2046)。 ファイルは確かに2002から変換されてきましたが、読み取り専用とかなっていません。 この不具合は何が原因でしょうか。 ご存知の方はぜひ教えてください。

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

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

ご苦労様です。ファイルの破損。 Access2007のセキュリティ以外が 考えられるならば、バッチファイルの 命令のタイミングとAccessの処理の タイミングがずれているような気も しますが。 たとえば、 http://support.microsoft.com/default.aspx?scid=kb;ja;404908 のように、処理が終わるまで外部 プログラムを待機させるという ような処理をしてみたらいかが でしょうか。ldbファイルは残り ますか。

関連するQ&A

  • バッチファイルからAccessのマクロを操作する。

    コマンドでACCESS2002のファイルを開けてそのファイルのマクロを操作するバッチファイル作成したいのが、よくわかりません教えてください。 "C:\Program Files\Microsoft Office2002\OFFICE\MSACCESS.EXE" "C:Sample\text.mdb" /x "mcr_test" ではマクロが動きません。

  • Access、Autoexecマクロについて

    エラーメッセージが出ます。Autoexecマクロでデータベース起動後マクロにてあるアクションを行い、「終了」アクションにてAccessを終了するという内容です。(毎日決まった時間に勝手に自動実行させ、終了させたいのです) ファイルを開いてからマクロを実行するとうまくいきますが、データベースファイルをWクリックして実行させようとすると終了する前にエラーになります。 エラーのOKボタンをクリックすると終了します。 どういうことなのでしょうか? エラーの内容は以下の通りです。 ファイル「○○.mdb」(またはその構成ファイル)が見つかりません。パスおよびファイル名が正しいか、必要なライブラリがすべて利用可能かどうか、確認してください。

  • Accessのマクロの最適化

    Accessでマクロを1つ新規作成します。 作成したマクロのアクションに、「コマンドの実行」を選択し、 画面下のコマンドには、「データべースの最適化」を選択します。 しかし、「マクロまたは、VisualBasicコード実行中に開いているデータベースを最適化することはできません。」とメッセージが出ます。 メッセージの意味はわかりますが、そもそも、なぜ、マクロに、 「データベースの最適化」を選択することができるのでしょうか? できないんじゃ意味ないんじゃないですか?

  • access2010 コマンドまたはアクション''は無効です。について

    access2010 コマンドまたはアクション''は無効です。について access2002で作成したマクロ含むファイルをaccess2010 にて開こうとすると コマンドまたはアクション''は無効です。  *データベースが読みとり専用であるか、以前のバージョンの形式から変換されていません。  *アクションの対象となっているオブジェクトで現在選択されているものがないか、アクティブビューに  ありません。 このデータベースで現在使用可能なコマンドまたはマクロアクションを使うようにしてください。 とメッセージが毎回開きます。 このメッセージが表示されないように設定を変更することは可能ですか? すでにセキュリティセンターにて  ・マクロの設定→すべてのマクロを有効にする  ・Active Xの設定→確認メッセージを表示せずに、すべての~ に変更しています。 なお、access2002の形式はそのままに運用したいと考えています。 ご存じの方がいらっしゃいましたらお知恵をお貸し下さい。 よろしくお願いします。

  • SQL Server 2008のジョブで次のコマンドを実行したら、いつ

    SQL Server 2008のジョブで次のコマンドを実行したら、いつまでも終了しません。 "C:\Program Files\Microsoft Office\Office12\Office12\MSACCESS.exe" "D:\XXX\PM.accdb" /x M_Create 現状としては、 1、タスクマネジャーを確認したら、Accessがちゃんと立ち上がりました。また、PM.accdbと同じフォルダにPM.laccdbというファイルも生成されました。 2、ジョブの履歴を見たら、実行ユーザーはジョブの持ち主ではなく、「サーバー名\SYSTEM」というものです。これはSQLServerエージェントサービスアカウントのことですね。 3、上記コマンドをコマンドプロンプトで実行すると、無事終了しました。 4、関連ファイルやフォルダにはEveryOneにフル権限を与えています。 全般的に見ると、実行ユーザーのせいではないかと思いますが、同じようなことを経験した方がいらっしゃいますか。 何の情報でもいいですから、ぜひ教えてください。 よろしくお願いいたします。

  • Accessマクロで出てくるコマンドラインとは何ですか?

    Accessのマクロで、「Excelのあるファイルを開く」というアクションを登録 したいのですが、”アプリケーションの実行”というアクションを選択 すると、引数に"コマンドライン"という項目が出てきます。 ここにファイルのパスを入力しても実行できません。 ここには一体どの様に入力したらよいのでしょうか? ヘルプを見てもあまりピンとした答えが出ませんので、 具体的な入力方法を教えてください。

  • Access2000 マクロでデータベースの最適化

    お世話になります。 Accessのマクロのコマンドで データベースの最適化をしたいのですが、 「マクロまたはVisual Basicコードの実行中に、開いているデータベースを最適化することはできません。」とういうエラーメッセージが出て最適化されません。 マクロの一連の流れの「最後」で、データベースの最適化をしたいと 思っていますが、具体的にどのようにすれば、 データベースの最適化を実行できるのでしょうか? 条件としては、最適化をVBAなどでするのではなく、  マクロのコマンド:データベースの最適化 でしたいと思っております。 また、過去に何度か質問したのですが、 私の質問文が悪く、希望する回答を えれませんでした。 勝手で申し訳ございませんが A.mdbファイルを「マクロコマンド:データベースの最適化」で 最適化する具体的手順を教えて頂けないでしょうか? ※最適化の手前で、データベースを閉じたり等 具体的手順以外の回答は結構ですので、 宜しくお願いします。 ※具体的手順を記載できない場合は、この質問は 無視して下さい。 宜しくお願いします。

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

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

  • アクセスマクロで。。

    アクセスのマクロ登録でマクロの実行のアクションとアクションの間に マクロの中止を設定して(1)のマクロを実行し 終えてから(2)のマクロを実行させたいのですが 条件にはどのように記述したらいいのでしょうか? (1)のマクロがautoexeでこのマクロにより作成されたデータを (2)のマクロでインホ゜ートさせるというものなのですが。。 (1)のマクロが終了する前に(2)のマクロが実行されてしまうので エラーメッセージがでてしまいます。 何かいいアト゛バイスがありましたお願い致します。

  • accessのマクロで、PDFファイルを開くコマンドを作ることはできますか?

    Accessのマクロで、「PDFファイルを開く」というアクションを登録 したいのですが、”アプリケーションの実行”で、コマンドラインにacrobatのexeファイルパスの後ろに、開きたいファイルのフルパスを記入したところ、目的のファイルを開くことができました。しかし、PDFファイルの表示ソフトが、PCによって、acrobat、adobe reader、acrobat readerなどいろいろあるため、アプリケーションの実行ファイル(*.exe)の指定をせずに、関連付けられたアプリケーションで指定したファイルを開くようにしたいのですが、どうすればよいでしょうか?よろしくお願いします。