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で失敗しているタスクと同じです。
このタスクが失敗するのはなぜですか?