Gustav Brock
Gustav at cactus.dk
Wed Apr 6 06:06:52 CDT 2011
Hi John How about: With rs .AddNew !PLSL_IDPLSUSR = mlngIDUser !PLSL_FE = CurrentProject.Name !PLSL_Login = blnLogIn !PLSL_WorkstationID = CurrentMachineName() .Update mlngLogID = !PLSL_ID .Close End With /gustav >>> jwcolby at colbyconsulting.com 06-04-2011 05:54 >>> In Access an autonumber is created as you start filling in the record. In SQL Server the autonumber is created after you save the record. Thus, the following code, good in Access: With rs .AddNew !PLSL_IDPLSUSR = mlngIDUser !PLSL_FE = CurrentProject.Name !PLSL_Login = blnLogIn !PLSL_WorkstationID = CurrentMachineName() mlngLogID = !PLSL_ID .Update .Close End With Fails in SQL Server because !PLSL_ID isn't created yet. I thought something simple like doing an on error and then checking as follows would work: With rs .AddNew !PLSL_IDPLSUSR = mlngIDUser !PLSL_FE = CurrentProject.Name !PLSL_Login = blnLogIn !PLSL_WorkstationID = CurrentMachineName() On Error Resume Next mlngLogID = !PLSL_ID .Update If Err Then mlngLogID = !PLSL_ID End If .Close End With It doesn't. This is with a DAO recordset object to a linked table (trying to keep things simple). Any suggestions how to get the PKID from the SQL Server table? -- John W. Colby www.ColbyConsulting.com