procedure RecordValidationNadya() local i, FieldArray[1], n, Changed, Isnew n = afields(FieldArray) Changed = FALSE IsNew = FALSE do case case isnull(oldval(FieldArray[1, 1])) && it's a new record Isnew = TRUE otherwise for i = 1 to n if( FieldChanged(FieldArray[i, 1]) ) Changed = TRUE exit endif endfor endcase do case case Isnew && case Changed && endcase endproc *--------------------------------------------------------------------------- function FieldChanged(FieldName) do case case isnull(oldval(FieldName)) or Isnull(eval(FieldName)) return (isnull(oldval(FieldName)) <> Isnull(eval(FieldName)) ) otherwise return (oldval(FieldName) <> eval(FieldName)) endcase endfunc *-------------------------------------------------------------------------