Power Builder - generar codigo en un dw

 
Vista:

generar codigo en un dw

Publicado por Andrea (1 intervención) el 14/07/2007 21:47:00
Hola como estan, mi consulta es la siguiente:

Como haria para generar un codigo en dw , mi codigo es asi A001,.....
como haraia para que se autogenere y me salga A002.
y se enfoque en la columa nombre: ya no en el codigo.....................gracias.
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:generar codigo en un dw

Publicado por Alonso (62 intervenciones) el 17/07/2007 01:05:21
Estimada
Tengo entendido (es posible que me equivoque) que las BD. que comúnmente son utilizadas en los sistemas de información, la auto generación de un campo determinado debe ser numérico y no alfa numérico.
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:generar codigo en un dw

Publicado por lorihen (19 intervenciones) el 17/07/2007 15:42:41
prueba con esto

un ejemplo que tu base de datos tengas esto
tabla empleados

id_emp nombre
E001 xxx
E002 xxx

string nom,cod
integer n,m
cod=dw_1.getitemstring(dw_1.rowcount(),"id_emp")//el id de tu tabla
m=integer(right(cod,3))+1 //el numero 3 se supone que ira 3 ceros
nom="E"+string(m,"000")
n=dw_1.insertrow(0)
dw_1.scrolltorow(n)
dw_1.setitem(n,1,string(nom))
dw_1.setcolumn(2)
dw_1.setfocus()

saludos de Lima -Peru
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:generar codigo en un dw

Publicado por edwin (35 intervenciones) el 17/07/2007 23:35:40
Prueba con esto:

1_. recuperas la data windows con un retrieve() en el open de tu ventana

despues el boton nuevo registro pones este codigo.
//es para un campo de 9 caracteres

string sped
long pos
int xy, dw
//generas el codigo cuentas los registros del DataWindows

dw=int(dw_ingreso.RowCount())

if dw=0 then
sped="CR0000001"
else

xy=integer(dw)+1

if xy<10 then
sped="CR000000"+string(xy)
elseif xy< 100 then
sped="CR00000"+string(xy)
elseif xy<1000 then
sped="CR0000"+string(xy)
elseif xy<10000 then
sped="CR000"+string(xy)
elseif xy<100000 then
sped="CR00"+string(xy)
elseif xy<1000000 then
sped="CR0"+string(xy)
elseif xy<10000000 then
sped="CR"+string(xy)

end if
end if
//suponiendo que el data windows se llame dw_ingreso inseras un nuevo campo
pos=dw_ingreso.insertrow(0)
dw_ingreso.scrolltorow(pos)

//aqui le pasas el valor que generaste arriba a tu campo del datawindows
dw_ingreso.object.nombre_de_calumna[dw_ingreso.getrow()]=sped
dw_ingreso.setcolumn(1)
dw_ingreso.setfocus()
return pos

Saludos desde Piura - Perú
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:generar codigo en un dw

Publicado por Andrea (10 intervenciones) el 23/07/2007 02:11:11
Hola muchas Lorihen me sirvio bastante tu codigo, y esta perfecto,,,,,tambien gracias Edwin por tu ayuda, pero no entiendo mucho tu codigo de todas maneras gracias a los 2


Saludos
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:generar codigo en un dw

Publicado por rolando (1 intervención) el 29/12/2008 18:17:20
Bueno soy principiante en PB y quisiera que me ayude para generar codigo pero sin usar datawindow. Gracias
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:generar codigo en un dw

Publicado por Gelbert (1 intervención) el 09/03/2009 21:40:39
amigo lorihen no me sale tu propuesta ... solo me muestra la E en el datawindows nada mas... y los 000 no se generan lo hice igualito... pucha llevo 2 dias con esto y no me sale ayuda porfa..
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