いつもお世話様です。今回はvb6を使ったプログラムについて、聞かせていただきます。
テキストボックスに入力したデータをリストボックスに追加し、重複した内容はリストボックスに追加しないように設定したいのですが、以下のようにソースを書いてみました。実行したところ、リストボックスに何も追加されていませんでした。(T_T)
どなたか教えて頂けませんか。ご指導を宜しくお願いいたします。
Private Sub Text2_KeyDown(KeyAscii As Integer, Shift As Integer)
If Text2.Text = "" Then
Exit Sub
End If
Dim i As Integer
If KeyAscii = vbKeyReturn Then
For i = 0 To List1.ListCount - 1
If Text2.Text <> List1.List(i) Then
List1.AddItem Text2.Text
Text2.Text = ""
Text2.SetFocus
End If
Next i
End If
End Sub
Sarra さん こんにちは。
> 実行したところ、リストボックスに何も追加されていませんでした。(T_T)
このプログラムは、
「既に登録されている項目を確認して、違ったら登録する」
になっています。
つまり、「確認すべき項目が1つも無ければ、登録もしない」って事です。
ちなみに、このプログラムだと、逆に、同じ項目が既に登録されていた場合でも、
最初の項目が対象と違ったら、追加されてしまいますね。
#A,B,Cと登録されていて、Bを指定すると、最初のAを確認した時に、
#Bではないの判断して、2つ目の確認を行わずに、そのままBを追加してしまいます。
「『一旦、全項目を確認』してから、『同じのが無い』場合に追加する」様にしてはどうでしょう。
大吉末吉さん、ご指摘とご教授ありがとうございます。
この問題はおかけ様で、解決しました。^^
ツイート | ![]() |