combo box limits

M

Matilda

In Access 2000 I have a combo box to display rows to select a record from a
large table. The table has 76000+ rows, but the combo box will not display
records below around 64000. Is this because it has display bounds? What other
record selection means can I use?
 
R

Rick Brandt

Matilda said:
In Access 2000 I have a combo box to display rows to select a record from a
large table. The table has 76000+ rows, but the combo box will not display
records below around 64000. Is this because it has display bounds? What other
record selection means can I use?

It is generally considered "user abuse" to have a ListBox or ComboBox with more
than a few hundred rows. The user abuse viewpoint can be ignored in a ComboBox
with AutoExpand enabled, but then you are violating another "best practice" by
loading so much data into such a control. If used over a network a form with
such a ComboBox would be inefficient and slow to load.

You are better off if you can provide some means by which the user can narrow
the choices offered by the ComboBox. Then any limit that Access might impose
becomes a non-issue.

What I usually do is use the GotFocus event to prompt the user for the first few
characters of the entry they are looking for with an InputBox and then alter the
RowSource to only include matching records.

If your choices can be categorized, then using an additional ComboBox that
filters your current one to a chosen category is another common way to approach
the problem.
 
A

Albert D.Kallal

Yes, a combo box has a max 64,000

You can write some code to get around this limitation, but you might want to
re-think this problem a bit.

In the real world, a combo box is good for a few thousand records (more
records then that is simply going to be torture to your users, and is a poor
interface).

I would build a search form, and give a user a "few" options to narrow down
the search. You can get some ideas, and see some screen shots of what I mean
here:

http://www.members.shaw.ca/AlbertKallal/Search/index.html
 
Top