Thanks for the reply. Unfortunately, I designed the whole database where users either sort using queries or a sorting tab in the form.
However, I have figured out how to programatically change the report height. I used the event "PageHeaderSection_Format", then I had it call setReportHeight in order to set the height based on a hidden report that is opened:
Sub setReportHeight(ByRef rpt As Report, RevType As Integer, Optional deduction As Integer = 0)
Dim beforeHeight As Integer, maxRevHeight As Integer, newRevHeight
beforeHeight = rpt.PageHeaderSection.Height
maxRevHeight = rpt!sbrList_RevInfo.Height
DoCmd.openReport "sbrList_RevInfoHeight", acViewPreview, "", "ListType=" & RevType, acHidden
Set rptRev = Reports.Item("sbrList_RevInfoHeight")
newRevHeight = rptRev.getRevHeight() '800
If newRevHeight > maxRevHeight Then
rpt.PageHeaderSection.Height = beforeHeight + (newRevHeight - maxRevHeight) / 2 - deduction '/2 because this function is called twice
DoCmd.Close acReport, "sbrList_RevInfoHeight"
In this case, "sbrList_RevInfoHeight" is my hidden report while "sbrList_RevInfo" is the control with CanGrow=True in the original report page header. I tested it and it works, pretty neat huh? Now my report page headers grow!