VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2004/04/28(Wed) 10:19
投稿者るしぇ
Eメール
URL
タイトルRe: コンボボックスAddItem時に重複するデータを登録しない

Data の中身が不明なので何がしたいのか全然分かりません。
…はぁ。…こんな感じなんでしょうかねぇ。やっぱり意味は分かりませんが。
質問のために"分かり易い""現象が再現できる""最小限"のコードを提供して下さい。

Option Explicit

Dim Data() As String

Private Sub Form_Load()
    Dim i As Integer
    ReDim Data(12, 3)
    For i = 1 To 12
        Data(i, 0) = i & "月"
    Next
End Sub

Private Sub TxtA_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim a       As Integer
    Dim i       As Integer
    Dim MaxRec  As Integer
    
    'Enterのタイミングで実行
    If KeyCode = vbKeyReturn Then
        MaxRec = UBound(Data, 2)
        For a = 0 To MaxRec
            If Val(Data(1, a)) = Val(TxtA.Text) Then
                With CmbTan
'                    ↓間違いコード。すいません。
'                    For i = 0 To .ListCount
'                        If .List(i) = CStr(Val(Data(12, a))) Then
'                            Exit For
'                        End If
'                        .AddItem (Val(Data(12, a)))
'                    Next i
'                   ↓修正後コード
                    Do While True
                        For i = 0 To .ListCount - 1
                            If .List(i) = CStr(Val(Data(12, a))) Then
                                Exit Do
                            End If
                        Next i
                        .AddItem (Val(Data(12, a)))
                        Exit Do
                    Loop

                End With

            End If
        Next a
    End If

End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -