• ベストアンサー

リストボックスの選択状態により、フォームアイテムの表示を変えたいのですが

たとえば、リストボックスで最初のものが選択されたら、 同じフォームにあるテキストボックスを表示させ、 リストボックスの2番目ならテキストボックスを非表示にする・・・ といった処理はできるでしょうか? なにぶん初心者なので、わかりにくいかもしれませんが 似たような処理の例でもかまいません。よろしくお願いいたします。

  • ef81
  • お礼率96% (112/116)

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

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.1

 表示・非表示は、インラインフレームを使って読み込み直さないと切り替えられないかも知れません。  代わりに、disabledプロパティを使った無効化の切り替えではダメでしょうか? <HEAD>~</HEAD>領域内   function change(obj)   {     switch (obj.selectedIndex) {     case 0: f1.t1.disabled = false; break;     case 1: f1.t1.disabled = true;  break;     }   } <BODY>~</BODY>領域内   <FORM name="f1">   <select name="s1" onChange="change(this);">    <option>有効化    <option>無効化   </select>   <input type="text" name="t1" value="abc">   </FORM>

ef81
質問者

お礼

すばらしいっ!そうなんです、これがやりたかったんです。 まるっきり消えちゃうのもいいのですが、 選択状態で入力の必要がないということを表わしたかったので こちらの方がいいかもしれません。 「消えちゃう」のは「インラインフレーム」を利用するのですね。 聞いたことはありましたが・・・ こちらも試してみます。ありがとうございました。

関連するQ&A

  • リストボックスで選択したデータを表示する方法

    ソフトはACCESS2000です。 フォームでの入力で、リストボックスから複数選択できるようにしているのですが、このリストボックスの値集合ソースに入っている件数が多いため、下にかなりスクロールすることになります。 そこで、リストボックスの右側に別にリストボックスで選択したものを表示させられないかと思っています。 ここでお聞きしたいのは、 1. 表示エリアとしてテキストボックスを作ったのですが、テキストボックスでOKか? 2. 1でOKの場合、リストボックスで選択したものをテキストボックスに表示させる方法 3. 1でOKの場合、そのテキストボックスへ入力できなくする方法(表示ONLYにしたい) 4. 1でだめな場合、別な方法はあるか?あればその方法 です。 回答は、1~3か、1,4になるかと思います。よろしくお願いいたします。

  • リストボックスから選択したデーターの一つだけを取得する

    VB5.0を使っています。 WIN2000です。 MDBとVBを使っています。 まず、顧客ID・顧客氏名・電話番号  この3つが1つのデータとして横並びの文字列で、リストボックスに表示されてゆきます。 リストボックスに表示したデータを選択し、その選択したデータの”顧客ID”だけを取り出して同じフォーム内のテキストボックスにいったん出し、そこから別のフォームに飛んでその”顧客ID”を元にデータの詳細を出す、といったものを作っていますが、 今のわたしの書いてるコードだけでは、何番の顧客IDを出しても、 別のフォーム(契約入力)に行くときには同じ1番の人のデータ詳細しか出ません。 「リストボックスから選択したデーターの一つだけを取得する」 には、どのようなコードを書けばいいか、教えていただけないでしょうか・・。 リストボックス(List1)から選択してテキストボックス(Text5)に取得する際にはすでに”顧客ID”だけを取り出したいのです。 今のコードでは、顧客ID・顧客氏名・電話番号 とすべてテキストボックス(Text5)にでてきてしまいます。 Private Sub cmnd2_Click()’選択ボタンclickでリストボックスのデータを取得。 Dim ListIndex As Integer Dim SelectedIndex As Integer Text5.Text = List1.List(List1.ListIndex)'→ここでリストボックスからデータを取得しています。 End Sub

  • エクセルの「フォーム」のリストボックスで複数選択?

    エクセル2000です。 「コントロールツールボックス」ではなく、「フォーム」のリストボックスで複数選択を可能とした場合、選ばれたのが何番目と何番目なのかを知る方法をご教示ください。 単一選択であれば「リンクするセル」に何番目か表示されるのですが、複数選択では0となってしまいます。 選択できる数を仮に4つまでに限定する方法ももしあれば教えてください。 複数選択以外に「拡張選択」というものもありますが、これはどういう使い方をするのでしょうか?

  • accessでのリストボックス選択のイベント

    お世話になります。 度々で恐縮なのですが、以下の質問を よろしくお願いいたします。 accessのフォーム上にリストボックスとテキスト ボックスをはりつけ、リストボックスに表示されて いる行が選択されたら、その項目値をテキスト ボックスに表示させようとしています。 しかし、リストボックスのイベント(マウスボタン クリック時や開放時)を使ってみたのですが、 二度クリックしないとテキストボックスに表示され ません。 リストボックスの行が選択されたというイベントが あればいいのですが、見当たりません。 どうすれば、リストボックスで行が選択されたという イベントを捕まえることができるのかご教示お願い いたします。

  • リストボックスをクリックすると、他フォームに値代入

    データベース超初心者です。VBAの知識がほとんどないので、初歩的な質問だと思いますが、よろしくお願いします。 フォームは2つ「入力」と、「コード選択」 (1)フォーム「入力」にあるテキストボックス「商品コード」をダブルクリックすると、フォーム「コード選択」を開く (2)フォーム「コード選択」にあるリストボックス「コードリスト」をダブルクリックすると、商品コードが、フォーム「入力」のテキストボックス「商品コード」に代入される。 ちなみに、コードリストは、2列で、商品コードと商品名が表示されるようになっています。 わかりにくい質問かもしれませんが、どうぞよろしくお願いします。

  • 選択項目移動処理(リストボックス)

    表題の件で、ご質問があります。 excel2003で、VBAのユーザフォームを使っております。 リストボックスが二つあり、左の項目を選択したら右の項目にその選択した値が移動する処理をしたいのですがまったくできません。 <処理内容> ・リストボックス1の内容 りんご text メロン トマト 上記で、りんごをダブルクリックするとリストボックス1とリストボックス2の内容は以下になります。 <選択後結果> ・リストボックス1 text メロン トマト ・リストボックス2 りんご このようにダブルクリックしたらりんごは消えてリストボックス2に移動します。 また逆の処理もしたくたとえばこの状態でリストボックス2を選択したらりんごがリストボックス1に戻る。 <処理内容> ・リストボックス2 りんご ・リストボックス1 text メロン トマト リストボックス2をダブルクリックすると以下のようになります。 ・リストボックス2 ・リストボックス1 りんご text メロン トマト このようになります。 上記二点の処理がしたいと思います。 どなた様か御教授頂けないでしょうか? お手数お掛けしますが宜しくお願いします。

  • リストボックス選択をテキストボックスに貼付け

    ユーザーフォーム内のリストボックス1の選択項目2つをテキストボックス1及びテキストボックス2にそれぞれ貼付ける方法(コード)がわかりません。どなたかご教授の程、よろしくお願いします。

  • リストボックスの選択解除

    VBAでフォーム上にリストボックスを置いています。 最初にフォームを表示した時は 何もリストボックスが選択されておらず 値を追加した後に、何かクリックすると 選択した項目が青?色に変わります。 その青色を解除したいのですが(要は選択状態を解除したい) どうやってすればいいのでしょうか? selected(X) = falseとしましたが何も起こりませんでした。 宜しくお願い致します。

  • Accessでパラメータークエリのパラメータを、フォームのリストボックスから選択することってできませんか?

    Accessで パラメータークエリのパラメータを、フォームのリストボックスから選択することってできませんか? あと、抽出されたテーブルの最後のリストの値を、テキストボックスに表示させるような、イベントプロシージャってどうのように書きますか? 以上、よろしくお願いします。

  • フォームのテキストボックス内の改行について

    セルが繰返し処理で選択させるのですが。 その選択されるセルをいちいち、フォーム内のテキストボックスに表示されるようにしたいのですが。 普通の改行は VbCrLf でおこなうのはわかるのですが、それぞれ、記述するコードが別になっていて、各文字列は変数に入っているのですが。 こういうときはどうすればいいのでしょうか。 ↓ ↓ 例 繰り返す処理の中で、テキストブックにかかるイベントはひたすら書き込みです。 フォーム1.text = Range("苗字").Value      処理 フォーム1.text = Range("苗字").Value       処理  フォーム1.text = Range("苗字").Value 上のを改行させてテキストボックスに並べたいのです。 例:  田中 佐藤 鈴木 ・  というように。 どなたかご教授お願い致します。

専門家に質問してみよう