Combo Box list too long

  • Thread starter Thread starter Luther
  • Start date Start date
L

Luther

Hi,

I have several fields on a form that I set as combo boxes;
the problem now is that the value list keeps growing
(people requesting new values to be added, etc) and has
gotten to the point where it's too long...I want to be
able to display all of them but...Is there a way to solve
this issue?

Any help would be appreciated.
 
Value lists are best when there are only a handful of
options that rarely change. My approach would be to put
the values in a 'descriptor' table that has two columns
descriptType and descriptValue. I would then assign a
unique meaningful descriptType for each combo and change
the RowSource SQL to 'SELECT descriptValue FROM
tblDescriptor WHERE descriptType = 'productType' (for
example). The other advantage of this appraoch is that any
changes to the values to be displayed in the combo are now
data changes rather than form design changes.

Hope This Helps
Gerald Stanley MCSD
 
Thank you for responding.

This approach is really good. I will use it for most of
the combos that have unique types. A series of the combo
fields though has a unique combination. The user needs to
pick a year and a letter. Let me explain: for the moment,
I had to put all the combinations in the value list (00A,
01A, 02A, 03A...), because at any point, the user can
start in field1 with 02C, then field2=02F, field3=02R.
When it gets updated (say in year 04), the user can see
that in previous years, there were codes like 00A, 00F,
02C, 03M. There are 10 combo fields that should accomodate
this. Is there a better way to handle this situation,
please? I am not sure I explained very well, but any
questions to clarify would be welcome.

Thanks again.
 
I am not sure that I understand the full requirement of
combining years and letters but I would experiment with
putting each of these as a single value in the Descriptor
table. You should be able to refine the SQL to pick up the
letters that were applicable to a given year e.g.
SELECT Right(descriptValue,1) FROM tblDescriptor WHERE
descriptType = 'YearCode' AND Left(descriptValue,2) = '02'

Hope This Helps
Gerald Stanley MCSD
 
Back
Top