Answered by:
Hide GroupHeader based on the number of records in the detail

Question
-
I have a form with groupheader0.
I have a txtcount is a text box with count(*) on groupheader0. This is working fine.
I would like to hide any groupheader (and associated details) where count=1
I have tried putting code in the groupheader0 on format event
If me.txtcount = 1 then
me.groupheader0.visible = False
End If
This does not work.
Any suggestions?
MS - Teach me to fish
Wednesday, October 12, 2016 5:16 PM
Answers
-
Hi,
If "nothing" happened, then it might mean the event didn't fire. Try viewing the report in Print Preview rather than Report View. Or, just print it out...
- Proposed as answer by Chenchen Li Tuesday, October 18, 2016 2:06 AM
- Marked as answer by Chenchen Li Monday, October 24, 2016 4:55 AM
Wednesday, October 12, 2016 5:33 PM -
If "nothing" happened, then it might mean the event didn't fire. Try viewing the report in Print Preview rather than Report View. Or, just print it out...
I think thDBguy is right. The Format events don't fire in Report View. I find that I can show/hide the group header in Print Preview, using code like this:
If Me.txtCount = 1 Then Me.GroupHeader0.Visible = False Else Me.GroupHeader0.Visible = True End If
Which incidentally is equivalent to this:
Me.GroupHeader0.Visible = Not (Me.txtCount = 1)
Or you can cancel the Format event:
Private Sub GroupHeader0_Format(Cancel As Integer, FormatCount As Integer) If Me.txtCount = 1 Then Cancel = True End If End Sub
All of those work for me, so long as I'm not opening the report in Report View.
Dirk Goldgar, MS Access MVP
Access tips: www.datagnostics.com/tips.html- Proposed as answer by Chenchen Li Tuesday, October 18, 2016 2:06 AM
- Marked as answer by Chenchen Li Monday, October 24, 2016 4:55 AM
Wednesday, October 12, 2016 9:21 PM
All replies
-
Hi,
Just want to make sure we're on the same page, you said you have a "form" with a header, and yet you also said you tried to use the "format" event, which I am not sure forms have. Are you actually referring to using a "report?"
Also, what does "does not work" mean? Did you get an error? Nothing happened? Something unexpected happened?
Thanks!
- Edited by .theDBguy Wednesday, October 12, 2016 5:22 PM
Wednesday, October 12, 2016 5:21 PM -
My bad.
It is a report.
Didn't work means nothing happened at all.
My bad again. I didn't put any error handling in. I did add a msgbox in the if statement "got here", which also did not happen.
MS - Teach me to fish
Wednesday, October 12, 2016 5:30 PM -
nothing =
the report did not change, no msg box displayed.
MS - Teach me to fish
Wednesday, October 12, 2016 5:31 PM -
Hi,
If "nothing" happened, then it might mean the event didn't fire. Try viewing the report in Print Preview rather than Report View. Or, just print it out...
- Proposed as answer by Chenchen Li Tuesday, October 18, 2016 2:06 AM
- Marked as answer by Chenchen Li Monday, October 24, 2016 4:55 AM
Wednesday, October 12, 2016 5:33 PM -
If "nothing" happened, then it might mean the event didn't fire. Try viewing the report in Print Preview rather than Report View. Or, just print it out...
I think thDBguy is right. The Format events don't fire in Report View. I find that I can show/hide the group header in Print Preview, using code like this:
If Me.txtCount = 1 Then Me.GroupHeader0.Visible = False Else Me.GroupHeader0.Visible = True End If
Which incidentally is equivalent to this:
Me.GroupHeader0.Visible = Not (Me.txtCount = 1)
Or you can cancel the Format event:
Private Sub GroupHeader0_Format(Cancel As Integer, FormatCount As Integer) If Me.txtCount = 1 Then Cancel = True End If End Sub
All of those work for me, so long as I'm not opening the report in Report View.
Dirk Goldgar, MS Access MVP
Access tips: www.datagnostics.com/tips.html- Proposed as answer by Chenchen Li Tuesday, October 18, 2016 2:06 AM
- Marked as answer by Chenchen Li Monday, October 24, 2016 4:55 AM
Wednesday, October 12, 2016 9:21 PM