Jim Lawrence
accessd at shaw.ca
Sun Apr 1 07:58:04 CDT 2007
Hi John:
Check these scripts out:
<quote>
SELECT @@IDENTITY
This is everyone's favorite function, unchanged from earlier versions of SQL
Server. It returns the last IDENTITY value produced on a connection,
regardless of the table that produced the value, and regardless of the scope
of the statement that produced the value.
SELECT IDENT_CURRENT('tablename')
This new function returns the last IDENTITY value produced in a table,
regardless of the connection that created the value, and regardless of the
scope of the statement that produced the value.
SELECT SCOPE_IDENTITY()
This new function returns the last IDENTITY value produced on a connection
and by a statement in the same scope, regardless of the table that produced
the value.
</quote>
HTH
Jim
-----Original Message-----
From: dba-sqlserver-bounces at databaseadvisors.com
[mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of JWColby
Sent: Sunday, April 01, 2007 5:13 AM
To: 'Access Developers discussion and problem solving';
dba-sqlserver at databaseadvisors.com
Subject: [dba-SQLServer] Getting the PK of a SQL Server table
In an Access database the PKID (autonumber) of a table is available the
instant after doing the insert or AddNew, so I would use code such as:
With RS
.Open "usystbllwsLog", gcnn, adOpenKeyset, adLockPessimistic
'build a logout record.
.AddNew
!LWSL_IDLWSU = mlngUserID
!LWSL_FE = CurrentProject.name
!LWSL_Login = blnLogIn
!LWSL_WorkstationID = CurrentMachineName()
mlngLogID = !LWSL_ID
.Update
.Close
End With
the code line
mlngLogID = !LWSL_ID
fails when used in SQL Server because the ID is not yet valid. How do I
work around this when the table is out in SQL Server?
John W. Colby
Colby Consulting
www.ColbyConsulting.com
_______________________________________________
dba-SQLServer mailing list
dba-SQLServer at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/dba-sqlserver
http://www.databaseadvisors.com