
29/12/2004, 15:04
|
| | 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 |