VB6のリストボックスについて

解決


Sarra  2006-10-12 03:59:33  No: 96883

いつもお世話様です。今回は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


大吉末吉  2006-10-12 04:20:13  No: 96884

Sarra  さん  こんにちは。
> 実行したところ、リストボックスに何も追加されていませんでした。(T_T)

このプログラムは、
「既に登録されている項目を確認して、違ったら登録する」
になっています。

つまり、「確認すべき項目が1つも無ければ、登録もしない」って事です。

ちなみに、このプログラムだと、逆に、同じ項目が既に登録されていた場合でも、
最初の項目が対象と違ったら、追加されてしまいますね。
#A,B,Cと登録されていて、Bを指定すると、最初のAを確認した時に、
#Bではないの判断して、2つ目の確認を行わずに、そのままBを追加してしまいます。

「『一旦、全項目を確認』してから、『同じのが無い』場合に追加する」様にしてはどうでしょう。


Sarra  2006-10-12 20:17:02  No: 96885

大吉末吉さん、ご指摘とご教授ありがとうございます。
この問題はおかけ様で、解決しました。^^


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加