Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/12/2004, 15:04
javopereira
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 5 meses
Puntos: 0
Si usas access, podes hacer un select max(id) from tabla despues de grabar. El problema que tenes ahi es que si justo en el mismo moent 2 usuarios estan grabando, podes tener inconsistencias.

Si usas SQL, podes hacer un Store procedure que te devuelva el identity. Quizas tambiens e pueda hacer en access, pero no se como.

Aca te pongo un SP que tenog yo que devuelve el identity x si te sirve para mirarlo
OJO que este Sp, inserta y modifica.

ALTER PROCEDURE spAltaUsuario
(
@nID Int,
@cNombreCompleto Varchar(30),
@cUsuario Varchar(20),
@cClave Varchar(10),
@nResult int OUTPUT
)

AS
SET NOCOUNT ON

IF @nID = 0 --INSERT
Begin
INSERT INTO TB_USUARIO (cNombreCompleto, cUsuario, cClave)
VALUES (@cNombreCompleto, @cUsuario, @cClave)
SELECT @nResult = @@identity
End
Else --UPDATE
Begin
UPDATE TB_USUARIO SET
cNombreCompleto = @cNombreCompleto,
cUsuario = @cUsuario,
cClave = @cClave
WHERE
ID_Usuario = @nID

SELECT @nResult = @nID
End

SET NOCOUNT OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet