Advise on best way to handle multiple checkboxes

I'm looking for the best way to handle multiple Yes/No checkboxes.  If one is checked, true, the others have to be unchecked, false.  There are 5 individual checkboxes on the form.  I have the following code but it seems odd to have to have this code on each checkbox's afterupdate or onchange event.  Right?

    If Me.chkbx1 = True Then
        Me.chkbx2 = False
        Me.chkbx3 = False
        Me.chkbx4 = False
        Me.chkbx5 = False
    End If
        
    If Me.chkbx2 = True Then
        Me.chkbx1 = False
        Me.chkbx3 = False
        Me.chkbx4 = False
        Me.chkbx5 = False
    End If
        
    If Me.chkbx3 = True Then
        Me.chkbx1 = False
        Me.chkbx2 = False
        Me.chkbx4 = False
        Me.chkbx5 = False
    End If
        
    If Me.chkbx4 = True Then
        Me.chkbx1 = False
        Me.chkbx2 = False
        Me.chkbx3 = False
        Me.chkbx5 = False
    End If
        
    If Me.chkbx5 = True Then
        Me.chkbx1 = False
        Me.chkbx2 = False
        Me.chkbx3 = False
        Me.chkbx4 = False
    End If

Open in new window


--Steve
SteveL13Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ste5anSenior DeveloperCommented:
You're using the wrong control. This is a classic radio button group.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Rey Obrero (Capricorn1)Commented:
place the check boxes in an Option Group.
0
PatHartmanCommented:
Using the option group will also mean that the control is bound to a single column in your table.  So, rather than having 5 checkbox fields, you will have a single integer and it will have a value of null (nothing checked) or 1-5 depending on which box is checked so you will probably have to change your queries if this data is used to select rows.

When you have a group of options that are mutually exclusive, you would use a single table column and either an option group (if the number of options is small and static) or a combo or list box (if the number of options is large or variable).
0
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

Gustav BrockCIOCommented:
No points, but Stephan and Pat are right. You are reinventing the radiobutton control. Not a good idea.

/gustav
0
Rey Obrero (Capricorn1)Commented:
Option groups can have set of Option buttons, check boxes or toggle buttons.

you can select which one to use using the Option group Wizard
0
Gustav BrockCIOCommented:
Technically true, but using checkboxes will violate the design guides, thus confusing users, which is just about the last thing you should do.

/gustav
0
PatHartmanCommented:
One other thing to point out which if you've never used an option group isn't obvious and that is that you refer to the option group control in your code.  You never refer to the individual checkboxes or radio buttons within the option group.  So, if the name of the option group is fraOutputTo (fra for frame)

Select Case Me.fraOutputTo
  Case 1
        ''' print out
   Case 2
        ''' export to Excel
   Case Else
        ''' Open in print preview
End Select

Open in new window

0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.