• 締切済み

[Access]複数のサブフォームで1つのテーブル

1つのフォームに複数のサブフォーム(sb1,sb2,sb3)があります。 そのサブフォームは1つの同じテーブルを参照しています。 そこで、sb1, sb2, sb3にデータを入力すると 全て別のレコードに書き込まれます。 これを1つのレコードに書き込む方法はないでしょうか? 簡単に、 sb1 には個人情報 sb2 には会社情報 sb3 にはメールアドレス のようになっています。 これが レコード1 個人情報 レコード2        会社情報 レコード3               メールアドレス となってしまいます。 これを レコード1 個人情報 会社情報 メールアドレス とするにはどうしたらよいでしょうか?? よろしくお願いします。

みんなの回答

回答No.2

それぞれのサブフォーム更新後にリクエリーすればできそうな気がしますが。 ひとつの入力フォーム上に、同一テーブルを参照するサブフォームを複数置く設計は、No1で回答した方が述べているように、あんまりよい方法ではないと、私も思います。

noname#7099
noname#7099
回答No.1

入力箇所が複数のサブフォームになるのはよくないと思います。 入力は別のフォームにしたほうが、誤入力を防ぐことができますよ。 本当は、入力専用のフォームを作ったほうがいいと思いますが、サブフォームのほうがよければ、入力用にサブフォームをついでにもう1つ、作ってはどうでしょうか。

youking
質問者

補足

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

関連するQ&A

  • Accessサブフォームの表示について

    はじめまして、yossy136kgと申します。 Microsoft Access2003のメインフォーム、サブフォームに関して下記の件、ご教授願います。 メインフォーム、サブフォームを作成しリンクして、あるテーブルのレコードをサブフォームに表示されることが確認できている状況です。 サブフォームのRecordSourceに設定しているテーブルに【複数件レコードがある】状態に対して、検索条件に満たない場合空の状態でサブフォームは表示出来ています。 確認したいことは、サブフォームのRecordSourceに設定しているテーブルが【0件(レコードがない)】の状態に対して、サブフォームを空の状態で表示することは出来ますでしょうか? 現状、サブフォームは非表示となっています。 ※ダミーデータを入れてそれを表示対象とするしかないのでしょうか? 何かご不明な点がありましたご指摘ください。 以上、宜しくお願い致します。

  • access サブフォームにリストを表示させたいが一件しかレコードが表示されない

    現在、アクセス(ver 2000)でデータベースを作っています。 その中で、入力フォームの下に、 サブフォームを使って 入力データのリストを作成しようとしています。 サブフォームによるリスト表示は、サブフォーム作成ウィザードを使用し 入力フォームと同じテーブルを使用しています。 しかし、どうしてもレコードが一件しか表示されません。(左図)。 理想としては右図のような、複数レコードを表示をしたいのですが どうしてもやり方がわかりません。 どうすれば、右図のような複数レコードを表示できるのでしょうか。 アドバイスお願い致します。

  • Accessでメイン、サブフォームへの入力について

    accessほぼ初心者です。 取引先の会社情報を管理するために、access2007で顧客管理を作成しています。現在、取引先本社情報とその支店情報を登録するフォーム「会社登録フォーム」を作成していますが、次のようなことで困っています。 <問題としていること>: 「サブフォーム」をクリックした瞬間に、テーブルにレコードが追加されてしまう。 <改善したいこと>: 本社テーブルの会社名が未入力ならば、上記の操作でレコードを追加しない。(会社名に主キーは設定していません。) <会社登録フォームの環境>: 会社の本社情報をメインフォーム、その会社の支店情報をサブフォームに、単票形式のタブコントロールで複数画面にして支社ごとに分けて入力できる登録フォームを作成しました。本社テーブルの会社IDを主キーに、支店テーブルの支店IDを主キーにしてリレーションシップを設定しています。 <会社情報の入力に関して行っていること>: ・メインフォームに「新規」「更新」「削除」ボタンを設置。 ・新規ボタンでメインフォームの「会社ID」に自動採番。 ・会社(本社)名がないと困るので、未入力の状態で「新規」「更新」及び「サブフォーム」をクリックされた際に「会社名が未入力です。」のメッセージを表示され「OK」で元の状態にもどります。 ・会社(本社)名が入力済みならば、「更新」ボタンで、メッセージ「OK」「キャンセル」が表示され、「OK」ならば本社テーブルにレコードが追加され「キャンセル」ならばそのままの状態になります。 上記の<問題としていること>の補足ですが、新規ボタンで新規登録フォームに会社IDが自動採番(末番)されるのですが、「会社名」を入力せず、先にサブフォームの支店情報から(タブ名「支店(1)」)入力しようとした場合、「会社名が未入力です。」のメッセージを表示されますが、この時点で本社テーブルに、この採番でレコードが追加されてしまいます。入力者がそのまま会社名(本社)から入力するも、途中でキャンセルした場合、再度新規登録をする際、登録フォームの自動採番がキャンセルされた採番の次の番号になります。 キャンセルされた会社情報空白のレコードができるということになります。これを回避したいのです。 出来るだけ詳細をとおもい説明が長くなりましたが、よろしくお願いいたします。

  • Accessのサブフォーム

    教えてください。 フォームの中にサブフォームを作っているのですが(入力用の)、 サブフォーム内のテキストボックスは、1件目のデータと新規レコード が表示されています。 この新規レコードのテキストボックスを表示しない方法はありますか? 2件目以降のデータ(新規レコード)を入力する際は「追加」の コマンドボタンを使用して、その都度、新規レコードを表示させたい のです。 よろしくお願いします。

  • ACCESSのサブフォーム

    ACCESSのサブフォームで、レコード表示について教えてください。 添付のサブフォームの一番左のコンボボックスに値を入力もしくは選択すると、未入力のレコードが下に1行分増えます。 (その他項目は連動して表示されます) サブフォームは帳票フォームを選択しているのですが、一般的には帳票フォームを選択した場合、レコードの数分だけ表示されると思うのですが、これは1レコードづつ増えていきます。 このサブフォームを作った人がもういないので、どうやって作ったのかが分かりません。 どなたか分かる人がいれば教えて頂けますでしょうか。 必要な情報があれば、調べて回答します。

  • Accessのサブフォームについて

    メインフォームとサブフォームのあるフォームを作成しました。メインフォームを入力してから、サブフォームを入力し、次のレコードへ移動するのにメインフォームの移動ボタンを押すと、次のレコードのカーソルがサブフォームのフィールドへ移動します。メインフォームに移動する方法はありませんか?

  • サブフォームが見えなくなる。

    サブフォームが見えなくなる。 Access初心者です。 メインフォームにサブフォームを入れ込んだのですが、メインフォームを新しいレコードに移動すると、サブフォーム自体が出てこなくなります。 データがあるレコードではきちんとサブフォームが出ていることが確認出来ています。 どうしていいのか判らないので教えて下さい。 マクロで入力ボタンを押すとメインのフォームを開き、新しいレコードに移動することをやっていますが、関係あるでしょうか? やりたいことはメインを新しいレコードに移動した時に、サブフォームが表示されて入力できるようにしたいということです。

  • マイクロソフト ACCESSのサブフォームについて教えてください。

    入力用のフォームを使用して、テーブルにレコードを入力し、その際にサブフォームを使用し入力履歴の一覧を参考表示させています。 フォームとサブフォームは、商品コードで関連付けていますが、フォームに商品コードを入力しただけでは サブフォームに履歴が表示されず、次のレコードに移り、再び、元のレコードに戻った場合のみ履歴が表示されます。 この場合、商品コードを入力したら、直ちにサブフォームに履歴を表示させる方法は何かありませんでしょうか。 どうぞご存知の方お助けください。

  • Accessのサブフォームからフォームフィルタを使ってメインフォームも含めたレコードの抽出が出来ないのは何故でしょうか?

    フォームフィルタを利用してサブフォームに入力されている値でレコードの抽出を行いたいのですが、うまくできません。 メインフォームが持っているレコード全てを持ってきます。 メインフォームに含まれているデータが100件なら、それ全てを表示してしまうということです。 私が抽出したいレコードは2件だけです。 メインフォームからフォームフィルタを利用して抽出すると正しい結果が得られます。 これはどうしてでしょうか? サブフォームへの設定が何か足りないのでしょうか? 親・子のフォームのテーブルは同一のものです。 カテゴリーで親と子にフォームを分けました。 親にはクエリはなくて、リレーションシップしたテーブル数種から直接フォームにひっぱってあります。 子は一つのテーブルからクエリを作って、そのクエリからフォームに引っ張っています。 Access2003です。 どなたかご教示いただきますようお願いいたします。

  • Accessのメインフォームとサブフォームの使い方について

    Accessにてメインフォーム(単票形式)+サブフォーム(帳票形式)を使って進捗管理をするデータベースを作っており、新規にメインフォームで入力し、サブフォームで入力したデータを表示させてます。 サブフォームで更新したいレコードをクリックしたときにメインフォームでそのレコードを表示させるにはどのようにすればよろしいのでしょうか?

専門家に質問してみよう