Dynamic listbox search error

Sketchin

Registered User.
Local time
Yesterday, 23:13
Joined
Dec 20, 2011
Messages
580
Hello,

I am using John Big Booty's code for narrowing down the content of a listbox. It works beautifully, with the exception of when I type the character "i" into the search box it gives me a Runtime 2110, cannot setfocus error. I have run through the entire alphabet in lower and upper case and consistently get the code failing on lowercase i only.

Here is the code:
Code:
Private Sub searchFor_Change()
'Create a string (text) variable
    Dim vSearchString As String
        
'Populate the string variable with the text entered in the Text Box SearchFor
    vSearchString = searchFor.Text

'Pass the value contained in the string variable to the hidden text box SrchText,
'that is used as the sear4ch criteria for the Query QRY_SearchAll
    SrchText.Value = vSearchString

'Requery the List Box to show the latest results for the text entered in Text Box SearchFor
    Me.SearchResults.Requery


'Tests for a trailing space and exits the sub routine at this point
'so as to preserve the trailing space, which would be lost if focus was shifted from Text Box SearchFor
    If Len(Me.SrchText) <> 0 And InStr(Len(SrchText), SrchText, " ", vbTextCompare) Then
        'Set the focus on the first item in the list box
            Me.SearchResults = Me.SearchResults.ItemData(1)
            Me.SearchResults.SetFocus
        'Requery the form to refresh the content of any unbound text box that might be feeding off the record source of  the List Box
            DoCmd.Requery
        'Returns the cursor to the the end of the text in Text Box SearchFor,
        'and restores trailing space lost when focus is shifted to the list box
            Me.searchFor = vSearchString
            Me.searchFor.SetFocus
            Me.searchFor.SelStart = Me.searchFor.SelLength
            
        Exit Sub
    End If

'Set the focus on the first item in the list box
    Me.SearchResults = Me.SearchResults.ItemData(1)
    Me.SearchResults.SetFocus

'Requery the form to refresh the content of any unbound text box that might be feeding off the record source of  the List Box
    DoCmd.Requery

'Returns the cursor to the the end of the text in Text Box SearchFor
    Me.searchFor.SetFocus

    If Not IsNull(Len(Me.searchFor)) Then
        Me.searchFor.SelStart = Len(Me.searchFor)
    End If

End Sub

Here is the link to the original thread that the code came from.

http://www.access-programmers.co.uk/forums/showthread.php?t=188663

Anyone have any insights to this insane problem??
 
Looks like the problem was that Access was trying to autocorrect "i" to "I", which was giving an error on the Me.SearchResults.SetFocus line.

I removed that autocorrect entry in Access options and the problem went away.
 

Users who are viewing this thread

Back
Top Bottom