Why not use a query?
SELECT * FROM ap WHERE id2 IN (SELECT id2 FROM ap2) INTO CURSOR crsDupRecs
SELECT ap.* FROM ap JOIN ap2 ON ap2.id2 = ap.id2 INTO CURSOR crsDupRecs
SELECT * FROM ap WHERE EXISTS (SELECT 1 FROM ap2 WHERE ap2.id2 = ap.id2 ) INTO CURSOR crsDupRecs
>Checking duplicate values
>
>I created two cursors
>But it takes too long because VFP has to scan all records in both cursors
>
>It there a better method the this below ?
>
>************************************************************
> SELECT AP
> SCAN
> SELECT AP2
> aax = 0
> SCAN FOR AP2.ID2 = AP.ID2
> aax = aax + 1
> IF aax > 1
> = MESSAGEBOX("Duplicated record")
> endif
> ENDSCAN
> ENDSCAN
> = MESSAGEBOX ("endSCAN")
>**********************************************************
--sb--