m.FirstTable = GETFILE('DBF','Select FIRST table','Select') m.SecondTable = GETFILE('DBF','Select SECOND table','Select') ldifferent = .F. USE (m.FirstTable) IN 0 ALIAS First USE (m.SecondTable) IN 0 ALIAS Second SELECT First SET RELATION TO RECNO() INTO Second SCAN FOR i = 1 TO FCOUNT() IF FIELD(i,'First') <> FIELD(i,'Second') * DO UPDATES ldifferent = .T. ELSE IF EVAL('First->' + FIELD(i,'First')) <> EVAL('Second->' + FIELD(i,'Second')) * DO UPDATES ldifferent = .T. ENDIF ENDIF ENDFOR ENDSCAN>Thanks, Jay, but I'm trying to "keep it in the family" so to speak. I don't want the user to be involved, or add any more functionality/interfaces. I'll have a go with Sergey's suggestion of CompObj().