Power Builder - Obtener datos a travez de un campo de datawindow

 
Vista:
sin imagen de perfil

Obtener datos a travez de un campo de datawindow

Publicado por Denys Alberto (109 intervenciones) el 16/12/2009 15:41:10
Hola a todos y nuevamente por el foro, pues me habia ausentado un tiempecito de la programacion en power builder y de paso agradeciendo de antemano por las posibles respuestas que me puedan brindar. Sin mas preambulos les empiezo a explicar mi problema.

Como puedo obtener a travez de un campo de un datawindow los datos de un determinado objeto, es decir, tengo el datawindow dw_personal, en ella tengo el campo dni, nombre, etc, pero como hago para que cuando yo digite un numero de dni, este me envie un mensaje en el caso de que ya el personal se encuentre registrado, que el personal ya existe, y si no existe me pase al otro campo de nombre, espero me hayan entendido, y recalco las los agradecimientos por las respuestas que me puedan brindar...

Saludos Denys Alberto.
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:Obtener datos a travez de un campo de datawindo

Publicado por amilcar (407 intervenciones) el 16/12/2009 21:43:56
hola una opcion seria en el evento itemchanged de tu dw poner un codigo como este q verificara si existe ese dato en tu tabla

if dwo.name="nombre_campo" then
long ll_dni ,ll_existe

ll_dni=long(data)

select count(*) into :ll_existe from tabla where campo_dni=:ll_dni;

if ll_existe>0 then
messagebox("";"ya existe")
return 2
end if
end if

otra opcion es tener el campo como indice unico y al intentar grabar el motor te lo rechazara ya q el dato ya existe, pero bueno dependera de como quieras manejarlo.

espero te de una idea

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
sin imagen de perfil

RE:Obtener datos a travez de un campo de datawindo

Publicado por Denys Alberto (109 intervenciones) el 17/12/2009 13:28:39
Hola Amilcar, gracias por tu respuesta que me has proporcionado, sin embargo existe un pequeño detalle, que el campo dni es un string,... como realizo la comparacion en esos casos, ya que con el ejemplo que me diste es de datos de tipo long, ahora tambien he probado cambiando a string por ejemplo:

if dwo.name="dni" then
ls_dni=string(data)
select dni into :ls_existe from per_personal where dni=:ls_dni;

if ls_existe<>"" then
messagebox("","ya existe")
return 2
end if
end if
Esto es lo que he probado, sin embargo no funciona, alguna solucion para ello, te lo agradeceria bastante.

Saludos desde Perú-Madre de Dios

Denys Alberto
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

Gracias Amilcar..lo solucione

Publicado por Denys Alberto (109 intervenciones) el 17/12/2009 13:53:16
Hola Amilcar gracias por la solucion que me distes, me sirvio de mucho, ya que en un primer momento te mande otra sugerencia, sin embargo ya esta solucionado, gracias por tu tiempo. Espero contar contigo en otra oportunidad.

Saludos de Perú-Madre de Dios

Denys Alberto
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