• 締切済み

ACCESSのサブフォームとの受け渡し

初歩的な事で申し訳ありませんが、教えて下さい。 AとBというフォームが存在し、まずはAの画面より条件を入力し、入力されエンターが押されたら、 Aの条件をもとにして検索した結果が、Bのフォームに明細で表示されるというような事がしたいと考えております。 また、そのAの画面より入力された値は、常にBの明細データ のある項目に埋め込みたいと考えています。 具体的には、  《社員マスタ》   社員番号、氏名、日付、結果 というテーブルが存在し、Aの画面では"日付"が入力され、その日付 で検索と埋め込みを行いたいと考えています。 よろしくお願いします。

みんなの回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

タイトルにあるサブフォームを作成します。 サブフォームは 親のフォーム(仮にAフォーム)に中に子のフォームを配置します。 Aフォームのデザインモードにして、ツールボックスの中に サブフォーム/サブレポート というのがありますので、それをクリックして Aフォームの中に配置します。 後は、ウィザードに従って、親子のテーブルでリンクするフィールドを 指定してあげればOKです。

SANA_999
質問者

補足

言葉足らずで申し訳ありません。 ツールボックスの中のサブフォームを使用してしまった場合、親のフォームに組み込まれてしまうかと思われます。 画面の遷移として、  Bのサブフォーム(条件入力) ⇒ Bのサブフォームが終了 ⇒ Aのメインフォームが起動というような形にしたいと思っています。 可能であれば、そのパラメータ(条件)の渡し方も教えて頂ければと思います。 よろしくお願いします。 

関連するQ&A

  • Access2000のサブフォームについて教えて下さい。

    Win2000、Access2000を使用しています。 大中小の3つの検索条件でレコードの抽出をします。 検索条件を入力するフォームと同じフォームに検索結果を表示させます。 フォームの左半分を条件を入力する部分に右半分を結果を表示させるようにしたいんですがうまくいきません。 サブフォームを利用すればと思い試してみましたが、検索条件をWhere条件式でどのように設定すればよいのかわかりません。(テーブルのリレーションとか関係するんでしょうか?) サブフォーム以外で可能であればそれでも構いません。 どなたかお教えください。

  • ACCESS サブフォームでのエラー

    教えて下さい。 MENU画面(F_MENU)で、本日の年月を入力し、 MENU画面上の前年同月フィールドに、「200704」と表示させています。 その後、別フォーム(F_TOP)を開きコンボボックスで選択した条件で、サブフォーム(F_明細)を絞り込んでいます。 そのサブフォームには、非連結フィールドをつくり コントロール名には、以下を設定しています。 =[Forms]![F_検索_TOP]!F_検索_明細.Form!Controls([Forms]![F_MENU]![前年同月]) そして、F_TOPを開き、コンボボックスで選択すると、 絞り込まれたデータの1件目にのみ、検索結果が表示されます。 (後は、#Error) コンボボックスでどの検索条件にしても、最初の1件目のみ 表示されます。 サブフォームの元になっているデータには、 200704、200705、と年月別に実績が蓄積されており、 F_TOPで入力した日付から前年のフィールドを表示させる  ということが希望です。 なんだか、わかりずらい説明ですが、 このような現象を回避できる方法はありませんか?

  • Access2007でサブフォームを再クエリする

    ==環境== OS:Windows XP Professional Ver.2002 Service Pack 3 Access 2007 マクロを使って下記の操作をしようとしています。 以前Access2000を使っていて使用できたマクロが、Access2007では動かなくなってしまいました。 このマクロをどう修正したらいいのかわかりません。 [1]フォームAに作られた一覧表(テキストボックスを使って表示している) ----------------------------------- 品名------金額a-----金額b-----合計 製品1----5000-------6000@------11000 製品2----4000-------3000-------7000 ----------------------------------- [2]そのうち明細が見たい箇所のテキストボックスをクリック  ※この場合、製品1の金額bの明細を表示させたいので   `@マークが付いているテキストボックスをクリックしています。 [3]サブフォームを持つフォームBが開く [4]フォームBの検索条件 テキストボックスの『品名検索欄』に「製品1」を入力 オプショングループの『金額区分』の「b」がON [5]フォームBを再クエリ  ※フォーム上には再クエリボタンが設置されています。   サブフォームは「sub_form」という名前で配置されています。 ==2000でのマクロ== [3]から[5]について、以下のように作成しています。 (1)フォームを開く ・フォーム名:フォームB (2)値の代入 ・アイテム:[Forms]![フォームB]![品名検索欄] ・式:[Forms]![フォームA]![品名] (3)値の代入 ・アイテム:[Forms]![フォームB]![金額区分] ・式:2 (4)キー送信 ・キー操作:+{F9} ・待機:いいえ ==2007での状況== 2000で作成したマクロをそのまま使うと(4)が動かないようです。 フォームB上では品名と金額区分が入力されており、 サブフォームに表示されるはずのデータは空です。 フォームB上の「再クエリ」ボタンを押すとデータが表示されました。 試しに(4)キー送信を再クエリ(コントロール名:sub_form)に変えたところ 「カレントレコードには'sub_form'という名前のフィールドはありません。」 と表示されてしまいました。 このマクロをどう直したらいいでしょうか。 皆さん、よろしくお願いいたします。

  • Accessのメインフォームとサブフォーム

    メインフォームのコマンドボタンからサブフォームのテーブルを操作することは可能でしょうか? 【メインフォーム】    日付[_2006/2/3]   『回数A(コマンドボタン)』    品物[_りんご]    『回数B(コマンドボタン)』    製作所[_青森]  【サブフォーム】     社員コード 所属   氏名   回数A 回数B     [_1234]  [_福島] [_山田] [_1]  [_0]     [_2345]  [_山形] [_佐藤] [_1]  [_0] とあるときに、『回数B(コマンドボタン)』をクリックすると、サブフォームの社員コード 「1234」と「2345」の回数Bに「1」(回数B+1)を入力し、回数Aを「0」(回数A-1) としたいのです。 どのようにすればいいのでしょうか? よろしくお願いします。

  • Accessでデータベースを作っています。

    Accessでデータベースを作っています。 先日、こちらで質問をさせていただいて、クエリで複数のフィールドを対象にデータを検索する ことはクリアできました。 ありがとうございました。 ご指導に基づき、4つのフィールド(仮にA,B,C,D)について、クエリの抽出条件に  Like "*" & [Aを入力] & "*"  Like "*" & [Bを入力] & "*" ・・・ とそれぞれ設定してパラメータ入力を求め、4つの条件すべて、または一部のみ設定して検索し、 正しい検索結果が得られました。 今度は、検索用のフォームを作成し、フォームで入力した条件をクエリに送って、同じ結果を 得たいと思うのですが、以下の方法では正しい検索結果が出てきません。 ・フォームに検索用のボックスをA~Dまで4つ作成(ひとつはコンボボックス、あとはテキスト) ・クエリの抽出条件に、それぞれ以下を入力     Like "*" & [Forms]![Q_form(作成したフォームの名前)]!                       [A(それぞれの検索ボックスの名前)] & "*" ・フォームに「クエリの実行」のコマンドボタンを配置 パラメータで入力する代わりにフォームを使いたい、というものなのですが(パラメータ入力 よりも、コンボボックスを使って値を選ぶ方が検索する人には使いやすいかと思って)、どうしたら うまいこといきますでしょうか。。 教えてください。

  • <Access>2つの抽出条件が合致したデータをもってきたい

    アクセスを勉強中ですがいまいちです。 2つの抽出条件に該当するレコードを抽出させたいのですが、やり方がわかりません。 教えてください! (1)以下のようなテーブルを1枚作成。 職場名、氏名、社員No.、年、月 A-G、本多、012345、2003、10 A-G、鈴木、123456、2003、10 A-G、豊田、234567、2003、10 A-G、本多、012345、2003、11 A-G、鈴木、123456、2003、11 A-G、山羽、934567、2003、11 B-G、夏目、001234、2003、10 B-G、北原、012345、2003、10 B-G、松尾、023456、2003、10 B-G、夏目、001234、2003、11 B-G、北原、012345、2003、11 B-G、松尾、023456、2003、11 C-G、榎本、777012、2003、10 C-G、板垣、770123、2003、10 C-G、伊藤、701234、2003、10 C-G、豊田、234567、2003、11 C-G、板垣、770123、2003、11 C-G、伊藤、701234、2003、11 (2)検索フォームと結果表示フォームの2つを作成 a.結果表示フォーム  bで検索した結果を表示するフォーム(単票形式で個々の情報が表示される) b.検索フォーム  「職場」「日付」のコンボボックスと「検索」ボタンを設置。 要は、検索フォームで2つの条件(職場,日付)に合致した情報をaで表示させたい!! ですが今のところ、"職場"だけは条件通り出てくるのですが、日付が条件として読み取ってくれません。 わかるかたがいましたら、教えて頂きたいです。

  • Access2000のサブフォームで…

    今、サブフォームにデータを入力する時に、コンボボックスを使ってリストから入力させたいと思っています。 それで、サブフォームにコンボAとコンボBを作成しました。コンボAで選択した項目を条件として、コンボBのリストとして使用する値を抽出したいのです。 コンボAの更新後処理でコンボBを再クエリさせるVBAを組んでみたのですが、エラーメッセージが出て実行されません。 サブフォームを単独で表示させている時にはこのVBAが実行されるのに、親フォーム内のサブフォーム上では動かなくなってしまうんです。 どのたか、解決策を教えてください。お願いします!!

  • Accessサブフォームの入力可否について

    環境 Windows7 64bit Access2010 Accessのフォームをデータシートビューで開いた際に、行ごとにあるフィールドの値を見て、 入力可否を操作することは可能でしょうか。 たとえば、A列とB列が存在した場合、以下のような設定をしたいと思います。 A列が1なら、B列は入力可能 A列が2なら、B列は入力不可 といった感じです。 サブフォーム自体はテーブルと連結していて、入力不可なら(=A列が2なら) B列を着色するという条件付き書式を設定しています。(動作確認はまだですが・・・)

  • Accessのサブフォーム

    Access2000です。 フォームを作成し、ツールボックスより「サブフォーム/サブレポート」をクリックしてサブフォームを配置しました。 イベントがEnterとExitしかないやつです。 検索するとサブフォームのテキストボックスが・・・とかあるのですが、何の事やら?です。 この、配置したサブフォームと検索すると色々ヒットするサブフォームは別物なのでしょうか? このシンプルなサブフォームのソースオブジェクトにテーブルを指定して表示させています。 リンク子フィールドやリンク親フィールドは未設定です。 使い方が間違っているでしょうか? このサブフォームの使い方がイマイチよく分かりません。 検索しても前述のように存在しないイベント(?)等の説明でさっぱりです。 分かりやすくどなたかお願いします。。。

  • Access サブフォームにフィルターをかけるには

    Access初心者です、教えてください。 AのテーブルにIDと名前、BのテーブルにIDと電話番号と管理番号と業種があります。 メインフォームのテキストボックスでAのテーブルからあいまい検索で電話番号を検索、検索結果のIDでBテーブルのサブフォームにフィルターを掛けたいのですが、 どのようにしたらいいのでしょうか?

専門家に質問してみよう