• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:accessについて教えてください)

アクセスのエラーメッセージについて

このQ&Aのポイント
  • アクセスのエラーメッセージについて教えてください。
  • 売上管理フォーム作成中にエラーメッセージが表示されました。
  • リレーションシップ設定時のエラーメッセージが理由不明でした。

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

(1):  同一モジュール内に「終了_Click」というプロシージャが複数あるのではないでしょうか。  (オートフォームで作成したのに、なぜそういうことになったのかはわかりませんが(汗))  VBE画面(コード編集画面)を開いたら、キーボードのCtrl+Fキーなどで検索画面を出し、  『検索する文字列(F)』に「終了_Click」を、『対象』に「カレント モジュール(M)」をそれぞれ  指定して検索してみて下さい。 (2):  例えば以下の2つのテーブルがあって、それぞれの『MID』フィールドに、参照整合性ありで  「一対多」のリレーションシップを設定していた場合、  『種別』テーブル:   MID  種別名    1   果物    2   野菜    3   魚介  『詳細』テーブル:   ID MID  品名   1   1   りんご   2   1   みかん   3   2   大根   4   2   人参   5   3   ブリ   6   3   マグロ  「一対多」の「一」側である『種別』テーブルで、「野菜」のMIDを「2」から「0」に編集したり、  「野菜」のレコードを削除したりしようとすると、ご質問の場合と同様のエラーが発生します。  ただ、このエラーは、新規レコードへの入力時には発生しないはずなので・・・「新規レコード  のように見えて実際は新規ではない(=空白に見えるデータが入った)レコード」がある、  のかもしれません。 (・・・この場合、「そのデータとリレーション関係にあるデータ」というのの正体が不明ですが(汗))  とりあえず、そのフォームを開いたときに確実に新規レコードになるようにするには、   a)フォームをデザインビューで開き、プロパティシートの『データ』タブで『データ入力用』    を「はい」にするか、   b)フォームを開く時にデータ入力モードを指定する    ・マクロであれば、マクロのデザインビューで『フォームを開く』アクションの行を選択し、     左下の『データモード』で「追加」を選択    ・VBAであれば、「DoCmd.OpenForm」の5番目の引数(DataMode)に「acFormAdd」を指定  のいづれか都合のよい方を行います。  (「既存データを表示した上で新規レコードに移動」という方法もありますが、非効率なので   割愛)  なお、上記のようなテーブル関係にある場合は、フォームのレコードソースは「多」側の  『詳細』テーブルを使用し、『種別』テーブルの情報はコンボボックスで表示、という形に  した方が、(既存データの編集時も含めて)今回のようなエラーを起こさないですみます  ので、参考まで。

aki8i8
質問者

お礼

DexMachina様 とても丁寧な解答ありがとうございました 出来上がったテキストボックスを一度消して作り直したので 新規ではないからエラーが出たのでしょうか? テキストボックスの名前が違っていました とても分かりやすい解答をいただき助かりました ありがとうございました

関連するQ&A

専門家に質問してみよう