Results 1 to 5 of 5
  1. #1
    Join Date
    Sep 2014

    Unanswered: combobox locks up access

    The Situation: I have a combobox on a form that has a recordsource from a query. The recordsource query has 8 fields. The combobox is bound to the first column, but the second column is the only visible column. The query results in about 25K records. Unfortunately, this number cannot be reduced and will likely grow slowly over time. Data entry is limited to items in the list.

    The Problem: Under most circumstances the the person entering data in this field knows what item they want, and begins to type. Autocomplete is a godsend in this respect and really shortens the data entry in this field.

    Occasionally, the person will grossly misspell the item and have to backspace while still in the combobox field. At that point access looks like it is thinking, provides no messages, and just stops responding.

    The workaround: Close the file and reopen it.

    This is not a good solution. Has anyone had similar situations occur? Is there a fix? I have been unable to find one.

    Below is all the code attached to this combobox:

    Private Sub ScientificName_Exit(Cancel As Integer)
    End Sub

  2. #2
    Join Date
    Nov 2004
    out on a limb
    Provided Answers: 59
    25k rows in a combo is a lot....
    ..and if you expect it to grow it coudl well be a problem
    its not helping by haivng 6 other columns in the combo which aren't displayed.

    if it were me I'd modify the combo so that it only populates after, say, the first 3 characters are input, and multiples of 3 thereafter. the reason being to reduce the amount of data in the combo.
    so after 3 character are input set the rowsource accordingly.

    you will see this sort of behaviour on many combo/list boxes especially if lots fo data is beign pulled uneccesarily
    I'd rather be riding on the Tiger 800 or the Norton

  3. #3
    Join Date
    Sep 2014
    I was afraid someone was going to say that.....

    The other 6 columns are used elsewhere which I thought would be more effective than having to go back and requery that info in other locations.

    The like the idea of querying after the 3rd character is input, but when i have done that in the past it seems to slow the process down as there is a delay during the requery. Data is being pulled over the lan from a backend (currently access, but looking to move to mysql)

    I will try it again.

    Thanks for the feedback.

  4. #4
    Join Date
    Jun 2005
    Richmond, Virginia USA
    Provided Answers: 19
    The Exit Event is a really bad choice for your code, although that has nothing to do with your problem; it will fire even if you're just tabbing through it or if the user decides to make no selection. The AfterUpdate event of the Combobox is a much better choice.

    Here's a link to Allen Browne's hack for not populating a Combobox until after 3 characters have been input, as Healdem suggested:

    Microsoft Access tips: Combos with Tens of Thousands of Records

    Linq ;0)>
    Hope this helps!

    The problem with making anything that fools are so darn ingenious!

    All posts/responses based on Access 2003/2007

  5. #5
    Join Date
    Sep 2014
    Linq - You're probably right.... I am not sure why that code wound up there. Thanks for reminding me that putting code in the wrong place is not a good thing.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts