「コマンドまたはアクション レコードの削除は無効です」と表示されてレコードが削除できない現象
何が起こったか
ACCESSで作ったアプリ。
削除ボタンを押すとレコードが削除される仕様。
やっていることは下記だけ。
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
これが動作しなくなった。
表題のメッセージが出て削除されない。
原因
対象テーブルはリンクテーブルであり、リンクを張る時点でACCESS側で主キーを指定していた。
このアプリを修正する必要があり、テスト環境で検証を行うため、リンクテーブルのリンク先をプログラムで書き換えた。
その際、指定していた主キーの設定がはずれてしまったようだ。
対応
そのリンクをいったん削除し、再度(主キーを設定しつつ)作成したらアプリは正常に削除の動作を行った。
コードは一切修正していない。