0

MS Accessマクロを開いて実行し、MSAccessタスクを強制終了する.DATファイルを実行するタスクをスケジュールしました。スクリプトは次のとおりです。

"C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS" "\\net\group\sales.accdb" /x "Refresh - 03 - Refresh and Archive"
taskkill /f /im MSACCESS.EXE

このデータベースファイルはネットワークドライブ上にあることに注意してください。

スクリプトファイルを実行すると(ダブルクリック)、データベースが開き、クエリが実行され、MSAccessが閉じます。タスクをテストとしてスケジュールすると、スクリプトが実行され、すべてが正常に実行されます。

タスクは午前6時にスケジュールされています。タスクの実行時にコンピューターにログインしていますが、コンピューターがロックされています。管理者権限があり、管理者グループに「バッチジョブ」権限があることを確認しました。私が見つけた/フォローした参考文献については、ここここここ、およびここを参照してください。これは、このエラーが発生したときに一部の人が直面する問題のようです。タスクは、オプションで「ユーザーがログインしているかどうかに関係なく」実行するように設定されています。ロックファイル(.LACCDB)が同じディレクトリに生成され、最後に変更された日時がタスクがスケジュールされた日時であるため、データベースが少なくとも開いていることはわかっています。

最後に、正常に実行されている別のデータベースでタスクスケジューラを使用してマクロを実行しています。このタスクのタスクプロパティの設定は同じであり、.DATファイルは0x80で失敗しているタスクと同じです。

このタスクが失敗するのはなぜですか?

4

1 に答える 1

0

マクロが書き込み中にテキストファイルを読み取ろうとしていることがわかりました。もちろん、これはマクロを壊しました。

于 2013-12-17T17:53:36.253 に答える