dポイントプレゼントキャンペーン実施中!

こんにちは。宜しくお願い致します。

ACCESS2003でDBを作成しています。
メインフォームの中にサブフォームを作っています。
それぞれのID(オートナンバー)をリレーションシップとして設定し、連動しています。

メインフォームにデータを追加する際、サブフォームにデータを入力せずに、
次のメインフォームにデータを入れた場合、
サブフォームのオートナンバーが働かず、のちのちデータを入れた際にIDが違うため情報がずれてしまいます。


例えば、
メインフォームのID1~9のサブフォームには何も書き込まずメインフォームにだけデータを入力します。
その後、メインフォームのID10にあるサブフォームにデータを書き込むと、立ち上げなおしたときに、そのサブフォームへの入力したデータがID1のデータとして出てきてしまいます。

恐らく簡単なことだとは思うのですが、なにぶん初心者なものでさっぱり分かりません。
お分かりになる方、是非ともご教授お願いいたします。

A 回答 (1件)

テーブルの作り方Orリレーション・・がマズイような気がしますが?



メインフォームの元になっているテーブル
サブフォームの元になっているテーブル
の構造はどのようなものですか?
一覧形式で提示してください。
こんな感じで↓
テーブルメイン
ID 主キー 、オートナンバー
氏名
・・・
テーブルサブ
ID 主キー 、オートナンバー
IDサブ 長整数型 、インデックスあり重複なし
明細名 テキスト型
・・・・・
それとメインとサブの関係、出来れば具体的な仮のデータを少し。

この回答への補足

ご回答ありがとうございます!

メインフォームの元になっているテーブル

 テーブル名:T商品マスタ
 主キー:商品コード
 その他:50~60くらいはあると思うので省略

サブフォームの元になっているテーブル

 テーブル名:T部屋1
 主キー:商品コード
 その他:100以上あるため省略
 (基本、料金を入れています。料金種別が多岐にわたる上、税別・込料金も入れているため、
  数が多くなってしまっています。)

メインフォームには、商品の詳しい情報、
サブフォームには、商品の料金を入れるようにしています。

ちなみに、メインのフォームにタブコントロールで8ページ作っていて、
それぞれに、T部屋1~8のサブフォームを設定しています。(内容は全て同じです。)

リレーションシップで、メインフォームと各サブフォームの商品コードを接続していて、
左の「テーブル/クエリ」部分に、T商品マスタ、
右の「リレーション テーブル/クエリ」部分に、T部屋1を設定しています。

また、その下の「参照整合性」と「レコードの連鎖削除」にチェックを入れている状態で、
リレーションシップの種類は、一対一です。


追加情報が必要でしたら、またお伝えください。
宜しくお願い致します!

補足日時:2012/05/16 16:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!