View Full Version : toggle button to control field visibility


jamesroark
01-21-2005, 05:57 AM
I am one of the guys that the dept. drops 1k to send to the beginner through expert level courses for Access, so I ask patience as I am new to VB coding.

I am working on a database to track patient surgical information. I am using a toggle button to control "patient surgery site" visibility, depending on the number of sites associated with them. They are labeled Site A Site B, Site C

What I want is if a patient only has one site, I press the appropriate toggle (Site_A_Button, Site_C_Button, and Site_C_Button) and only fields pertaining to Site A appear. If they have 2 sites, I can press both of the toggles for A and B, but the C will remain hidden, etc.

Each toggle controls 3 fields -
For the Site A button - Site_A, Diagnosis_A, A_Blocks_Check
For the Site B button - Site_B, Diagnosis_B, B_Blocks_Check
For the Site C button - Site_C, Diagnosis_C, C_Blocks_Check

The *_Blocks_Check also controls visibility for a respective fourth field - Site_A_Blocks , Site_B_Blocks , Site_C_Blocks

So far, I have A and B working just fine. By default, the toggle for A is set to -1 so it is visible by default. Site B and C are default 0. Both A and B work exactly as I want them to, however, site C does NOT. It has identical coding as B, however, it is visible by default (despite the "default 0") and the Site_C_Blocks visibility (controlled by the Check Box) also does not work properly. Here is the VB-

Private Sub A_Blocks_Check_Click()
If A_Blocks_Check = 0 Then
Site_A_Blocks.Visible = False
End If

If A_Blocks_Check = -1 Then
Site_A_Blocks.Visible = True
End If
End Sub

Private Sub B_Blocks_Check_Click()
If B_Blocks_Check = 0 Then
Site_B_Blocks.Visible = False
End If

If B_Blocks_Check = -1 Then
Site_B_Blocks.Visible = True
End If
End Sub

Private Sub C_Blocks_Check_Click()
If C_Blocks_Check = 0 Then
Site_C_Blocks.Visible = False
End If

If C_Blocks_Check = -1 Then
Site_C_Blocks.Visible = True
End If
End Sub

Private Sub Site_A_Button_Click()
If Site_A_Button = -1 Then
Site_A.Visible = True
End If
If Site_A_Button = -1 Then
Diagnosis_A.Visible = True
End If
If Site_A_Button = -1 Then
A_Blocks_Check.Visible = True
End If

If Site_A_Button = 0 Then
Site_A.Visible = False
End If
If Site_A_Button = 0 Then
Diagnosis_A.Visible = False
End If
If Site_A_Button = 0 Then
A_Blocks_Check.Visible = False
End If

End Sub

Private Sub Site_B_Button_Click()
If Site_B_Button = 0 Then
Site_B.Visible = False
End If
If Site_B_Button = 0 Then
Diagnosis_B.Visible = False
End If
If Site_B_Button = 0 Then
B_Blocks_Check.Visible = False
End If

If Site_B_Button = -1 Then
Site_B.Visible = True
End If
If Site_B_Button = -1 Then
Diagnosis_B.Visible = True
End If
If Site_B_Button = -1 Then
B_Blocks_Check.Visible = True
End If
End Sub

Private Sub Site_C_Button_Click()
If Site_C_Button = 0 Then
Site_C.Visible = False
End If
If Site_C_Button = 0 Then
Diagnosis_C.Visible = False
End If
If Site_C_Button = 0 Then
C_Blocks_Check.Visible = False
End If

If Site_C_Button = -1 Then
Site_C.Visible = True
End If
If Site_C_Button = -1 Then
Diagnosis_C.Visible = True
End If
If Site_C_Button = -1 Then
C_Blocks_Check.Visible = True
End If
End Sub

Now I know this is probably sloppy coding, but it was the only way I could get this to work properly at all, so feel free to critique as well.

I want to actually add additional sites (Site D and Site E), but not until I can figure out why the problem is with just A B and C.

I apologize if this seems a bit confusing, but if anyone could help out, I would be most appreciative!

KenHigg
01-21-2005, 06:08 AM
James, I suspect you may have some normalization issues. Have you made sure your tables are properly set up...

(I know this doesn't address you question but it could cause you problems)

kh