• 締切済み

Accessのフォームの詳細カテゴリーでのテキストボックスについて

Accessで以下のようなフォームを作成しました。 -------------ヘッダー---------------------------- [名前] [所属コード] [ 詳細 ] -------------詳細-------------------------------- あいう [ ] [ ] かきく [ ] [ ] さしす [ ] [ ] 名前と所属コードはテーブルにフィールド定義しています。 ここで、所属コードが入力されると、そのコードからほかの テーブルを検索し詳細に内容を出力しようとしているのですが 詳細に値をセットすると全レコードの詳細のテキストボックス に内容がセットされてしまいます。 「あいう」の所属コードが入力されたら「あいう」の詳細テキスト ボックスのみに値を入れることはできないのでしょうか? やはり、新たにクエリを作って詳細を紐付けるか「詳細」を同じ テーブルのフィールドとして定義するしかないのでしょうか? ご教授願います。

みんなの回答

回答No.1

今日は。 (1)フォームは帳票フォーム形式 (詳細の[詳細]欄は、レコードが違えど同じテキストボックス名となっている状態) (2)[所属コード]欄のイベントに、VB(イベントプロージャ)で[詳細]テキストボックスへのデータセットコードを記述 ということでよろしいでしょうか? VBからは、各テキストボックスに対して処理をたがえるには、名前が違っていないと無理だと思います。 表示データレコードが多数でなければ使える手ですが… [詳細]テキストボックスのコントロールソースプロパティに、 式ビルダからDLookup関数をセットしてあげれば大丈夫だと思います。 ↓こんな感じに =DLookUp("[詳細に表示したい項目名]","[取得元テーブル名]","WHERE条件") WHERE条件の部分は 所属コード='" & [所属コードテキストボックス名] & "'" という感じになるのでしょうか。 あんまりレコードが多い画面となると、表示に少し時間がかかってしまいます。

cowabunga
質問者

お礼

丁寧な回答ありがとうございます。 早速試しにやってみます。 ちょっとレコードが多いので気にはなりますが。。。 どうもありがとうございました。

関連するQ&A

  • AccessのフォームのテキストボックスにLOOKUPで表示したい

    かなり初心者です。 Accessに【顧客テーブル】と【担当者テーブル】を作成しました、それぞれに【担当者コード】というフィールドを作っています。この【顧客テーブル】に顧客情報をフォームで入力していきたいのですが、顧客テーブルの【担当者コード】フィールドに担当者コードを入力した際、【担当者テーブル】の担当者名がExcelのLOOKUPと同じように表示できると思ってやりましたがうまくいきません。 テキストボックスのコントロールソースに =VLOOKUP([担当者コード](フォームのテキストボックスの名前),[T_担当者テーブル],[T_担当者テーブル]![社員名])・・・と入れたら、#Name?エラーが出ます。 Lookupは使えませんか?他に方法ありますか? よろしくお願いします。

  • 【Access】 テキストボックスへの入力

    毎回お世話になっております。 現在、フォームの編集をしております。 フォームはヘッダー部分と詳細部分に分かれており、ヘッダーの部分に「テキストボックスAに取引先コードを入力し、検索ボタンを押すと、同ヘッダーのテキストボックスBに該当する取引先情報が表示される」仕組みになっています。 詳細の部分には、新規の顧客情報を入力するテキストボックスが並んでおり、各レコードをテーブルに保存できるようになっています。 現在解決したい点なのですが、ヘッダーのテキストボックスBに表示された取引先情報を、ボタンを押す等の何らかの方法で、詳細の中のテキストボックスCに入力されるような仕組みが出来れば、と考えております。 (テキストボックスCのコントロールソースを変更する方法も考えましたが、各項目のソースはクエリとリンクしているので、この方法は止めました。) アイディアをお持ちの方、アドバイスを頂けますと幸甚です。 宜しくお願いします。

  • access 検索結果をテキストボックスに表示させる方法

    過去の質問見たのですが、どうもうまくできません。 現在の状況ですが、 「商品」「詳細」テーブルがあります。 各レコードの商品にはユニークなコードを付番してあります。 現在、詳細フォームを作成中です。 この、詳細フォーム上にテキストボックスを作成、コード入力をします。 次に検索ボタンを押した時、同じ詳細フォーム上の「名称」「規格」・・などのフィールドに商品テーブルの内容を自動入力させたいのです。 意味、わかりますでしょうか。 なんか、色々試して混乱してきてしまいました。 初心者です。よろしくお願いします。

  • AccessのフォームのテキストボックスにLOOKUPで表示したい

    かなり初心者です。 Accessに"顧客テーブル"と"担当者テーブル"を作成しました。この顧客テーブルに顧客情報をフォームで入力していきたいのですが、顧客テーブルの担当者コードフィールドに担当者コードを入力した際、担当者テーブルの担当者名がExcelのLOOKUPと同じように表示できると思ってやりましたがうまくいきません。 テキストボックスのコントロールソースに =VLOOKUP([担当者コード],[担当者テーブル]![社員コード],[担当者テーブル]![社員名])・・・と入れたら、#Name?エラーが出ます。 Lookupは使えませんか?他に方法ありますか? よろしくお願いします。

  • アクセスフォームで2つを結合テキストボックス

    アクセス2000を使っています。 フォームで2つのテキストボックスの内容を並べて表示するテキストボックスを作成するには、どのようにコントロールソースに入力したら良いでしょうか? =[フィールド名]&[フィールド名] ではErrorやName?、「-1」などが表示されてしまいました。 (&の前後に半角空白を入れたりしました。) よろしくお願いいたします。

  • アクセスVBA テキストボックス入力値からの参照

    マイクロソフトアクセス初心者です。 現在、アクセスでデータベースを作成しています。 2つのフォーム(フォーム(1)、フォーム(2))、2つのテーブル(入力情報、マスタ)、2つのテーブルをもとにした1つのレポートを作成しています。 『フォーム(1)』のテキストボックスAに入力された値を、Dlookup関数で『フォーム(2)』のテキストボックスBに数値を参照しています。 『フォーム(2)』のテキストボックスに表示された値を、『フォーム(2)』に設置されたコマンドボタンをクリックすると、VBAで『テーブル入力情報』のフィールドAに入力されるようにしています。フィールドAについてのマスタとなるテーブルが『テーブルマスタ』です。 リレーションシップを設定せず、ただ単に値を入力することは出来るのですが、レポートを作成するにあたって、『テーブル入力情報』と『テーブルマスタ』のフィールドAに1(テーブルマスタ)対多(テーブル入力情報)のリレーションシップを設定したいと思っています。 リレーションシップを設定し、テキストボックスBに表示された数値を『テーブル入力情報』に入力する際、『テーブルマスタ』から該当するデータを選択して『テーブル入力情報』に入力されるようにしたいと思うのですが、現状では、リレーションシップを設定すると、入力値が真っ白になってしまい、レポートにも入力したデータが反映されません。 ちなみに、入力する際はフィールドA=Me.テキストボックスBのようにしています。 何か良い解決策がありましたら、是非教えていただけませんでしょうか? 分かり難い文章かと思いますが、どうぞ宜しくお願い申し上げます。

  • ACCESSのフォーム(テキストボックス)について

    テキストボックスに入力された文字が多いと、下方が隠れて見えなくなってしまいますが、 テキストボックス内部をいちいちスクロールするのではなく、テキストボックスがアクティブになったら、 中のテキストをポップアップのように表示させる機能(か、VBA)ってあるのでしょうか。 テキストボックスsetfocusで、フィールドをラベルに渡す??? できるだけわかりやすいように書いたつもりです。 でも、わかりにくかったら、すんません!

  • Accessのフォームで…

    Access 2010のフォームのリストボックスで、あるテーブルのフィールドの値を選択した場合に、同じテーブルの同じレコードにある違うフィールドの値を、テキストボックスに読み込みたいのですが、どうすれば出来ますでしょうか? VBAのサンプルソース等でも構いません。回答お願いしますm(_ _)m

  • 非連結のテキストボックスにフォーム値を元に表示する

    ACCESS2013です。 単体テーブル:受注 でフォームを作成しております。 最初は、3つ以上のテーブルをクエリーで作成して、それでフォームを作成しようと考えて いましたが、3つ以上のテーブルクエリーでフォームを作成すると、項目の編集ができません。 ダイナセットから矛盾ありの設定にすると、編集ができるようになりますが、各フィールド間 の連携が無くなってしまいます。 受注画面に店コードを入力すると、その店の該当エリア名を非連結のテキストボックスに 表示したいです。 マスタテーブルとして、  M_店(店コード、店名、エリアコード)  M_エリア(エリアコード、エリア名)   受注テーブル(受注No.、店コード・・・・) フォーム上の非連結テキストボックスのコントロールソースに設定できれば一番いいのですが。 どうぞ、よろしくお願いします。

  • access2000 vba の テキストイベント取得

    access2000 vbaで、プログラムを組んでいます。 画面にテキストボックス1と、表(あるテーブルの内容をあらわしているもの)があります。 [初心者でこの表のうまい言い方がよくわかりません・・] テキストボックス1は、プロパティの、データ/コントロールソースが、あるテーブルのコードになっています。 このテキストボックス1は表のレコードを選択することにより、内容が変わります。(選択したレコードの、コード値になります。) ここで、テキストボックス1の値が変化したときに、イベントを発生したいのですが、なかなかできません。 change,afterupdateではだめでした。 うまくつたわらないかもしれませんが、手入力以外による値の変化は、テキストボックスイベント検知はできないものでしょうか。

専門家に質問してみよう