- ベストアンサー
Access 編集ができるクエリとできないクエリの違いは
いつもお世話になっています。 Accessの初歩的な質問ですが、編集ができるクエリ(データを書き換えることができる)とできないクエリがあります。その違いはなんですか?また、できないクエリをできるようにする方法はありますか? 教えてください、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そのテーブル構造だとすると、 BとCもアクセスでは多対多と認識されていると思います。 私の想像ですが・・・・ テーブルA=タイトル一覧 テーブルB=小分類のコード(ID)、小分類名、中分類名 テーブルC=中分類のコード(ID)、中分類名 でしょうか? テーブルAにある小分類を小分類コードとして、 テーブルBの主キーと結びます。 テーブルBも中分類のコードを入力するようにして、 テーブルCの主キーと結びます。 考え方は「リレーションシップの一方は必ず主キーにする」 ということです。
その他の回答 (1)
- yeslets
- ベストアンサー率31% (47/151)
いくつか原因が考えられますが、「編集できるようにしたい」 ということなので、集計クエリではないという前提で書くと、 「リレーションシップ」が関係しているのではないかと思います。 簡単な例をあげます テーブルA 番号(主キー) 氏名 テーブルB 日付(主キー) 番号 リレーションシップ:テーブルAの番号とテーブルBの番号(1対多) この例で次のクエリを作ると編集できないものになります。 日付 Aの番号 氏名 ← 編集不可 番号をBから持ってくると編集できます。 日付 Bの番号 氏名 ← 編集可 1対多のリレーションシップの場合には多の側 (無限大のマークのある方)のフィールドを使用すると 編集ができます。 クエリで使用しているテーブルにリレーションシップが作成されて いない場合も編集できないので、その場合はリレーションシップを 作成してください。
お礼
早速の回答ありがとうございました。いろいろ試していると、リレーションシップが関係しているようです。 <テーブルA> 番号(主キー) タイトル <テーブルB> ID(主キー) <テーブルC> 小分類 ---リレーA----小分類 ID(主キー) 備考 中分類 ---(多対1)--- 中分類 上記の図が大まかな構成です。テーブルAの「備考」を編集したいのですが、「リレーA」の部分が(多対1)にならず、編集できません。対処の方法はありますか?ぜひご教授ください、よろしくお願いします。
お礼
丁寧なご教授ありがとうございました。リレーションシップがおかしかったようで、修正したら思うように動作しました。まだまだ勉強不足です。ありがとうございました。