>I use the following code to create sequential numbers compliments of Michael.
>The code has worked fine until the last several days where it is creating duplicate numbers.
>
>
>LOCAL lnOldSel,lnCompteur
>lnOldSel=SELECT()
>lnCompteur=0
>IF ! USED('key_no')
> USE key_no IN 0
>ENDIF
>SELECT key_no
>1
>DO WHILE (NOT RLOCK()) AND (INKEY(0.1)=0) AND lnCompteur<=25
> lnCompteur=lnCompteur+1
>ENDDO
>REPLACE NUMERO WITH NUMERO+1
>UNLOCK
>SELECT(lnOldSel)
>RETURN key_no.NUMERO
>
>
>
>The server is Windows 2000 server and using VFP 7.0.
>
>
>Any idea what may be happening or is there an inherent flaw in the code.
>
>Thanks
>Gaylen
What happen, if Key_no table could not be locked() by 25 attempts? You can probably check, if the table was indeed locked and return an ID only in this case. Otherwise you may return null, which would generate an error, which you should handle.
If it's not broken, fix it until it is.
My Blog