Access2007でのVBAを使ったプルダウンメニューの設定方法とは?

このQ&Aのポイント
  • Access2007でのVBAを使用してプルダウンメニューを設定する方法について教えてください。
  • 具体的には、受付内容としてプルダウンメニューを作成し、選択に応じて他のテキストボックスの表示・非表示を切り替えたいです。
  • どのようにVBAコードを組むと、入力不要なテキストボックスを制御できるでしょうか?
回答を見る
  • ベストアンサー

Access2007でプルダウンメニューを使う時のVBAの組み方、プロ

Access2007でプルダウンメニューを使う時のVBAの組み方、プロパティの設定方法が わかりません。わかる方いらっしゃいましたら教えてください。 以下のようなフォームを作成しています。 ■受付内容:プルダウンメニューです。とあるテーブルとつなげています。データは、入会・再入会・退会が選択できます。 ■受付日:テキストボックスです。日付を入力します。 ■入会開始日:テキストボックスです。日付を入力します。 ■退会日:テキストボックスです。日付を入力します。 上記のような場合、たとえば、受付内容で、「入会」を選択したときに、 「退会日」のテキストボックスをアクティブにしない、または非表示のどちらでもよいのですが、 とにかく入力させないようにしたいです。 できれば、プルダウンメニューで選択する度に、テキストボックスを表示・非表示になるようにしたいの ですが、設定がうまいことできません。 どのようにしたらよいか、おわかりになる方がいましたら、教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

フォームの構成/操作等はどうなっているのでしょうか。 これらは連結でのことになりますか? 入会であれば新規登録?、退会であれば(修正)更新? 特に(修正)更新の場合、 いじれなくてもその情報を表示しておきたいことがある、と思います。 条件付き書式を使って、有効/無効を設定した方が楽かもしれません。 設定は、例えば「退会日」では、 条件を「式」にして、右の欄に [受付内容]<>"退会" として無効を設定します。 「受付日」「入会開始日」も同様に、じゃない時を無効にするように設定します。 フォームの構成/操作等がわからないので、こんな感じでもできるということで。 ただ、 "退会"を選んで「退会日」入力し、確定前に、続けて"再入会"に変更して・・・ ができるのなら、受付内容のクリック時や、 フォームの更新前処理でいろいろチェックしないといけないと思います。

その他の回答 (1)

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> プルダウンメニューで選択する度に、テキストボックスを > 表示・非表示になるようにしたい 表示・非表示の切替には「Visible」プロパティ、使用可否の 切替には「Enabled」プロパティで、それぞれ対応できます。 具体的には、以下のようなコードでいけると思います。 なお、「プルダウンメニュー」というのがAccessで標準組込の 『コンボボックス』のもので、そのコンボボックスの連結値 (記録値)が、選択したテキストそのものになっている前提と しました。 (Accessのコンボボックスでは、表示列と連結列をそれぞれ  別のデータにすることができます(参考まで)) Private Sub 受付内容_AfterUpdate()   '各テキストボックスの使用可否を記録するための変数   Dim visEntry As Boolean, visRsgn As Boolean, visOldID As Boolean   '受付内容での選択値に合わせて、プロパティの値を設定   Select Case 受付内容     Case "入会"       visEntry = True   '受付日の表示/非表示       visRsgn = False   '退会日の表示/非表示       visOldID = False   '旧会員IDの表示/非表示     Case "再入会"       visEntry = True       visRsgn = False       visOldID = True     Case "退会"       visEntry = False       visRsgn = True       visOldID = False   End Select   '上で決定した値を実際にコントロールに適用   Me!受付日.Visible = visEntry   Me!退会日.Visible = visRsgn   Me!旧会員ID.Visible = visOldID   '表示したテキストボックスにフォーカスを移動する   '場合は、以下の各行の先頭の「'」を削除して下さい。   'Select Case True   '  Case visEntry   '    Me!受付日.SetFocus   '  Case visRsgn   '    Me!退会日.SetFocus   'End Select End Sub ・・・以上です。 なお、表示/非表示よりも使用可否の方がいい、という場合は、 上記の「.Visible」を「.Enabled」に書き換えればOKです。

関連するQ&A

  • 2つのプルダウンメニューで、同じものを選べないようにする

    ふたつの選択肢を選ぶために、プルダウンメニューがふたつ並んでいます。  例えばメニュー1の選択肢 ・A ・B ・C ・D  でAを選んだとき、メニュー2の内容が ・B ・C ・D  になるようにしたいのですが、どうすればいいでしょうか?  チェックボックスで選べる数をふたつまでにする、というのも方法としてはありなんですが、今回は都合上プルダウンメニューで実装したいのです。ご教授お願いします。

  • HP制作 プルダウンメニューを使ったページ

    プルダウンメニュー1 赤 青 プルダウンメニュー2 黄 白 このようにプルダウンメニュー1と2から1つずつ色を選択して[結果]ボタンを押すと混ぜた結果どのような色になるかテキストボックスに表示される。 こんなようなページを作りたいのですが、色々と検索しても見つからず、最近HPを作り始めたばかりの初心者なので自分でコード(?)を組むこともできません。 ご教授お願いしますm(_ _)m

    • ベストアンサー
    • HTML
  • プルダウンメニューから2つのインラインフレーム内を切り替える

    タイトルの通りなのですが、教えてください。 同じウインドウ内に、プルダウンメニューと2つのインラインフレームがあります。 左のインラインフレームにはjpgのイメージ、右のインラインフレームにはテキストが入ります。 プルダウンメニューは、A支店、B支店などの支店名が表示されます。 プルダウンメニューの支店名を選択して、GOボタンをクリックしたら、インラインフレーム内に選択した支店のjpgイメージと、説明のテキストを表示されるには、どのように記述したらよいですか?

  • Accessで質問です

    お世話になります。 Accessでの検索フォームにて、検索用のテキストボックスにプルダウンメニューで 検索項目(A,B,Cのいずれか)を選択させるようにすることは可能でしょうか? また、メニュー以外の項目は入力できないように設定する必要があります。 可能であれば設定方法やVBA記述を教えて頂きたいのですが・・ 初心者ですが宜しくお願い致します。

  • プルダウンによる切り替えに関して

    教えて下さい。 プルダウンの選択で、時間関係と日付関係があり、日付関係のものが選択 された場合のみ、カレンダーを表示させるボタンが現れ、そこで選択された 日で、"他の"テキストボックスに  ○○日まで というような固定のメッセージを出力するようなプログラムを検討しています。 何か良いサンプル的なものはないでしょうか。。。

  • Excelでプルダウンメニューをもっとたくさん表示させたいのですが…

    EXCELの入力規則でデータをプルダウンメニューで 参照表示して入力できるよう設定しています. プルダウンメニューが8件しか表示されませんが ACCESSのように表示数を設定することはできないのでしょうか?

  • プルダウンメニューに前の値を入力させたい。

    プルダウンメニューに前の値を入力させたい。 天候を表示させるCGIを使用しています。 今までは、テキストボックスに「晴れ」「曇り」「雨」などと入力し、送信することで、データーを書き換えていました。変更するときは、前に入力した値がテキストボックスに既入力されていました。 これのテキストボックスをプルダウンメニューにしたいのですが、変更時、前に入力された値ではなく、optionの一番上に記述されている「晴れ」が毎回出てきてしまいます。 札幌 晴れ▼ 仙台 晴れ▼ 東京 曇り▼ 名古屋 晴れ▼ 大阪 晴れ▼ 福岡 曇り▼ 那覇 雨▼ と入力して送信すれば、データーは書き換えられもちろんその通り表示されるのですが、再度編集画面に行くと、 札幌 晴れ▼ 仙台 晴れ▼ 東京 晴れ▼ 名古屋 晴れ▼ 大阪 晴れ▼ 福岡 晴れ▼ 那覇 晴れ▼ となってしまい、一部を変更したいだけなのに、すべてをもう一度再入力しなくてはなりません。 プルダウンメニューの前のデーター値を既入力させる方法がありましたら、お教えいただければと思います。

    • ベストアンサー
    • HTML
  • プルダウンメニューからチェックボックスを表示したい

    php、javascript、mysqlを使用し、プルダウンで選択後、チェックボックスを表示させる仕組みを作りたいのですが、 どうすればよいのか分かりません。 どなたか力を貸して頂きたく思います。 例えば下記のようなTBLがあったとします。 ■TBL:oya  oyaコード  10  20  30 ■TBL:ko  oyaコード    koコード  10        1100  10        1200  10        1300  20        2100  20        2200  30        3100 TBL 「oya」 をプルダウンメニューにセット。 プルダウンメニューを選択する度にTBL 「ko」を呼び出し、同ページ内にチェックボックスとして表示させたいと考えています。 例) ・10が選択されたら  「1100」、「1200」、「1300」のチェックボックスを表示する プルダウンメニューへのセットは出来たのですが、プルダウン選択後の「ko」を呼び出す箇所が分かりません。 php Mysql javascript で実現したいと考えております。 サンプルページでもいいですので、何かありましたら教えて下さい。 お分かりになる方よろしくお願いいたします。

  • プルダウンメニュー項目のフォント色の変更

    JavaScriptで取得した10日後までの日付と曜日をプルダウンメニューの項目に設定し、任意の日付をユーザーに選択し てもらうようにしたのですが、プルダウンメニューの項目の一部(日曜・祝日など)のフォント色を変えることは可能でしょ うか?(あるいは、逆に背景に色を付けるなど) もし、そのような方法がありましたらご教示ください。 よろしくお願いします。

  • VBAでプルダウンの表示

    VBAの勉強をしております。 ブックを開いたときに、プルダウンのユーザーフォームが表示され、 そしてプルダウンにはブックを開いた日から1年間の年月日が表示される処理を作りたいと思っております。 処理としては (1)ユーザーフォームがブックを開かれると表示される (2)ブックを開いたときにそのときの日付を取得する (3)その日付から1年間をプルダウンに表示する  (例)例えば質問日の7/22にブックを開いたとすると     「201507」「201508」「201509」「201510」・・・のように年と月を表示するようにしたいです。 そこで現在この処理を行うのにブックを開いたときにユーザーフォームを表示するようにはできたのですが、プルダウンで1年間を表示するにはどうしたらいいのでしょうか。 1、シートに「201507」~「201712」ぐらいまでをA列に記載し、 2、ブックを開いた日付を取得し、その日付を「YYYYMM」の形にし、 3、シートのA列を上から順に検索し、同じ数値のが見つかるまで検索する 4、見つかったら、そこの行数を読みとり、そこから12個分下にある数値を読み取り 5、それをプルダウンに表示させる という処理の流れを考えたのですが、実際にどうVBEに書いたらいいかわかりません。

専門家に質問してみよう