LPARAMETERS toControl LOCAL loPage, loControl, loColumn DO CASE CASE UPPER( toControl.BaseClass ) = 'PAGEFRAME' FOR EACH loPage IN toControl.Pages Thisform.DrillDown( loPage ) ENDFOR CASE INLIST( UPPER( toControl.BaseClass ), 'PAGE', 'CONTAINER' ) FOR EACH loControl IN toControl.Controls Thisform.DrillDown( loControl ) ENDFOR CASE UPPER( toControl.BaseClass ) = 'GRID' WITH toControl FOR EACH loColumn IN .Columns FOR EACH loControl IN loColumn.Controls *** Do something to the contained controls ENDFOR ENDFOR ENDWITH CASE INLIST( UPPER( ALLTRIM( toControl.BaseClass ) ), 'COMMANDGROUP', 'OPTIONGROUP' ) FOR lnButton = 1 TO toControl.ButtonCount ThisForm.DrillDown( toControl.Buttons[lnButton] ) ENDFOR OTHERWISE *** Do what needs doing here ENDCASE