>>Let's face it. NO system is 100% foolproof. That's why I check for existing values & trap errors.
>
>I thought that VFP already had a SYS function that returned a ten-character unique ID based on the time. From help, SYS(2015):
>
>Returns a unique 10-character procedure name that begins with an underscore followed by a combination of letters and numbers.
>
>Syntax
>
>SYS(2015)
>
>Returns
>
>Character
>
>Remarks
>
>SYS(2015) can be used to create unique procedure or function names.
>
>The name that SYS(2015) returns is created from the system date and system time. Calling SYS(2015) more than once during the same millisecond interval will return a unique character string.
>
>This function has worked wonderfully for me for generating unique values for key fields and the like.
I made my function after Friday's conference where Pium was very dis-satidfied with SYS(3). Seems like he was having problems with system generated IDs. So this sparked a nice little debate after which, in a true programmer style (s), rolled up my sleeves and created my own....
My little experiment sparked a number of good responses. Bottom line of all the responses is nothing is perfect. No matter what method you use to create a unique ID, it seems to boil down to checking for an existing value when you create a new ID and/or trap the error if a uniquevalue is violated.
Thanks
Tom