>Hi José,
>
>And here's the next one. The following program should create an empty result set. It does so with SET COLLATE TO "MACHINE", but it returns a couple of records with SET COLLATE TO "GENERAL".
>
>It's a simple rule, never ever use GENERAL when you have numerical or integer fields. Even when there's no index involved (like in this example), the reult set might be wrong.
>
>SET COLLATE TO "General"
>CREATE TABLE tmp (nID N(5))
>USE tmp
>FOR i = 1 TO 10000
> APPEND BLANK
>ENDFOR
>REPLACE ALL nID WITH RECNO()
>
>SELECT * FROM tmp INTO CURSOR Junk nofilter
>
>SELECT * FROM tmp WHERE nID NOT IN (SELECT * FROM Junk)
>
>Christof
Quite illustrating too! The conclusion is very clear.
And thanks for a great explanation.
José