llRetVal = .T. FOR EACH loColumn IN This.Columns FOR EACH loControl IN loColumn.Controls IF PEMSTATUS( loControl, [Valid], 5 ) llRetVal = llRetVal AND loControl.Valid() ENDIF ENDFOR ENDFOR RETURN llRetValOf course, this code assumes that all the valid methods of the contained controls return a logical value. If they return numeric values, obviously you must modify the code.