[AccessD] New ID/Autonumber value

Stuart McLachlan stuart at lexacorp.com.pg
Thu May 8 17:05:21 CDT 2003


@@Identity is a system wide variable. It returns the last autonumber 
generated by the system. You certainly can't rely on it to return a 
particular record number in either a multi user system or in a system 
where you are inserting into more than one table with autonumbers 
keys in the same transaction.

On 8 May 2003 at 9:11, Don Elliker wrote:

> 
> Forgive me being dense, but do you mean that @@Identity has to be used
> within a transaction (DAO) to get the right autonumber for the current
> record? thanks, _d
> 
> 
> 
> 
> "Things are only free to the extent that you don't pay for them." 
> 
> 
> 
> 
> 
> 
> 
> >From: "Haslett, Andrew" 
> >Reply-To: accessd at databaseadvisors.com 
> >To: "'accessd at databaseadvisors.com'" 
> >Subject: RE: [AccessD] New ID/Autonumber value 
> >Date: Thu, 8 May 2003 08:56:11 +0930 
> > 
> >It is safer as @@Identity is linked only to the connection (or 
> transaction) 
> >which created the record. 
> > 
> >Otherwise you are risking that another user will insert a record in-
> between 
> >adding and retrieving the ID of the record added by the first user. 
> > 
> >I'm not sure if that is a risk using the other methods mentioned on 
> this 
> >list, however I *do* now that with @@Identity there is no risk of 
> this 
> >happening. 
> > 
> >Cheers, 
> >Andrew 
> > 
> >-----Original Message----- 
> >From: Don Elliker [mailto:delliker at hotmail.com] 
> >Sent: Thursday, 8 May 2003 5:22 AM 
> >To: accessd at databaseadvisors.com 
> >Subject: RE: [AccessD] New ID/Autonumber value 
> > 
> > 
> > 
> >How does this fare in a multi-user setup? 
> >_D 
> > 
> > 
> > 
> > 
> > 
> >"Things are only free to the extent that you don't pay for them." 
> > 
> > >From: "Haslett, Andrew" 
> > >Reply-To: accessd at databaseadvisors.com 
> > >To: "'accessd at databaseadvisors.com'" 
> > >Subject: RE: [AccessD] New ID/Autonumber value 
> > >Date: Wed, 7 May 2003 10:28:09 +0930 
> > > 
> > >Sure. 
> > > 
> > >Create a table (table1) with two fields (ID: Autonumber, Field1: 
> Text) 
> > > 
> > >Paste this code into a module and away you go: 
> > > 
> > >****************************************************************** 
> 
> > > 
> > >Sub TestIdentity() 
> > > 
> > > Dim conn As ADODB.Connection, rs As ADODB.Recordset 
> > > Set conn = CurrentProject.Connection 
> > > 
> > > strSQL = "INSERT INTO table1 (field1) VALUES ('SomeValue')" 
> > > conn.Execute strSQL 
> > > 
> > > strSQL = "SELECT @@Identity" 
> > > Set rs = conn.Execute(strSQL) 
> > > 
> > > intID = rs.Fields.Item(0).Value 
> > > 
> > > Debug.Print intID 
> > > 
> > > rs.Close 
> > > conn.Close 
> > > 
> > >End Sub 
> > > 
> > >****************************************************************** 
> 
> > > 
> > >Cheers, 
> > >Andrew 
> > > 
> > >-----Original Message----- 
> > >From: Stephen Bond [mailto:stephen at bondsoftware.co.nz] 
> > >Sent: Wednesday, 7 May 2003 9:43 AM 
> > >To: accessd at databaseadvisors.com 
> > >Subject: RE: [AccessD] New ID/Autonumber value 
> > > 
> > > 
> > >Andrew, just to complete the knowledge flowing freely here (great 
> stuff), 
> >if 
> > >I've used a SQL statement to INSERT the new record, can I use 
> @@Identity 
> > >(and how)? 
> > > 
> > >Thanks 
> > >Stephen Bond 
> > > 
> > >-----Original Message----- 
> > >From: Haslett, Andrew [mailto:andrew.haslett at ilc.gov.au] 
> > >Sent: Wednesday, 7 May 2003 10:43 a.m. 
> > >To: 'accessd at databaseadvisors.com' 
> > >Subject: RE: [AccessD] New ID/Autonumber value 
> > > 
> > > 
> > >Jet 4.0 supports @@Identity. Therefore if you are inserting your 
> record in 
> > >code using ADO then it will work fine. 
> > > 
> > >Cheers, 
> > >Andrew 
> > > 
> > >-----Original Message----- 
> > >From: Arthur Fuller [mailto:artful at rogers.com] 
> > >Sent: Wednesday, 7 May 2003 2:01 AM 
> > >To: accessd at databaseadvisors.com 
> > >Subject: RE: [AccessD] New ID/Autonumber value 
> > > 
> > > 
> > >I don't think that works in MDBs, which I assume Stephen meant, 
> else he 
> > >would have posted on the SQL list. 
> > > 
> > >Arthur 
> > > 
> > >-----Original Message----- 
> > >From: accessd-bounces at databaseadvisors.com 
> > >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of 
> Haslett, Andrew 
> > >Sent: May 6, 2003 12:09 AM 
> > >To: 'accessd at databaseadvisors.com' 
> > >Subject: RE: [AccessD] New ID/Autonumber value 
> > > 
> > > 
> > >SELECT @@IDENTITY 
> > > 
> > >-----Original Message----- 
> > >From: Stephen Bond [mailto:stephen at bondsoftware.co.nz] 
> > >Sent: Tuesday, 6 May 2003 12:23 PM 
> > >To: accessd at databaseadvisors.com 
> > >Subject: [AccessD] New ID/Autonumber value 
> > > 
> > > 
> > >In this thread a couple of months ago there was a solution offered 
> to the 
> > >problem of determining the value of an ID Autonumber of a record 
> just 
> >added. 
> > > 
> > > 
> > >It was stunning in its simplicity, so of course I didn't write it 
> down ;-( 
> > > 
> > >Can anyone help? 
> > > 
> > >TIA 
> > > 
> > >Stephen Bond 
> > >Otatara, New Zealand 
> > >( tel 03 213 1256 fax 03 213 0123 
> > >_______________________________________________ 
> > >AccessD mailing list 
> > >AccessD at databaseadvisors.com 
> > >http://databaseadvisors.com/mailman/listinfo/accessd 
> > >Website: http://www.databaseadvisors.com 
> > > 
> > >IMPORTANT - PLEASE READ ******************** 
> > >This email and any files transmitted with it are confidential and 
> may 
> > >contain information protected by law from disclosure. 
> > >If you have received this message in error, please notify the 
> sender 
> > >immediately and delete this email from your system. 
> > >No warranty is given that this email or files, if attached to this 
> 
> > >email, are free from computer viruses or other defects. They 
> > >are provided on the basis the user assumes all responsibility for
> > >loss, damage or consequence resulting directly or indirectly from
> > >their use, whether caused by the negligence of the sender or not.
> > >_______________________________________________ AccessD mailing
> > >list AccessD at databaseadvisors.com
> > >http://databaseadvisors.com/mailman/listinfo/accessd Website:
> > >http://www.databaseadvisors.com 
> > > 
> > >_______________________________________________ 
> > >AccessD mailing list 
> > >AccessD at databaseadvisors.com 
> > >http://databaseadvisors.com/mailman/listinfo/accessd 
> > >Website: http://www.databaseadvisors.com 
> > > 
> > >IMPORTANT - PLEASE READ ******************** 
> > >This email and any files transmitted with it are confidential and 
> may 
> > >contain information protected by law from disclosure. 
> > >If you have received this message in error, please notify the 
> sender 
> > >immediately and delete this email from your system. 
> > >No warranty is given that this email or files, if attached to this 
> 
> > >email, are free from computer viruses or other defects. They 
> > >are provided on the basis the user assumes all responsibility for
> > >loss, damage or consequence resulting directly or indirectly from
> > >their use, whether caused by the negligence of the sender or not.
> > >_______________________________________________ AccessD mailing
> > >list AccessD at databaseadvisors.com
> > >http://databaseadvisors.com/mailman/listinfo/accessd Website:
> > >http://www.databaseadvisors.com
> > >_______________________________________________ AccessD mailing
> > >list AccessD at databaseadvisors.com
> > >http://databaseadvisors.com/mailman/listinfo/accessd Website:
> > >http://www.databaseadvisors.com 
> > > 
> > >IMPORTANT - PLEASE READ ******************** 
> > >This email and any files transmitted with it are confidential and 
> may 
> > >contain information protected by law from disclosure. 
> > >If you have received this message in error, please notify the 
> sender 
> > >immediately and delete this email from your system. 
> > >No warranty is given that this email or files, if attached to this 
> 
> > >email, are free from computer viruses or other defects. They 
> > >are provided on the basis the user assumes all responsibility for
> > >loss, damage or consequence resulting directly or indirectly from
> > >their use, whether caused by the negligence of the sender or not.
> > >_______________________________________________ AccessD mailing
> > >list AccessD at databaseadvisors.com
> > >http://databaseadvisors.com/mailman/listinfo/accessd Website:
> > >http://www.databaseadvisors.com 
> > 
> > _____ 
> > 
> >Help STOP SPAM with the new MSN 8 and 
> >get 2 months FREE* 
> > 
> > 
> >IMPORTANT - PLEASE READ ******************** 
> >This email and any files transmitted with it are confidential and 
> may 
> >contain information protected by law from disclosure. 
> >If you have received this message in error, please notify the sender 
> 
> >immediately and delete this email from your system. 
> >No warranty is given that this email or files, if attached to this
> >email, are free from computer viruses or other defects. They are
> >provided on the basis the user assumes all responsibility for loss,
> >damage or consequence resulting directly or indirectly from their
> >use, whether caused by the negligence of the sender or not.
> >_______________________________________________ AccessD mailing list
> >AccessD at databaseadvisors.com
> >http://databaseadvisors.com/mailman/listinfo/accessd Website:
> >http://www.databaseadvisors.com 
> 
> 
> Tired of spam? Get advanced junk mail protection with MSN 8. 


-- 
Lexacorp Ltd
http://www.lexacorp.com.pg
Information Technology Consultancy, Software Development,System 
Support.





More information about the AccessD mailing list