バージョン
Windows10 Pro バージョン1909 OSビルド18363.1171
Access for Microsoft 365 MSO(16.0.13328.20262)32ビット
症状
それまで正常に実行できていたSQLが下記エラーで急に実行できなくなる。
実行時エラー3001 引数が無効です
デバッグモードで止まっているSQLのコードに対して、再開ボタンを押すとなぜか正常に実行できる。
つまり、 特定のテーブルに対する特定のSQLの1回目の実行だけ エラーになる。
何がどうなっとるんじゃい
Accessが内部で保持してる設定情報が、画面上のものと違っているらしい。
要はテーブル定義がおかしくなってしまったと…。
はぁ…(´・ω・`)
テーブルを一旦削除して再作成
まずはバックアップを取る
この件に限らずだけど最悪作業前まで切り戻しできるように。
Accessならファイルをコピぺ。
んでんでんで…だめっこどうぶつになってるテーブルをXMLファイルとして一旦書き出し。
だめっこどうぶつのテーブルは削除。
ここで可能なら 最適化/修復 ができるとよいかも。(おまじない)
生き返れ…生き返れ…。
まずはxsdファイルでテーブル定義を復活させるんば。
テーブルが出来上がったら次はレコード復元。
終わり。
参考サイトさん
蛇足
本当は日次バックアップとかから復元して、バイナリログからロールフォワードした方がデータベースの復元としては正しいのかな…?まあ…そのへんはね…うん…(´・ω・`)
『テーブルをxmlで一旦退避して再作成』はなんかAccessの動作が不安定な時の対処法の一つとしても使えるかなと思います。(なんか動作が不安定ってどういうことやねん…)