半年ぶりにAccessでお仕事しようとしたら、まいと~くFAXへ渡す記述の所で
Mirosoft Access は動作を停止しました
問題が発生したため、プログラムが正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合はWindows から通知されます。
、、、ってたまにあるパタンです。
ネットをみてコマンドプロンプトで逆コンパイル実行
PATH\Accessのファイル.accdb /decompile
として正常動作となりました。なんなのでしょうか?コードの書き方、サードバーティープログラムとの連携、Windowsの状態などにより出る感じ。あくまでも感じ。デジタルの世界なので原因は絶対にあるはずですがその原因を究明するスキルはありません。結果オーライです。
↑取り消し線は対策になっていませんでした。本番の環境に適用したら同様のエラーで焦りました。1行づつ実行してエラー箇所を突き止めたところ、ADOをつかってデータをテーブルに格納するカラムの文字数オーバーだったことが原因でした。INSERT文をクエリSQLで流すと規定の文字長でデータが切れて格納(エラー無し)され、ADOの場合はAccess落ちとなりました。そもそも自分が書いたソースが悪いので文字数をカウントし格納可能文字数よりも多いときはメッセージを出しエラー処理後プログラムから抜けるように作り直しました。何がエラーになるかを最初に想定してソース内に確実にエラー処理を組み込む事の重要性を認識しました。
今回はマシンを止めているのでWindowsUpdate、PCのお掃除もしてリフレッシュしました。
コメント