Tristate CheckBox null state not visible

I am designing a form that contains tristate check boxes.  The function of the boxes and the values that they generate appear fine.  However, the "grey" (null) state is not visable.  the checkbox never visibly greys out - it just looks unchecked.

I found a similar question from back in 2005 here in EE forums Q_21445513 "Tristate CheckBox state not visible when 'grey' on Flat Screen displays" that indicates that this was a bug in MS Access 2003 that MS was going to address back in 2005.  But now it is Oct 2006 and I am fully patched and the issue still exists.

This application is used in an uncompiled state, so using a prior version runtime (as was the solution to Q_21445513) is not an option for me.

Is there a solution to this?

Who is Participating?
Leigh PurvisConnect With a Mentor Database DeveloperCommented:
Access 2003 display issues continue on - regardless of SP's.
If it's a huge issue place a small textbox next to the checkbox that just re-iterates its value.

=IIF(Isnull(Checkbox), "Unselected", IIF(Checkbox, "Yes", "No"))

Not ideal - but over time feedback reports that tri-state checkboxes aren't a desperately intuitive method of having no selection to users.
If you put the default value of each checkbox to 0, does this solve your problem.
cef_soothsayerAuthor Commented:

Thanks for the info.  I used your idea but with atiny bit more finesse.  I used a case statement to change the BGcolor of the checkbox's own label.   As you said not ideal, but it works well to inform the user.  Too bad MS hasn't fixed this issue in over a year!!!

          Private Sub chkSENSITIVE_Click()

          Select Case Me.chkSENSITIVE.Value
          Case -1
              Me.lblSENSITIVE.BackColor = 16777215
          Case 0
              Me.lblSENSITIVE.BackColor = 16777215
          Case Else
              Me.lblSENSITIVE.BackColor = 8421504
          End Select

          End Sub

Leigh PurvisDatabase DeveloperCommented:
To be fair - even in earlier versions users don't always *get* that it means unselected - Null - no entry.
The difference from False is too subtle for many.

But with a display it should be more clear.
Glad you're sorted with your added finesse ;-)
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.