「コマンドまたはアクション レコードの削除は無効です」と表示されてレコードが削除できない現象

何が起こったか

ACCESSで作ったアプリ。
削除ボタンを押すとレコードが削除される仕様。
やっていることは下記だけ。

DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord

これが動作しなくなった。
表題のメッセージが出て削除されない。

原因

対象テーブルはリンクテーブルであり、リンクを張る時点でACCESS側で主キーを指定していた。
このアプリを修正する必要があり、テスト環境で検証を行うため、リンクテーブルのリンク先をプログラムで書き換えた。
その際、指定していた主キーの設定がはずれてしまったようだ。

対応

そのリンクをいったん削除し、再度(主キーを設定しつつ)作成したらアプリは正常に削除の動作を行った。
コードは一切修正していない。