• ベストアンサー

access フォームのコンボボックスでの式

となりのテキストボックスに入力があったらコンボボックスからリストを自動選択、テキストボックスが空白なら手動でリスト選択という風にしたいのですが、コンボボックスのコントロールソースに直接式を入れても、また、フォームの元になるクエリのフィールドに式を設定してもうまく動きません。 良い解決方法はありませんでようか? どう質問したら良いかわからず大雑把でわかりづらいかもしれませんが、宜しくお願い致します。 質問に足りない情報がありましたら、補足しますのでお願いします。

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

補足ありがとうございます。状況が分かってきました。 1.商品マスタに「商品コード」と「仕入先コード」がある。 2.テキストボックス(商品コード)を入力すると、コンボボックス(仕入先コード)を自動入力。 3.商品コードが無い場合、コンボボックスから仕入先コードを選択。 と言う事でしょうか。 この処理を実現するにはVBAを使うしかないと思います。 足りない情報情報があるので、以下のように仮定します。 商品マスタのテーブル名「商品マスタ」 商品コードのデータ型 「数値型」 テキストボックスの名前「テキスト0」 コンボボックスの名前 「コンボ1」 以下手順 フォームのデザイン画面を開く 「テキスト0」のプロパティ→イベント→更新後処理 を「イベントプロシージャ」に [表示]→[コード]でVBの画面を開き、下記をコピペ ----この下から---- Private Sub テキスト0_AfterUpdate()  'テキストボックスが更新された後の処理です。  '商品マスタから商品コードをキーにして、仕入先コードを参照します。  コンボ1 = DLookup("仕入先コード", "商品マスタ", "商品コード=" & テキスト0) End Sub ----この上まで---- VBの画面を閉じる 以上手順 こんな感じでいかがでしょうか?

hinamama1107
質問者

お礼

ご回答ありがとうございます。 早速明日会社で実行してみます。 夜になりますが、また結果を報告に来ます。 ありがとうございました。

hinamama1107
質問者

補足

おかげさまで無事解決しました。 またわからないことが出てきたら質問に来ますので宜しくお願いします。 ありがとうございました。

その他の回答 (1)

  • venzou
  • ベストアンサー率71% (311/435)
回答No.1

テキストボックスとコンボボックスのコントロールソースに同じフィールドを設定すれいいのでは? 例 テキストボックスのコントロールソース="フィールド1" コンボボックスののコントロールソース="フィールド1" これで連動すると思いますが・・・こういう事ではないのかな? 質問の意図を取り違えていたら、ごめんなさい。

hinamama1107
質問者

お礼

ご回答ありがとうございます。 やはり質問の仕方が悪かったようです・・・ 補足に付け足したので、また回答を頂けたらと思います。宜しくお願い致します。

hinamama1107
質問者

補足

テキストボックスは商品コード、コンボボックスは仕入先コードです。 商品はコードがあるもののみ登録しております(これは管理上変更不可です)ので、テキストボックスにに商品コードが入るものと入らないものがあります。 登録の無い商品の売上入力の際に仕入先をコンボから手入力したいのです。 登録のあるものはクエリから自動でコンボで表示させ、無いものを手動で選択・・・といった感じです。 宜しくお願い致します。

関連するQ&A

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

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

  • Access フォーム コンボボックス

    フォーム上のコンボボックスの選択したデータをテーブルに保存するにはどのようにすれば宜しいのでしょうか? 実際のものは、社員が複数人表示されていまして、その社員一人一人が1日ごとの出勤が可能か不可能かをコンボボックスから選択しテーブルに書き込みたいのですが、その社員一覧のテキストボックスと出勤可・不のコンボ(コントロールソースにてテーブルの各日付ごとに設定)をフォームに作ったところ、社員一覧と社員に対するコンボがずらっと表示さるのですが、コンボを選択しようとしますと下部に「このコントロールは式○○に連結しているため編集できません。」と表示されます。 長文になり、尚且つかなり分かりづらい説明で申し訳ございませんが宜しくお願い致します。

  • Access フォームコンボボックス空白をクエリで抽出したい

    現在access2000を使って、 フォーム1内にコンボボックスを作って コンボボックス内に1,2,3 と項目を入れています。 一方、クエリを使って、上記フォーム内のコンボボックスをつなげて1,2,3をそれぞれ抽出することはできるのですが、 1から3まで全てをiif関数などで 抽出したいと考えてします。 僕が考えた関数は iif(isnull([フォーム1][コンボ1]),is not null ,[フォーム1][コンボ1]) とクエリ抽出条件内に入力すると、結果は、 1、2、3をそれぞれフォームコンボボックスで選択すれば、クエリに反映されるのですが、コンボボックス内を「空白」の状態にすると、1,2,3すべてがクエリで抽出されるのではなく、何も抽出されないという結果になってしまいます。 どうすれば、クエリで1から3すべてを抽出することができるのでしょうか?多分、iif関数内の「空白」は空白として処理されないような気がします。 よろしくお願いします。

  • Access2000 コンボボックス内の並べ替え

    フォーム上で指定した条件で選択クエリを作り、クエリのデータを フォーム上のコンボボックスに表示するようにしました。 (選択クエリのフィールド:   「ID」、「名称」、「条件(指定の状況により数が変わる)」) 選択クエリを見ると「ID」が昇順で並んでいるのですが、 フォームのコンボボックスは「名称」が昇順で表示されます。 コンボボックス上でも「ID」が昇順になるようにするには どうすればよいのでしょうか? よろしくお願いします。

  • コンボボックスの値リストをクエリーでも表示する方法?教えて

    フォームにコンボボックスを作ったのですが、コンボボックスの値リストを表示するフィールドをクエリのフィールドでもリストを表示選択できるようにする方法を教えていただけませんか?

  • Access 商品マスタフォームの検索コンボBOX

    商品マスタフォームのヘッダーに非連結のコンボボックスを設けて、 商品検索キーを使ってフォームにデータを表示させるようにしています。 フォーム「商品マスタ」 選択クエリ「商品検索」(フィールド:「商品ID」「検索キー(カナ2文字)」「商品名」) コンボボックス「cb検索」 更新後処理に「再クエリマクロ」 うまく動作していますが、検索コンボボックスをもう一つ設けて、 仕入先からも検索できるようにしたいと思いました。 同じようにフォーム上に非連結のコンボボックスを作成して 選択クエリ「商品検索仕入先」(フィールド:「商品ID」「仕入先」「商品名」) コンボボックス「cb検索仕入先」 更新後処理に「再クエリマクロ」 フォームのコントロールソースのクエリ「商品ID」の条件を Like [Forms]![商品マスタ]![cb検索] & "*" Or Like [Forms]![商品マスタ]![cb検索仕入先] & "*" としました。 何度か交互に検索してみましたが、選択した商品が表示されるときとされないときがあります。 表示されないときは、検索に使っていないほうのコンボボックスの値が反映されているようです。 また、続けて検索キーのみで検索を試みてみると、うまく表示されるときと、そのときの 仕入先検索が選択している商品が表示されるときとがあります。 法則性がまったくわかりません。 一番最新のコンボボックスの選択が表示に反映されるようにするには どのようにすればよいのか教えていただけないでしょうか。 他に提示する情報があれば重ねてご教示ください。 よろしくお願いします。

  • ACCESSのフォームの質問です。

    ACCESSのフォームの質問です。 あるフォーム上のコンボボックスで OK と選択したときに  「結果」というテキストボックスで 完了 NG と選択した時に 「結果」というテキストボックスで 未完了 と自動反映させたいのですが、この場合コントロールソースにどのように式をいれれば良いでしょうか?

  • フォームのコンボボックスのチェンジイベントがエラー

    フォームのコンボボックスのチェンジイベントがエラーになってしまいます フォームのコンボボックスで値が変更するたびに コンボックスのリストを絞り込むようにしたいので フィールド1 1111 1112 1113 1211 1212 フォーム1を作成しコンボボックスを設置し 値集合ソースを SELECT テーブル1.フィールド1 FROM テーブル1 WHERE (((テーブル1.フィールド1) Like "*" & [テーブル1]![フィールド1] & "*")); として コンボボックスの変更時イベントに Private Sub コンボ0_Change() Form_フォーム1.コンボ0.Requery End Sub としました。 そしてこのコンボボックスに 「2」というように値を入力すると 「実行時エラー '2118' "Requery/再クエリ"アクションを実行する前に、カレンとフィールドを保存する必要があります。」 となってしまいます。 やりたいことは コンボボックスに「2」を入力すれば テーブル1の「2」が含まれるものが抽出され 1112 1211 1212 がコンボボックスの ▼マークをクリックした後のリストに表示されるようにしたいのですが どうすればいいでしょうか? よろしくお願いします。

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

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

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

    2007です。いつもお世話になります。 フォーム上にチェックボックスがあります。 チェックが入った時点で同じフォーム上のコンボボックスのリストから特定のものを選択したいです。 しかし、チェックか゛入っていなければそのコンボボックスのリストから特定のものを除いたものを選択するようにする・・出来るでしょうか? チェックありならばコンボボックスの値集合ソース1.2.3の内の2だけを チェックなしならばコンボボックスの値集合ソース1.2.3の内の1.3だけしか選択出来ない というイメージです。 分からないなりに =IIf([チェック1]="true","1,"2" Or "3") にしたら、リストから選択どころか、-1という数字が出てきてしまいました。

専門家に質問してみよう