Page 441 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼リストボックスの選択方法 PEANUTS☆ 03/11/19(水) 11:43 ┗Re:リストボックスの選択方法 クロ 03/11/19(水) 14:10 ┗Re:リストボックスの選択方法 PEANUTS☆ 03/11/19(水) 14:21 ┗Re:リストボックスの選択方法 クロ 03/11/20(木) 11:57 ┗Re:リストボックスの選択方法 PEANUTS☆ 03/11/20(木) 13:30 ─────────────────────────────────────── ■題名 : リストボックスの選択方法 ■名前 : PEANUTS☆ ■日付 : 03/11/19(水) 11:43 -------------------------------------------------------------------------
再びお世話になります。 今回はリストボックスの選択方法をご教授願えればと思います。 リストの中からクリックして選んだものを 「テキストA」に移しているんですが (もう一度同じリストをクリックした場合解除) ひとつだけしか選べないように制限するにはどのように処理すれば良いのでしょうか? 一応、現在記述した分だけ以下に記載しておきます。 ↓ Private Sub 地域リスト_Click() Dim cnt As Long If Me!地域リスト.Selected(Me!地域リスト.ListIndex) = True Then If IsNull(Me![テキストA]) Or Me![テキストA] = "" Then Me![テキストA] = Me!地域リスト.Column(1, Me!地域リスト.ListIndex) Exit Sub End If Else If Me![テキストA] = Me!地域リスト.Column(1, Me!地域リスト.ListIndex) Then Me![テキストA] = Null Exit Sub End If End If End Sub |
>ひとつだけしか選べないように制限するにはどのように処理すれば良いのでしょうか? リストボックスのプロパティのその他にある「複数選択」を「しない」にすれば いいのでは? |
>>ひとつだけしか選べないように制限するにはどのように処理すれば良いのでしょうか? >プロパティのその他にある「複数選択」を「しない」にすれば そうですよねー・・・ 雑作もない事なんですけど、そうすると なぜか「テキストA」の方にひとつも移ってくれないんです└(T_T;)┘ 私の書き方がおかしいのでしょうか??? 他にいい方法ありませんか? |
こんにちは、クロです。 若干挙動が気にくわない(※)のですがこんな感じでどうでしょうか? 複数選択:標準 地域リストのコントロールソース:テキストA 同連結列:2 Private Sub 地域リスト_Click() Dim idx As Variant 'リストボックスの選択リストをカウントし1つの場合 If Me!地域リスト.ItemsSelected.Count = 1 Then 'テキストAが空欄(Null)だったら If Len(Nz(Me.テキストA, "")) = 0 Then 'テキストAに選択されたリストの2列目を代入 Me![テキストA] = Me!地域リスト.Column(1) Exit Sub End If 'リストボックスの選択リストをカウントし複数の場合 Else '選択を解除する For Each idx In Me.地域リスト.ItemsSelected Me.地域リスト.Selected(idx) = False Next idx '選択枠(点線)が残るので再描写 Me.地域リスト.Requery Exit Sub End If End Sub ※複数選択されたとき選択をすべて解除してしまう |
クロさん、ありがとうございます♪ >※複数選択されたとき選択をすべて解除してしまう 複数クリックして、わけ分からなく(リスト項目が結構多いので)なるよりは 私にしてみれば、ぜんぜん良い対処方法ですので メッセージボックスをプラスして、使わせていただきますね!!! ありがとうございました。 |