人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Accessの質問です。

TABLE1 '(商品マスタ)
商品,区分1,区分2,単価
りんご,1,1,100
みかん,1,2,200
とまと,2,1,300

TABLE2 '(区分1)
区分1,区分1名
1,果物
2,野菜

TABLE3 '(区分2)
区分2,区分2名
1,赤いの
2,黄色いの

というようなテーブルがあります。
*TABLE1とTABLE2、TABLE1とTABLE3は一対多の結合になります。
Accessにてフォームを作成し、単価の更新をしたいです。
TABLE1の区分1区分2を区分名で表示し、作業をしたいと思います。


クエリを作ってそのクエリからフォームを作成しても更新ができなくなりました。(当然ですけど)

なんかいい方法あれば教えてください。参考になるページの案内でもかまいません。

●質問者: きあ
●カテゴリ:コンピュータ
✍キーワード:access みかん りんご クエリ 作成
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ふるるP
●53ポイント

主キーを設定して、次のクエリを作りましたが、更新できました。

SELECT Table1.商品, Table2.区分1名, Table3.区分2名, Table1.単価

FROM (Table1 INNER JOIN Table2 ON Table1.区分1 = Table2.区分1) INNER JOIN Table3 ON Table1.区分2 = Table3.区分2;

Table1の主キーは

商品,区分1,区分2

Table2の主キーは

区分1

Table3の主キーは

区分2

としています。

クエリで更新できない場合というのがありますが、アクセスのヘルプにある更新できないパターンの説明をみて、当てはまるかどうか確認してはどうでしょうか。

「データの更新について」で検索して見つかったページから、「クエリからのデータ更新について(MDB)」を選択して表示されるページが参考になるかと思います。

◎質問者からの返答

ちょっと調べてみます。ありがとうございました。


2 ● Mook
●50ポイント ベストアンサー

簡単な情報だったのでコメントで失礼しましたが、お言葉に甘えて回答させていただきます。


フォームからアップデートができない構成はいろいろなケースがあるようですが、今回のような

簡単な構成であればレコードのデータセットをダイナセットにしたらできないでしょうか。


http://support.microsoft.com/kb/328828/ja

多対一対多のリレーションシップが設定された 3 つ以上のテーブルに基づくクエリでは、クエリで直接データを更新することはできません。フォームやデータ アクセスページでは、データを更新できます。フォームの [レコードセット] プロパティを [ダイナセット (矛盾を許す)] に設定すると、クエリに基づいてデータを更新できます。 

こちらで簡単なテーブルで試した範囲では更新(新規レコードの追加も含む)が出来ました。

◎質問者からの返答

ありがとうございました。できそうです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ