>Looks like this is going to be the best option. I just discovered something more about this whole process which means I can't use my own method in a consistent way anyway.
>
>This is the problem.
>
>With SET DELETED OFF:
>
>
SELECT id, firstname, lastname FROM tablename INTO CURSOR crsTemp
>Will return deleted records with the deleted flag still set. However,
>
>
SELECT id, UPPER(firstname), UPPER(lastname) FROM tablename INTO CURSOR crsTemp
>Will wipe out the deleted flag.
>
>UPPER() is just for illustrative purposes. Any function, or adding < something as field > in the select will wipe out the deleted flag. In some instances in this code, functions are used. So, it looks like your method is about the only way I can do what I need to.
This makes (some) sense: the old record is/was deleted, but when any function was run it is a different/new record. If it is fast enough for your needs, great - most tricks to speed up one part can slow down other parts. Not that thinking about them is not fun <g>...
regards
thomas