Power Builder - Como saber codigo del ultimo registro insertado

 
Vista:

Como saber codigo del ultimo registro insertado

Publicado por Isaac (38 intervenciones) el 07/10/2005 16:54:14
Tengo un formulario que al dar clic en nuevo registro debe lanzar una ventana con el codigo del nuevo resgitro a insertar, por lo que debo hacer un autoincrement sacando el valor del ultimo codigo insertado en la base de datos sumarle uno y asignarlo a la ventana de nuevo registro que al contenerlo me permitira ingresar al formulario donde se encuentran todos los datos correspondientes a ese nuevo registro. Muy profundo o me explique?

1.- Como capturo valor de columna que contiene el ultimo codigo válido.
2.- Hago un incremento con ese valor
3.- Lo asigno a sle_texto
4.- Luego hago un openwithparm pra pasar ese parametro al formulario y colocarlo de lectura en el formulario para identificar ese nuevo regsitro.

En la teoria se como es. Pueden ayudarme a resolverlo? Gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como saber codigo del ultimo registro insertado

Publicado por amilcar (327 intervenciones) el 07/10/2005 17:23:24
select max(columna) into :ll_ultimo_codigo from nobre_tabla;

openwithparm(ventana,ll_ultimo_codigo + 1)

hay varias opciones mas
por ejemplo otra opcion seria usando triggers el cual te agregaria el nuevo codigo automaticamente,
en fin depende de lo que desees

saludos desde argentina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber codigo del ultimo registro insertado

Publicado por Isaac (38 intervenciones) el 07/10/2005 17:39:35
Como sería usando triggers??

Gracias por sus respuestas!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber codigo del ultimo registro insertado

Publicado por amilcar (327 intervenciones) el 07/10/2005 18:37:56
depende de tu motor de base de datos , si los soporta o no,
dinos cual es la que usas para darte una mano con eso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber codigo del ultimo registro insertado

Publicado por Isaac (38 intervenciones) el 07/10/2005 20:05:59
Utilizamos ASA 9
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber codigo del ultimo registro insertado

Publicado por wend (95 intervenciones) el 08/10/2005 00:09:59
Me parece que esa BD no soporta triggers pero tiene un por defecto que puedes ponerle que es el AUTOINCREMENT que es como el identity en SQL Server, o sea que se incrementado solito y tu no te preocupas de el.
Solo que hay un peque inconveninete que si le borras todos los registros el nuevo registro no empieza en uno sino que continua después del último que se quedó.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber codigo del ultimo registro insertado

Publicado por Isaac (38 intervenciones) el 10/10/2005 16:05:33
O.k y si inserto un datawindow que esté oculto para extraer el valor que contiene el campo codigo, navego hasta el último registro con

dw_1.ScrollToRow(dw_1.RowCount())

y luego lo asigno a la caja de texto no funcionará???

-------------------------------------------------
Gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber codigo del ultimo registro insertado

Publicado por Isaac (38 intervenciones) el 10/10/2005 18:24:26
Para los que les interese

Como extraer el valor del ultimo registro y asignarlo a un campo de texto.

Caso solucionado,

1.- Ordenar datawindow que tenga un campo "codigo" de forma descendente

2.- En el Evento Open
------------------------------------------------------------------------
Long ultimo, valor

dw_1.settrans(SQLCA)
dw_1.retrieve()

valor = dw_1.ScrollToRow(dw_1.RowCount())
ultimo = dw_1.getitemnumber(valor, "codigo")
ultimo ++
sle_1.text = string(ultimo)
------------------------------------------------------------------------

Listo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar