Solved

Advise on best way to handle multiple checkboxes

Posted on 2014-11-14
7
164 Views
Last Modified: 2014-11-14
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
0
Comment
Question by:SteveL13
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 33

Accepted Solution

by:
ste5an earned 250 total points
ID: 40442685
You're using the wrong control. This is a classic radio button group.
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40442692
place the check boxes in an Option Group.
0
 
LVL 36

Assisted Solution

by:PatHartman
PatHartman earned 250 total points
ID: 40442743
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
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

 
LVL 50

Expert Comment

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

/gustav
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40442784
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
 
LVL 50

Expert Comment

by:Gustav Brock
ID: 40442800
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
 
LVL 36

Expert Comment

by:PatHartman
ID: 40442818
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

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
As tax season makes its return, so does the increase in cyber crime and tax refund phishing that comes with it
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question