• 締切済み

ACCESS2003 サブフォームのデータ

こんにちは。宜しくお願い致します。 ACCESS2003でDBを作成しています。 メインフォームの中にサブフォームを作っています。 それぞれのID(オートナンバー)をリレーションシップとして設定し、連動しています。 メインフォームにデータを追加する際、サブフォームにデータを入力せずに、 次のメインフォームにデータを入れた場合、 サブフォームのオートナンバーが働かず、のちのちデータを入れた際にIDが違うため情報がずれてしまいます。 例えば、 メインフォームのID1~9のサブフォームには何も書き込まずメインフォームにだけデータを入力します。 その後、メインフォームのID10にあるサブフォームにデータを書き込むと、立ち上げなおしたときに、そのサブフォームへの入力したデータがID1のデータとして出てきてしまいます。 恐らく簡単なことだとは思うのですが、なにぶん初心者なものでさっぱり分かりません。 お分かりになる方、是非ともご教授お願いいたします。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

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

chocho777
質問者

補足

ご回答ありがとうございます! メインフォームの元になっているテーブル  テーブル名:T商品マスタ  主キー:商品コード  その他:50~60くらいはあると思うので省略 サブフォームの元になっているテーブル  テーブル名:T部屋1  主キー:商品コード  その他:100以上あるため省略  (基本、料金を入れています。料金種別が多岐にわたる上、税別・込料金も入れているため、   数が多くなってしまっています。) メインフォームには、商品の詳しい情報、 サブフォームには、商品の料金を入れるようにしています。 ちなみに、メインのフォームにタブコントロールで8ページ作っていて、 それぞれに、T部屋1~8のサブフォームを設定しています。(内容は全て同じです。) リレーションシップで、メインフォームと各サブフォームの商品コードを接続していて、 左の「テーブル/クエリ」部分に、T商品マスタ、 右の「リレーション テーブル/クエリ」部分に、T部屋1を設定しています。 また、その下の「参照整合性」と「レコードの連鎖削除」にチェックを入れている状態で、 リレーションシップの種類は、一対一です。 追加情報が必要でしたら、またお伝えください。 宜しくお願い致します!