>Dear Experts,
>
>Table1 has three fields as
>
>date---------d(8)
>voucher-----n(4)
>type---------c(2)
>
>data in table is as follows
>
>25/11/06----1----SL
>25/11/06----1----SL
>25/11/06----2----SL
>25/11/06----2----SL
>25/11/06----2----SL
>25/11/06----1----SD
>25/11/06----1----SD
>25/11/06----1----SD
>
>I want to delete more than two records according to following index file
>
>select table1
>index on dtoc(date)+str(voucher)+allltrim(type) to xyz
>
>after processing the data in table should look like this
>
>25/11/06----1----SL
>25/11/06----1----SL
>25/11/06----2----SL
>25/11/06----2----SL
>25/11/06----1----SD
>25/11/06----1----SD
>
>The number of same records is two.
>
>Please help
local nCnt
SELECT * FROM table1 ;
HAVING COUNT(*) > 2 ;
GROUP BY date,voucher,type ;
INTO CURSOR xx nofilter
scan
SCATTER memvar
SELECT table1
LOCATE FOR date = m.date AND voucher = m.voucher AND type = m.type
nCnt = 1
DO WHILE FOUND()
CONTINUE
nCnt = nCnt + 1
IF m.nCnt > 2
delete
endif
ENDDO
SELECT xx
endscan
Cetin