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を区分名で表示し、作業をしたいと思います。


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

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

回答の条件
  • 1人50回まで
  • 登録:2009/05/20 10:54:39
  • 終了:2009/05/20 22:06:02

ベストアンサー

id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912009/05/20 14:31:20

ポイント50pt

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


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

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


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

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

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

id:kia_44

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

2009/05/20 22:05:27

その他の回答(1件)

id:frkw2004 No.1

ふるるP回答回数192ベストアンサー獲得回数212009/05/20 11:48:16

ポイント53pt

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

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)」を選択して表示されるページが参考になるかと思います。

id:kia_44

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

2009/05/20 22:05:25
id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912009/05/20 14:31:20ここでベストアンサー

ポイント50pt

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


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

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


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

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

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

id:kia_44

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

2009/05/20 22:05:27
  • id:Mook
    レコードのデータセットをダイナセットにしたらできないでしょうか。
    こちらで簡単なテーブルで試した範囲では出来ましたが。
    http://support.microsoft.com/kb/328828/ja
  • id:kia_44
    Mookさん回答にどうぞ~。ポイントつけられないっすよ。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません