データベースを検索するためのコンボボックスがあります。ドロップダウンリストには、ユーザーが検索しているアイテムに一致するアイテムがあるかどうかが表示され、一致しない場合は取り消されます。しかし、私のコードがDroppedDownの値をFalseに変更すると、すぐに "ArgumentOutOfRangeException"が返されます。コンボボックスの「Droppeddown」値をfalseに設定したときに引数が範囲外になる
エラーには、「追加情報:InvalidArgument = '0'の値が 'index'に無効です」というエラーが含まれています。
私はコンボボックスを試して自動更新するため、何が起こっているのか分かりません。
'Search box - Text Update Event
Private Sub searchBoxCB_TextUpdate(sender As Object, e As EventArgs) Handles searchBoxCB.TextUpdate
'Begin search when user types
searchBoxCB.Items.Clear()
'Check if search has numbers in it
Dim letters() As Char = searchBoxCB.Text
Dim noNumbers As Boolean = True
For Each c As Char In letters
If (IsNumeric(c)) Then
noNumbers = False
End If
Next
'Only search if no numbers
If (noNumbers) Then
searchDataPerson(searchBoxCB.Text, "Person1")
searchDataPerson(searchBoxCB.Text, "Person2")
End If
searchBoxCB.SelectionStart = searchBoxCB.Text.Length + 1 'Move cursor to end
Cursor.Current = Cursors.Default
End Sub
'Search PERSON operation
Private Sub searchDataPerson(input As String, person As String)
Dim itemAdded As Boolean = False
myConnection.Open()
Dim str As String = "SELECT * FROM AllEmployeeDirectory WHERE " + person + " Like """ + input + "%""" 'Searches for NAMES beginning with input
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection) '*
dr = cmd.ExecuteReader '*
'Reads through all data
While dr.Read
searchBoxCB.DroppedDown = True
searchBoxCB.Items.Add(dr(person) + " - " + dr("Desk"))
itemAdded = True
End While
If (Not itemAdded) Then
searchBoxCB.DroppedDown = False 'ERROR OCCURS HERE
End If
myConnection.Close()
End Sub
私はそれがあなたの操作の順序かもしれない良い気分を持っています。投稿していないので、私はそれを確認することはできません。 – Codexer
私はザグラー氏の良い気持ちをよく感じています。 – Plutonix
質問の一部ではなく、外部のウェブサイトにコードを掲載したという事実について、私は心配しています。 :-( –