[AccessD] New ID/Autonumber value

Andy Lacey andy at minstersystems.co.uk
Thu May 8 14:09:57 CDT 2003


:-) I like the "automagically"
But it's exactly why I can't see how it can work. How can @@Identity
know what field's value to return?

Andy Lacey
http://www.minstersystems.co.uk




-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Don Elliker
Sent: 08 May 2003 20:00
To: accessd at databaseadvisors.com
Subject: RE: [AccessD] New ID/Autonumber value


I have some question about this in multi-user, but I employed this
method in an A2K / DAO app and it works. In my Db the autonumber is the
PK. Do you mean automagically detect the fact that it's autonumber and
the PK? That's a cool idea.
_d





"Things are only free to the extent that you don't pay for them." 
>From: "Andy Lacey" 
>Reply-To: accessd at databaseadvisors.com 
>To: 
>Subject: RE: [AccessD] New ID/Autonumber value 
>Date: Thu, 8 May 2003 19:06:45 +0100 
> 
>Is @@Identity just an ADO thing? Or even a SQL Server thing? 
> 
>If I'm adding a record to a table in an MDB, and I'm doing it with an 
>SQL statement (and there are, as we know, a few ways to do that), is 
>there any way to retrieve the value of the autonumber field that is 
>defined as the Primary Key? I suspect not, which is why I use DAO on 
>many occasions because I need that value to, say, write to a related 
>sub-record. 
> 
>Andy Lacey 
>http://www.minstersystems.co.uk 
> 
> 
> 
> 
> 
> 
>-----Original Message----- 
>From: accessd-bounces at databaseadvisors.com 
>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Don Elliker 
>Sent: 08 May 2003 14:12 
>To: accessd at databaseadvisors.com 
>Subject: RE: [AccessD] New ID/Autonumber value 
> 
> 
> 
>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. 
> 
>_______________________________________________ 
>AccessD mailing list 
>AccessD at databaseadvisors.com 
>http://databaseadvisors.com/mailman/listinfo/accessd 
>Website: http://www.databaseadvisors.com 



STOP MORE SPAM with the new MSN 8 and get 2 months FREE* 



More information about the AccessD mailing list