I created a little function to help implement the new to v9 drilldown feature. It is mainly for use within the report supercontrol but the filtering and drill down works in regular reports as well. The main difference is that drilling down from a regular report you get multiple reports open or the same one multiple times. Within a super control there is only one instance of a report and it changes. as per instructions.
Here is the description included in the function.
Attached is sample (cut down alphasports) to demonstrate. Go to the Report_Super_Control form.
The function is also separately attached to import into the code tab.
If you make any improvements or different functionality please post back here.
Here is the description included in the function.
Code:
'============================================================== 'PURPOSE - 1/ To drill down in a report. ' Its primary use is in the context of a report that is displayed in a supercontrol on a form. (mode = Y or N) ' However it can also be used in a report displayed in a standard preview window. Limited to mode Y and N ' If no arguments are specified then the same report gets filtered on the value of the field to which ' this function is attached adding on to the current filter. Various different behaviours can be achieved ' by using the arguments as explained below. ' ' 2/ To sort a report that is displayed in a supercontrol on a form. (mode = A or D or S) ' ' 3/ To return back to the previous report (if there is one)that was displayed in the supercontrol (mode = B) ' ' 'ARGUMENTS: - Mode C - optional defaults to "Y" - Filter mode including current filter ' other possible values "N" - Filter mode not including curent filter ' "A" - Sort mode ascending ' "D" - Sort mode decsending ' "S" - Sort mode Toggle, ascending descending none ' "B" - Back mode, goes back to previous view if there is one ' ' layoutname C - optional defaults to "" - name of a different report to use ' fldname C - optional defaults to "" - name of field if different to current, ' the field must be the same type as in the calling field. ' vOrder C - Optional defaults to "" - an order expression ' fldValue A - optional defaults to "" - value to use instead of current value. ' Such as the current value modified. ' vcurrFltr C - optional defaults to the current filter ' 'EXAMPLES: - Rpt_DrillDown_sc() 'use all defaults when drilling down. ' Rpt_DrillDown_sc("N") 'don't include existing filter ' Rpt_DrillDown_sc("N","someReport","someField") 'open a different report and specify the field name to filter on ' Rpt_DrillDown_sc("Y","","","Bill_City") 'filters the current report on the current field adding the current ' 'filter and sorting on the Bill_City field ' Rpt_DrillDown_sc("A") 'Placed on a field will sort on that field. Placed on a button needs ' the order value set as the next example. ' Rpt_DrillDown_sc("D","","","Bill_City") 'Sorts descending on the Bill_City field. ' Rpt_DrillDown_sc("B") 'Back to previous view ' 'USAGE: FOR DRILL DOWN FILTERING - Place the function in the OnPush event of a field on the report. Set Mode to "Y" or "N" ' Most of the time no arguments are needed. ' FOR SORTING - Place the function in a field's Onpush or a button or a hotspot. Specify "A" or "D" or "S" ' If placed on a field and no other args are specified then sorting takes place on that field. ' If placed on a button or hotspot then specify an order expression in the vOrder arg ' HINT-Put a hotspot over a field label ' ' FOR GOING BACK TO PREVIOUS VIEW - Place the function in a button (or other control if you dare) on the form. ' Or a button or hotspot in the report Set Mode to "B" ' '
The function is also separately attached to import into the code tab.
If you make any improvements or different functionality please post back here.
Comment