Accessのフォームでテキストボックスとコンボボックスを使用する方法

このQ&Aのポイント
  • Accessのフォームにはテキストボックスとコンボボックスを設置することができます。
  • テキストボックスとコンボボックスを組み合わせることで、データの検索やフィルタリングを簡単に行うことができます。
  • 特定の条件に合致するデータだけをコンボボックス内に表示させることも可能です。
回答を見る
  • ベストアンサー

テキストボックスとコンボボックス

こんにちは、Accessのフォームにテキストボックスとコンボボックスを設置して、以下のような事ができないかと悩んでおります。 フォーム内には、テキストボックスとコンボボックスが設置してありまして、コンボボックス内にDB(会社名テーブル)から取得した全ての会社名が入っています。 しかし、そのレコード数が300件近くあるため、コンボボックス内から探し出すのに手間が掛かります。 そこで、コンボボックスの隣にテキストボックスを設置し、テキストボックス更新後に会社名テーブルの検索を行い、条件に合った会社名だけをコンボボックス内に入れることを考えているのですが、上手く行きません。 動作のイメージとしては下記のようになります。 (1)初期表示時はテキストボックス内に何も入力されていないので、全レコードがコンボボックス内に表示される。 (2)テキストボックスに「有限」と入力して、テキストボックスからフォーカスを移動させると、コンボボックス内に「有限」が会社名に含まれているレコードのみが入っている。 (3)テキストボックスを空白に戻すと、コンボボックス内には全レコードが表示 以上、どなたかご教授よろしくお願いします。

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

コンボボックスの「値集合ソース」の会社名の抽出条件に Like "*" & [Forms]![フォーム名]![テキストボックス名] & "*" コンボボックスの「フォーカス取得時」イベントのイベントプロシージャに Me.コンボボックス名.Requery マクロなら  アクション:再クエリ  コントロール名:コンボボックス名

amatou787B
質問者

お礼

早速のご教授ありがとうございました。 上記の方法で出来ました。

関連するQ&A

  • Access テキストボックスとコンボボックス

    Access初心者で、勉強がてらデータ登録フォームを作成しています。 フォーム上にコンボボックスを設置し、 テーブルに保存されているデータを検索できるようにしたのち、 テキストボックスのコントロールソースには簡単に 「=[コンボボックス].[column](2)」としています。(それぞれの名前は仮称です) 後から、テキストボックスひとつで 「コンボボックスからの検索結果を表示させる」と 「テキスト入力も可能とする」 を共存させたいと思い始めたのですが、可能になりますでしょうか。 ただし「コンボボックスからの検索結果表示」をしたテキストボックスに対し、 その情報をフォーム上で書き換えたとしても、テーブル側のデータ書き換えは行いたくありません。 よろしくお願いいたします。

  • ACCESS97のコンボボックスについて

    入社して、名刺を貰う機会が多い為、名刺を管理するものを初歩的な参考書を見てACCESS97で作りたいと思います。テーブルで数名の氏名・会社名・部署名・役職・住所を作りました。良く分からなかったので、この1つのテーブルを基にパラメータを使って検索する「検索用画面」と新しいレコードが表示される「新規入力画面」をクエリーとフォームを別々に作りました。検索用画面は、これで良しとします。しかし、新規入力画面は、同会社名が多いので、コンボボックスを作り今まで登録したものからも選べる様にもしたいです。新しいレコードでは、表示されませんが、▼で前のレコード(既に入力してあるデータ)に戻ると、エラーメッセージで「このフィールドに入力した値が不正です。例えば、数値型のフィールドに文字列を入力しました。」と出てきてしまいます。コンボボックスいうのは、コンボボックスウィザードで「テーブルまたはクエリーを表示する」を選び、表示させたいものを選ぶだけでは、いけないのでしょうか・・。くだらない質問で申し訳ありませんが、回答の方宜しくお願いします。

  • Accessのコンボボックスについて・・・

    こんにちは、Accessのフォームにコンボボックスを設置して、以下のような事ができないかと悩んでおります。よろしくお願い致します。 フォーム内には、部署名・氏名・住所・商品名など、クエリの列名をテキストボックスにて設置してあります。 フォーム内に別の(客先名専用)クエリでコンボボックスを設置し、コントロールソースには会社名を選択しています。 フォームビューでそのコンボボックスからひとつの会社名を選択すると、別の(客先名専用)クエリからでも、フォーム内にあるテキストボックス名と同じ列名であればテキストボックスに表示が可能ではないかと思っています。が、現在の状態だとコントロールソースで選択した会社名のみの表示だけです。どこかで設定する機能があるのか難しいVBでの設定しかないのか、それもわかりません。是非、この方法がおわかりになられる方ご教示下さいます様お願い致します。わかりずらい説明で申し訳ございませんが、よろしくお願い致します。

  • コンボBOXで抽出した値をテキストBOXに表示したい

    入力用フォームで注文フォームを作成しているのですが、コンボBOXで商品Noを抽出し、テキストBOXに商品名を表示したいのですが、 Private Sub コンボ1_AfterUpdate() Me!テキスト1 = Me!コンボ1.column(1) End Sub と入力したのですが、他の行にも同じ商品名が表示されます。 商品NoをコンボBOXで指定し、数量を手入力という入力フォームを作成したいのです。 作成方法を教えてください。 よろしくおねがいします

  • コンボボックスの値が消えてしまいます。

    コンボボックスの値が消えてしまいます。 フォーム(1)にコンボボックスA(値集合ソースはテーブル1)があります、この リスト外入力時で別フォーム(2)(レコード追加用)を開きテーブル1にレコードを追加、 フォーム(2)を閉じる時にコンボボックスAをリクエリかけてフォーム(1)に戻るとコンボボックスAが空になっているのでリストを開き選択し直さなければいけません! フォーム(1)に戻った時コンボボックスAに入力した値を選択させておくにはどの様にすれば良いか アドバイスよろしくお願いいたします。 WIN XP ACCESS 2003で作成しています。

  • アクセスのコンボボックスの内容が消えてしまいます

    入力フォームでサブフォームを作り、そこに設置したコンボボックスA,Bという2つの連鎖したコンボボックスがあります。 1つ目(1行目)を入力すると正常に動くのですが、2つ目のレコードに進み同様に入力していくと、1つ目のコンボボックスBの内容が消えて、2つ目のコンボボックスBが正常に表示します。 どうすればレコードが複数進んでも、コンボボックスBの内容が消えないようにできるのでしょうか?

  • 困ってます!Accessフォームのコンボボックス

    初心者です。とーっても困っています・・・。 顧客データを登録しているのですが、テーブルを元に登録フォームを作成しました。 商品がたくさんあって、4つのコードに分かれています。フォームの中に[A][B][C][D]と4つのコンボボックスを作成し、絞込み検索ができるようにはしました。 が、しかし、選んだデータがテーブルに表示されません。例えば[A]のコンボボックスの中から[1010]を選択、テーブルを見ると、他のテキストボックスに入力した情報は保存されているけど、コンボで選んだデータは空白です。 誰か助けてください!!よろしくお願いします。

  • VBでコンボボックスとテキストボックスの連係

    VBでフォームにデータコンボボックスとテキストボックスを一つづつ作り、データコンボボックスで値を選択し、その値に対する値をテキストボックスに表示させたいんですがどうすればいいでしょうか? データコンボボックスで選択する元になるテーブルは ID | 商品 1 | みかん 2 | ばなな 3 | りんご と、上記のような形のテーブルをもちいています。 例えばデータコンボボックスで「1」を選択した場合テキストボックスに「みかん」と表示させたいです。

  • コンボBOXとテキストBOXの連携の仕方

    コンボBOXとテキストBOXの連携の仕方を教えてください。 データテーブルに ID 色 1 赤 2 白 3 黄 4 青 というデータがあります。 メインフォームのID用コンボBOXにデータテーブルのIDリストを表示して選択できるように設定しました。 IDコンボBOXの横に、色用テキストBOXを作って、コンボに「1」と入れたらテキストBOXに「赤」と自動的に表示させたいのですがどのようにすればよいか教えてください。

  • Accessのテキストボックスとコンボボックスの違い

    フォームにテキストボックスを3ケ用意し、テキストボックス名をtxt1,txt2,txt3としました。これにコマンドスイッチを作成し、機能を再クエリと設定しました。 フォームのサブフォームに再クエリの結果を表示するようにしました。 クエリのテキストボックス1の抽出条件は 条件  [Forms]![フォーム名]![txt1] または [Forms]![フォーム名]![txt1] Is Null    [Forms]![フォーム名]![txt1] Is Null テキストボックス2の抽出条件は 条件  [Forms]![フォーム名]![txt2] Is Null または [Forms]![フォーム名]![txt2]  [Forms]![フォーム名]![txt2] Is Null テキストボックス3の抽出条件は 条件  [Forms]![フォーム名]![txt3] Is Null または [Forms]![フォーム名]![txt3] Is Null [Forms]![フォーム名]![txt3] と設定し、テキストボックスにデータを入力し実行すると 正しい結果が得られるのですが、テキストボックスをコンボボックスに変更し、コンボボックス名をtxt1,txt2,txt3 とすると、抽出されません。 コンボボックスをテキストボックスのように扱うのには どうするのでしょうか。教えてください。