• ベストアンサー

access2000のサブフォーム同士の連携

お願いします。教えてください。 テーブル(1)部署(2)社員(部署とリンク)(3)顧客(社員とリンク) で作っていて、メインフォームを部署でつくりそこにサブフォームで社員をデータシートで出しています。更に部署のフォームでサブフォームをつくり顧客をフォームで出したいのです。 社員をクリックすると、その社員が抱えている顧客が出てくるという形にしたいのですが、できるでしょうか? クリックして別のフォームを現在出しているのですが、部署のフォームのサブフォームとして出したいのですが。。。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yoisho
  • ベストアンサー率64% (331/516)
回答No.2

社員サブフォームの例えば[社員名]テキストボックスの Click(または DblClick)イベントで 顧客サブフォームに Flterをかけてやる方法ではいかがでしょうか? 例えば、こんな感じで。 Private Sub 社員名_Click() Me.Parent![顧客サブフォーム].Form.Filter = "社員ID = " & CStr(Me!社員ID) Me.Parent![顧客サブフォーム].Form.FilterOn = True End Sub

その他の回答 (1)

回答No.1

解釈が違っていたらごめんなさい。 要は「社員」のフィールドで「顧客の一覧」が出ればよいのでしょうか? それでしたら (1)まず3つのテーブルにリレーションを設定し、 (2)デザインビューで「社員」フィールドのデータ型で  ルックアップフィールドとして「顧客」を設定したら いかがでしょうか。 顧客がプルダウン形式で選択できて便利だと思います。これではダメ?

nani-o
質問者

補足

ありがとうございます。フォームの中で、左にデータビューで社員の一覧のサブフォーム・右にフォームビューで顧客のデータがあって、左の社員をクリックすると顧客データが出る感じにしたいんですよねー。っていうか社員がそうの方がいいなんていってて。。。tanakacchiさんのプルダウンのやつも私はOKなんですけど。。。 いかがでしょうか?

関連するQ&A

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

    ACCESS-2000を使用しております。 リレーションシップを作成し、抽出されたデータをリストボックスに 表示されるようにしました。 そのリストボックスを他のフォームにサブフォームとして挿入し、 メインフォームとリンクをさせたいのですがこれは可能なのでしょうか? リストボックスに表示されるデータの元になっている2つのテーブルと、 リンクを張りたいメインフォームのデータテーブル(1つ)間にリレー ションシップを作成すればよいのでしょうか。 よろしくお願いいたします。

  • ACCESSのサブフォームをVBAで・・・

    よろしくお願い致します。 ACCESSのサブフォームをVBAでテーブルに入力するにはどのようにしたら良いのでしょうか? イメージ的にはボタンをクリックするとメインのフォームとサブフォームの両方のデータが、別々のテーブルに入力されるようにしたいのですが・・・ ご回答ください。お願い致します。

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

    ACCESSにおいて、サブフォームにデータを表示させた状態で、あるレコードをダブルクリックで選択させ、 そのデータ(対象レコード)をメインフォームに戻って使用させるにはどのようにしたらよろしいのでしょうか? サブフォームの該当箇所に、ダブルクリック時イベントを貼り付けて、 制御をメインフォームへ移すのでしょうか。 よろしくお願いします。

  • アクセス2003のサブフォームの値の代入

    アクセス2003でメインフォームにデータシートビューのサブフォームを作成しています。 そのサブフォームのフィールドにイベントで検索用の別のフォームを開くようにしています。 検索用フォームからサブフォームへマクロで値を代入するように しているのですが、サブフォームが見つからないというエラーが表示されます。 どこに問題があるのでしょうか? (ちなみにサブフォームだけ開いて検索フォームを開き値を代入するとうまく行きます。メインフォームからだとエラーになります。) どうぞよろしくお願いします。

  • Access2003 サブフォームについて

    サブフォームを持つ画面で 親子テーブルを共に更新しようとしていて挫折しかかっています。 そこで皆様の知恵を借りれれば幸いです。 <<画面表示>> メインフォーム…受注  ┗サブフォーム…受注明細 <<更新条件>> ・メインフォームは変更可能 ・サブフォームは追加、変更、削除可能 ・サブフォームのデータ変更時  →受注明細テーブルを更新しない ・メインフォームのデータ更新時  →受注テーブルを更新しない ・メインフォームの更新ボタン押下時  →受注テーブル、受注明細テーブルを更新 <<質問>> 1.サブフォームの値をテーブルへ  自動更新(項目変更時に付随更新)せずに  任意更新(ボタン押下時など)出来ますか?  [サブフォームに主キー項目を設置せず行追加すると Not Null制約で怒られます。] 2.VBで言うところのFlexGridの様にサブフォームを  制御出来ますか?  RecordSourceを使うのではなく、  VBA内で持っている値を各セルに設定する 3.そもそも同一画面内で親子テーブル共に更新することは  有り得ないことなんでしょうか?

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

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

  • Accessについて教えて下さい。

    Access初心者です。 フォームのクリック時のイベントで開いた別のフォームを、サブフォームのリンクフィールドように、リレーションの項目を入力しなくてもテーブルに反映させるにはどうしたらいいのでしょうか? 今現在の状況は テーブルは顧客リスト、送付物、問合せがあり顧客IDでリレーションになっています。フォームはそれぞれ作りました。 メインフォームは顧客フォームで問合せのサブフォームが組み込まれています。送付物フォームはボタンでクリック時開くようマクロで作成しました。where条件は[顧客ID]=[Forms]![顧客リスト]![顧客ID]となっています。 例えば手紙を送ることになり、顧客フォームで該当者を選択→ボタンをクリックし送付物フォームを開く →顧客IDを入力→その他必要事項を入力というかんじです。 顧客IDを入力しないと『フィールド顧客IDとキーが一致しているレコードをテーブル顧客リストで探すことはできません』とエラーになります。 問合せのサブフォームは顧客IDでリンクフィールドとなっています。 ID表示が必要ないので顧客IDは消してあります。 こちらは顧客フォームで該当者を選択し、顧客IDを選択しなくても入力すると問合せテーブルに顧客IDも反映されています。 問合せのように送付物にも顧客IDを選択しなくても反映させるようにするにはどうしたらよいでしょうか? 説明がわかりづらいとは思いますが、お分かりになる方よろしくお願い致します。

  • Access データアクセスページでサブフォーム

    タイトル、可能文字数が少なくて入れにくいですね。 と、愚痴ってしまいましたが、質問の内容は以下のとおりです。 環境: ・Win Xp Pro ・Access2002 顧客情報を表示、検索するフォーム(サブフォームあり)を作成しました。 あまりセキュリティ上、ガチガチのロックは必要ない情報ですので、DBパスワードのみ設定しています。 ただ、フォームのデザインを弄られたくないのと、利便性を考え、データアクセスページに変換しようと思っています。 ただ、上記顧客情報のフォームを、「名前をつけて保存」し、データアクセスページ形式を選択したところ、サブフォームが無視されてしまいました。 そこで、ウィザードを使って作ろうとしましたが、基になるクエリがひとつしか選択できないため、サブフォーム(別クエリが基になっており、メインフォームと顧客番号でリンクさせています)を追加できません。 ネットで調べても、あまり有意義な回答を得られませんでしたので、質問させていただきました。 ご存知のかたがいらっしゃいましたら、ご教授下さい。 よろしくお願いいたします。

  • ACCESS2000のサブフォームのデータをイベントプロージャで格納する方法

    前にも同様のご質問をさせていただきましたが、解決しませんでしたので、もう一度質問させていただきます。 データ入力をACCESSで入力をしたいと考えております。 今回の場合にはサブフォームを使用するのですが、メインのフォーム側のボタンをクリックしただけで、メインのフォームに書かれたデータはメインのテーブルへ、サブフォームに書かれたデータはサブのテーブルへそれぞれデータを格納するには、[イベント プロシージャ]ではどのように記述すればよろしいのでしょうか。 よろしくお願いいたします。

  • ACCESS2003 サブフォームのデータ

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