SET ORDER TO gd_key DO WHILE SEEK(SUBSTR(revall.vi_key,1,1)+revall.vi_vouchnm+SUBSTR(revall.vi_key,12,25)) REPLACE iagdtail.gd_chknum WITH ALLTRIM(STR(VAL(RIGHT(revall.new_chk,9)))) ; iagdtail.gd_trandte WITH Thisform.r_cdate,; iagdtail.gd_key WITH LEFT(iagdtail.gd_key,1) + ALLTRIM(revall.new_chk) + iagdtail.gd_fundcod + DTOC(Thisform.r_cdate) +RIGHT(iagdtail.gd_key,1) ; iagdtail.gd_trannum WITH ALLTRIM(revall.new_chk) TABLEUPDATE(.F., .F., "IAGDTAIL") ENDDO()The problem is that when revall.new_chk is the same as iagdtail.gd_chknum of a different record. Let say the following is sample data