473,414 Members | 1,705 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,414 software developers and data experts.

best control/method for item selection on Access form

Hi All,

* PREMISE *
I'm creating an Access form with 150 items subdivided into 20
categories. Multiple categories (and items) can be selected so my
user wants checkboxes. All of the options need to be visible at the
same time so no dropdowns (combo boxes) and no scrolling lists (list
boxes). I will use tabbed sheets with logically grouped categories
(and their respective items).

95% of the records will have 1-2 items selected from 1 category and 0
items selected in the remaining 19 categories.
5% of the records will have 4-5 items selected from 2-3 categories and
0 items selected in the remaining 17-18 categories.
* PROBLEM *
What's the best control or best method to represent these items on an
Access form while being space-conscious on the backend?

Combo/List boxes create one column per control. Checkboxes create one
column per checkbox. That's a lot of extra columns in a table when
95% of the columns will have no selections.

To eliminate blank columns in the database, I've thought of using
unbound checkboxes (I think checkboxes be unbound) which, when
selected (on mouse down), will set a flag or variable in VB which will
then set the value into the corresponding category field-name (or
table) in the database. Rather than have the control set the value
directly, VB would do it.

I'm not sure that's the best method or the simplest method (in
following the KISS theory). Does Access even allow this kind of thing
or can it only be done with VB? I would welcome all suggestions.
Thanks,
Frances
Nov 12 '05 #1
9 3243
it sounds like you have a typical order entry
situation where each order has one or more items.
and each item belongs to a category.
i think i would just use a datasheet type form
where you picked the category first on each
item line followed by the item.
"Frances" <wh******@yahoo.com> wrote in message
news:bc*************************@posting.google.co m...
Hi All,

* PREMISE *
I'm creating an Access form with 150 items subdivided into 20
categories. Multiple categories (and items) can be selected so my
user wants checkboxes. All of the options need to be visible at the
same time so no dropdowns (combo boxes) and no scrolling lists (list
boxes). I will use tabbed sheets with logically grouped categories
(and their respective items).

95% of the records will have 1-2 items selected from 1 category and 0
items selected in the remaining 19 categories.
5% of the records will have 4-5 items selected from 2-3 categories and
0 items selected in the remaining 17-18 categories.
* PROBLEM *
What's the best control or best method to represent these items on an
Access form while being space-conscious on the backend?

Combo/List boxes create one column per control. Checkboxes create one
column per checkbox. That's a lot of extra columns in a table when
95% of the columns will have no selections.

To eliminate blank columns in the database, I've thought of using
unbound checkboxes (I think checkboxes be unbound) which, when
selected (on mouse down), will set a flag or variable in VB which will
then set the value into the corresponding category field-name (or
table) in the database. Rather than have the control set the value
directly, VB would do it.

I'm not sure that's the best method or the simplest method (in
following the KISS theory). Does Access even allow this kind of thing
or can it only be done with VB? I would welcome all suggestions.
Thanks,
Frances

Nov 12 '05 #2
> * PREMISE *
I'm creating an Access form with 150 items subdivided into 20
categories. Multiple categories (and items) can be selected so my
user wants checkboxes. All of the options need to be visible at the
same time so no dropdowns (combo boxes) and no scrolling lists (list
boxes). I will use tabbed sheets with logically grouped categories
(and their respective items).


<SHUDDER>
That's HIDEOUS. about the only way you can do this at least
reasonably flexibly/efficiently is to use comboboxes or listboxes.
Who specified this requirement? Is it real? Glad I won't have to use
it, if you have to do it as described. I hope you won't have to
modify it... it's gonna be ugly.
Nov 12 '05 #3
wh******@yahoo.com (Frances) wrote in
news:bc*************************@posting.google.co m:
Hi All,

* PREMISE *
I'm creating an Access form with 150 items subdivided into 20
categories. Multiple categories (and items) can be selected so my
user wants checkboxes. All of the options need to be visible at the
same time so no dropdowns (combo boxes) and no scrolling lists (list
boxes). I will use tabbed sheets with logically grouped categories
(and their respective items).

95% of the records will have 1-2 items selected from 1 category and 0
items selected in the remaining 19 categories.
5% of the records will have 4-5 items selected from 2-3 categories and
0 items selected in the remaining 17-18 categories.
* PROBLEM *
What's the best control or best method to represent these items on an
Access form while being space-conscious on the backend?

Combo/List boxes create one column per control. Checkboxes create one
column per checkbox. That's a lot of extra columns in a table when
95% of the columns will have no selections.

To eliminate blank columns in the database, I've thought of using
unbound checkboxes (I think checkboxes be unbound) which, when
selected (on mouse down), will set a flag or variable in VB which will
then set the value into the corresponding category field-name (or
table) in the database. Rather than have the control set the value
directly, VB would do it.

I'm not sure that's the best method or the simplest method (in
following the KISS theory). Does Access even allow this kind of thing
or can it only be done with VB? I would welcome all suggestions.
Thanks,
Frances


Am I correct in thinking that internally JET optimizes True/False fields so
that 8 such fields take up one byte of storage? If I am, (hmmmm ... was it
TC who suggested this?) then the back end would use only 19 bytes per
record for storing your 150 "checks" although the actual table structure
would show 150 fields.

If we are talking bits then assuming the twenty categories have a maximum
of eight items one could use a byte for each category and use bitwise
arithmetic to show and store each item as an on or off bit. This is sort of
the same thing, but here the developer might be more in control. So this
way we could have twenty fields of one byte.

I suppose too, we could have one binary field of length twenty, with each
byte then being used as above.

If we wanted to be bizarre we could use colours I guess. Let's see ... 4
bytes 3 of which are actually used. So 24 of the items could be shown in
one color and we could show the 150 ... well let's make it 168 in a
heptagon with the colors of each of the sides indicating on and off of
related items. Would make one hell of a form, No?

Don't like that? Well then maybe we could use gradient shading as sort of a
Gestalt???

But who would want to be bizarre?

Ok ... going to bed now.

No wait ... maybe Rap music?

--
Lyle
(for e-mail refer to http://ffdba.com/contacts.htm)
Nov 12 '05 #4
Thanks, Pieter, for your response.

pi********@hotmail.com (Pieter Linden) wrote in message news:<bf**************************@posting.google. com>...
* PREMISE *
I'm creating an Access form with 150 items subdivided into 20
categories. Multiple categories (and items) can be selected so my
user wants checkboxes. All of the options need to be visible at the
same time so no dropdowns (combo boxes) and no scrolling lists (list
boxes). I will use tabbed sheets with logically grouped categories
(and their respective items).


<SHUDDER>
That's HIDEOUS. about the only way you can do this at least
reasonably flexibly/efficiently is to use comboboxes or listboxes.
Who specified this requirement? Is it real? Glad I won't have to use
it, if you have to do it as described. I hope you won't have to
modify it... it's gonna be ugly.


I agree, it is HIDEOUS! After spending two weeks trying to figure out
the best way to handle this, I'm seeking the assistance of the
contributors of this newsgroup (who, BTW, are awesome!). I'm hoping
they may have some ideas or even someone who has come across this
before.

I do agree with the user in that checkboxes are preferred to
list/combo boxes. The reasoning is, there will be a group of data
entry clerks and they may "get lazy" and start picking the first item
within a category rather than drop down or scroll through each
potentially relevant category to pick the item that best fits. If
they see everything laid out on the screen, checkbox style, it
eliminates the need to scroll and "hunt" for the item that best fits.

However, I have to take into consideration the limitations of my
development application, in this case, Access.
\Frances
Nov 12 '05 #5
You got some good feedback here.

I would suggest a normalized table design. Continues forms in ms-access are
quite nice.

This means a related table, and a sub-form.

As for continues forms..yes, they are the solution here.

You are probably better off to offer a combo box, and let the user enter one
new value in a sub-form at a time. (don't try and show 150 things at once).

You can use combo boxes in a continues form. Here is some screen shots of
what I mean:

http://www.attcanada.net/~kallal.msn/Articles/Grid.htm

--
Albert D. Kallal (MVP)
Edmonton, Alberta Canada
ka****@msn.com
http://www.attcanada.net/~kallal.msn
Nov 12 '05 #6
Although not especially search efficient, I would have all the fields
unbound; and build up a string value based on the choices. This will
allow you to have one field and keep your table managable.

For example, if someone chooses items 1, 2 and 3, the string could
look like:

"item1;item2;item3"

This wouldn't be too hard to parse, and would make the table structure
friendly. The searching time wouldn't be ideal, but it would be
acceptable in most cases.

As for the control layout; I would use cascading lists. It would be
much cleaner. If you can win the argument do so; if not; give them
the checks they demand.

-Ben

wh******@yahoo.com (Frances) wrote in message news:<bc*************************@posting.google.c om>...
Hi All,

* PREMISE *
I'm creating an Access form with 150 items subdivided into 20
categories. Multiple categories (and items) can be selected so my
user wants checkboxes. All of the options need to be visible at the
same time so no dropdowns (combo boxes) and no scrolling lists (list
boxes). I will use tabbed sheets with logically grouped categories
(and their respective items).

95% of the records will have 1-2 items selected from 1 category and 0
items selected in the remaining 19 categories.
5% of the records will have 4-5 items selected from 2-3 categories and
0 items selected in the remaining 17-18 categories.
* PROBLEM *
What's the best control or best method to represent these items on an
Access form while being space-conscious on the backend?

Combo/List boxes create one column per control. Checkboxes create one
column per checkbox. That's a lot of extra columns in a table when
95% of the columns will have no selections.

To eliminate blank columns in the database, I've thought of using
unbound checkboxes (I think checkboxes be unbound) which, when
selected (on mouse down), will set a flag or variable in VB which will
then set the value into the corresponding category field-name (or
table) in the database. Rather than have the control set the value
directly, VB would do it.

I'm not sure that's the best method or the simplest method (in
following the KISS theory). Does Access even allow this kind of thing
or can it only be done with VB? I would welcome all suggestions.
Thanks,
Frances

Nov 12 '05 #7
> As for the control layout; I would use cascading lists. It would be
much cleaner. If you can win the argument do so; if not; give them
the checks they demand.

-Ben


LOL... good point, Ben. (Do ya mean you can't just threaten them?
You have to actually *show* them how your design is better?!) you
might want to build a quick demo just so they can play with it and
then let them decide... Just make sure it works, or your argument will
be toast.
Nov 12 '05 #8
On Fri, 3 Oct 2003 22:16:49 +0200, Albert D. Kallal wrote
(in message <ROkfb.11513$6C4.10808@pd7tw1no>):
http://www.attcanada.net/~kallal.msn/Articles/Grid.htm


Albert, I have a follow-up question about you search form:

Do you Requery the listbox after each keystroke (with the OnChange-Event
of the search TextBox) or after the user is hitting Return (or another
Keystroke)?

I'm asking because I have built a lot of such "clairvoyance" search-forms
in a current project and I don't know enough about the performance issues
with such a form in a FE-BE-setting (I assume a 100T network with just
a Switch between clients and the BE-Fileserver and a not too complicated
Query for the listbox, although I have a few ones that do some formatting
of pulled fields ->i.e. concatenation of first/second name).

In other words: Is the lag of requerying the list box big enough to avoid
the OnChange-method and use the AfterUpdate-Event of the SearchField?

(Of course all this depends on the complexity of the db/Queries/tables etc,
but maybe you could write down your experiences with these kind of
search-forms).

Thanks,
Michael

Nov 12 '05 #9
pi********@hotmail.com (Pieter Linden) wrote in message news:<bf**************************@posting.google. com>...
As for the control layout; I would use cascading lists. It would be
much cleaner. If you can win the argument do so; if not; give them
the checks they demand.

-Ben


LOL... good point, Ben. (Do ya mean you can't just threaten them?
You have to actually *show* them how your design is better?!) you
might want to build a quick demo just so they can play with it and
then let them decide... Just make sure it works, or your argument will
be toast.


Thanks for your suggestions!
\Frances
Nov 12 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Phil Stanton | last post by:
I am trying to produce a program that will output any Access report to an editable Word document. So far it is working well but slowly with text boxes, labels, and lines. I now need to try to...
4
by: theo | last post by:
Program flow...load file,then extract the xml text tags from the file,then the number of Xml tags retrieved from the file determines the number of dropdownlist controls instanciated in the...
2
by: Peter | last post by:
Hello! Please, could anyone tell, is it possible to set multiple items to be selected in list control in the code? For example when the web form is loaded three items of 5 are selected in list...
1
by: Airshow | last post by:
Hi, I have very simple Page_Load code in some code-behind class in ASP.NET (v. 1.1): private void Page_Load(object sender, System.EventArgs e) { if ( IsPostBack )...
5
by: Doug Handler | last post by:
Hi, I have a form (Form1) that contains a tab control which one tab has a customer user control (UserControl1). When the user double-clicks on the grid hosted there a new user control is...
9
by: Gummy | last post by:
Hello, I created a user control that has a ListBox and a RadioButtonList (and other stuff). The idea is that I put the user control on the ASPX page multiple times and each user control will...
6
by: MayBoy | last post by:
Hi There I am trying to use the Goto method of the Word ActiveX object. I am trying to open a document and go to a named bookmark. If I use this code in VB it works, so I'm sure the approach is...
9
by: timnels | last post by:
I have an issue where I have a user control that is launched into a floating form. At some point later, I allow the user to "unfloat" the user control by reparenting it on a split container in...
5
by: =?Utf-8?B?UGF1bA==?= | last post by:
Hallo, I have a radiobuttonlist control that is added on a custom Web User Control. This control has a property that exposes the SelectedIndex property of the embedded radiobuttonlist. When...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.