Power Builder - ayuda copn este generado

 
Vista:

ayuda copn este generado

Publicado por LEIBER (15 intervenciones) el 26/11/2006 19:01:50
hola gente del foro qtal
bueno mi problema es el sigte:
quiero hacer q el codigode mis regidtros al darle nuevo se gener solo lo hice con esto

//boton nuevo
string ls_codigo
double ldbl_reg
select count into :ldbl_reg from personal;
ls_codigo = string(ldbl_reg + 1,"p0000")
dw_1.object.cod_personal[dw_1.getrow()] = ls_codigo
buneo y cundo gurdo un cuarto registro me sale un error q no se puede gurdar por q el codigo se rrepite pero me da a entender q el codigo para el registro cuatro no coge solo coge hasta el reg 3
alguna ayuda
porfa
gracias y saludos desde trujillo-peru
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:ayuda copn este generado

Publicado por Asgard (1957 intervenciones) el 27/11/2006 03:50:19
En la base de datos en el campo que desees puedes darle autoincrement para que controle esto automaticamente
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
sin imagen de perfil

RE:ayuda con este generado

Publicado por L.Barzi (133 intervenciones) el 27/11/2006 14:03:48
Hola puedes hacer esto:

Long ll_Maximo
String ls_Codigo

SELECT Max(Cod_Empresa)
INTO :ll_Maximo
FROM Sis_Empresa;

IF ll_Maximo <= 0 OR IsNull(ll_Maximo) THEN
ll_Maximo = 1
ELSE
ll_Maximo = ll_Maximo + 1
END IF

ls_Codigo = String(ll_Maximo, "000")

dw_1.Object.cod_empresa[dw_1.GetRow()] = ls_Codigo

Espero que te de una idea.

Saludos

Lima - 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

asignar codigo generado

Publicado por Dark_Zen (24 intervenciones) el 29/11/2006 13:13:23
Hola a toda la gente bueno no se si le sirva de algo pero aki les dejo una funcion la cual permite generar un codigo

//funcion set_codigo(valor string)returns string

/*genera un codigo de 10 digitos
ejem */
//A00-000000

string l_cod , l_cod_reg , l_cod_ind , l_cod_det

if IsNull(valor) then valor="0"

// Pos ( string1, string2 {, start } )
// Mid ( string, start {, length } )
// Len ( stringorblob )

l_cod_reg =left(valor,1)
l_cod_ind =right(left(valor,3),2)
l_cod_det =right(valor,6)

l_cod_det =string(long(l_cod_det) +1)

choose case long(l_cod_det)
case 0 to 9
l_cod_det ="00000" + l_cod_det
case 10 to 99
l_cod_det ="0000" + l_cod_det
case 100 to 999
l_cod_det ="000" + l_cod_det
case 1000 to 9999
l_cod_det ="00" + l_cod_det
case 10000 to 99999
l_cod_det ="0" + l_cod_det
case 100000 to 999999
l_cod_det =l_cod_det

end choose

if long(l_cod_det)>999999 then
l_cod_det="000000"
l_cod_ind = string(long(l_cod_ind) +1)

choose case long(l_cod_ind)
case 0 to 9
l_cod_ind = "0" + l_cod_ind
case 10 to 99
l_cod_ind = l_cod_ind
end choose
end if

l_cod = l_cod_reg + l_cod_ind + "-" + l_cod_det

return l_cod
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