• ベストアンサー

Access 編集ができるクエリとできないクエリの違いは

いつもお世話になっています。 Accessの初歩的な質問ですが、編集ができるクエリ(データを書き換えることができる)とできないクエリがあります。その違いはなんですか?また、できないクエリをできるようにする方法はありますか? 教えてください、よろしくお願いします。

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

  • ベストアンサー
  • yeslets
  • ベストアンサー率31% (47/151)
回答No.2

そのテーブル構造だとすると、 BとCもアクセスでは多対多と認識されていると思います。 私の想像ですが・・・・    テーブルA=タイトル一覧    テーブルB=小分類のコード(ID)、小分類名、中分類名    テーブルC=中分類のコード(ID)、中分類名 でしょうか? テーブルAにある小分類を小分類コードとして、 テーブルBの主キーと結びます。 テーブルBも中分類のコードを入力するようにして、 テーブルCの主キーと結びます。 考え方は「リレーションシップの一方は必ず主キーにする」 ということです。

hasmiya
質問者

お礼

丁寧なご教授ありがとうございました。リレーションシップがおかしかったようで、修正したら思うように動作しました。まだまだ勉強不足です。ありがとうございました。

その他の回答 (1)

  • yeslets
  • ベストアンサー率31% (47/151)
回答No.1

いくつか原因が考えられますが、「編集できるようにしたい」 ということなので、集計クエリではないという前提で書くと、 「リレーションシップ」が関係しているのではないかと思います。 簡単な例をあげます テーブルA 番号(主キー) 氏名 テーブルB 日付(主キー) 番号 リレーションシップ:テーブルAの番号とテーブルBの番号(1対多) この例で次のクエリを作ると編集できないものになります。  日付 Aの番号 氏名  ← 編集不可 番号をBから持ってくると編集できます。  日付 Bの番号 氏名  ← 編集可 1対多のリレーションシップの場合には多の側 (無限大のマークのある方)のフィールドを使用すると 編集ができます。 クエリで使用しているテーブルにリレーションシップが作成されて いない場合も編集できないので、その場合はリレーションシップを 作成してください。

hasmiya
質問者

お礼

早速の回答ありがとうございました。いろいろ試していると、リレーションシップが関係しているようです。 <テーブルA>     番号(主キー)      タイトル        <テーブルB>                   ID(主キー)        <テーブルC> 小分類 ---リレーA----小分類           ID(主キー) 備考            中分類 ---(多対1)---  中分類 上記の図が大まかな構成です。テーブルAの「備考」を編集したいのですが、「リレーA」の部分が(多対1)にならず、編集できません。対処の方法はありますか?ぜひご教授ください、よろしくお願いします。      

関連するQ&A