Joe Rojas
JRojas at tnco-inc.com
Thu Nov 4 13:33:17 CST 2004
Wow! Thanks Gustav! Great SQL! JR -----Original Message----- From: Gustav Brock [mailto:gustav at cactus.dk] Sent: Thursday, November 04, 2004 4:52 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Checking for "holes" in a sequence using SQL Hi Joe > If I have data similar to: > JOE001 > JOE002 > JOE003 > JOE005 > JOE006 > Is there a way, using just SQL, to return the next available number in the > sequence, JOE004, and be flexible enough to return JOE007 if JOE004 had > already existed? > Or do I have to use code to iterate through the records to check for > "holes"? Except for the indication of some malfunctioning during the design state as already pointed out by others, there is: <SQL> SELECT TOP 1 TextID, Left(TextID, Len(TextID)-3) & Right(String(3,"0") & Right(TextID,3)+1,3) AS NextID FROM tblID WHERE (Nz( (Select Top 1 Val(Right(TextID,3)) From tblID As T Where T.TextID > tblID.TextID) -Val(Right([TextID],3)), 2)>1) ORDER BY tblID.TextID; </SQL> All the "3"s count for the length of the numeric right part of the textid. Note the "magic 2" in Nz() which cares for the return of the last textid if no "holes" exist. /gustav -- _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com This electronic transmission is strictly confidential to TNCO, Inc. and intended solely for the addressee. It may contain information which is covered by legal, professional, or other privileges. If you are not the intended addressee, or someone authorized by the intended addressee to receive transmissions on behalf of the addressee, you must not retain, disclose in any form, copy, or take any action in reliance on this transmission. If you have received this transmission in error, please notify the sender as soon as possible and destroy this message. While TNCO, Inc. uses virus protection, the recipient should check this email and any attachments for the presence of viruses. TNCO, Inc. accepts no liability for any damage caused by any virus transmitted by this email.