過去ログ

                                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

 ───────────────────────────────────────  ■題名 : Re:リストボックスの選択方法  ■名前 : クロ  ■日付 : 03/11/19(水) 14:10  -------------------------------------------------------------------------
   >ひとつだけしか選べないように制限するにはどのように処理すれば良いのでしょうか?
リストボックスのプロパティのその他にある「複数選択」を「しない」にすれば
いいのでは?

 ───────────────────────────────────────  ■題名 : Re:リストボックスの選択方法  ■名前 : PEANUTS☆  ■日付 : 03/11/19(水) 14:21  -------------------------------------------------------------------------
   >>ひとつだけしか選べないように制限するにはどのように処理すれば良いのでしょうか?

>プロパティのその他にある「複数選択」を「しない」にすれば

そうですよねー・・・
雑作もない事なんですけど、そうすると
なぜか「テキストA」の方にひとつも移ってくれないんです└(T_T;)┘
私の書き方がおかしいのでしょうか???
他にいい方法ありませんか?

 ───────────────────────────────────────  ■題名 : Re:リストボックスの選択方法  ■名前 : クロ  ■日付 : 03/11/20(木) 11:57  -------------------------------------------------------------------------
   こんにちは、クロです。
若干挙動が気にくわない(※)のですがこんな感じでどうでしょうか?

複数選択:標準
地域リストのコントロールソース:テキスト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

※複数選択されたとき選択をすべて解除してしまう

 ───────────────────────────────────────  ■題名 : Re:リストボックスの選択方法  ■名前 : PEANUTS☆  ■日付 : 03/11/20(木) 13:30  -------------------------------------------------------------------------
   クロさん、ありがとうございます♪


>※複数選択されたとき選択をすべて解除してしまう

複数クリックして、わけ分からなく(リスト項目が結構多いので)なるよりは
私にしてみれば、ぜんぜん良い対処方法ですので
メッセージボックスをプラスして、使わせていただきますね!!!
ありがとうございました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 441