Power Builder - Busqueda

 
Vista:

Busqueda

Publicado por Ricardo (37 intervenciones) el 04/05/2007 01:07:13
Buena tarde a todos tengo la siguiente necesidad:
Tengo una DW con un campo llamado nombre_ciudad, necesito que al ir digitando el campo me haga una busqueda, para
esto hice lo siguiente : Declare un evento en el DW que se llama ue_tecla y tiene cono eventID el pbm_dwnkey
en este evento se dispara cada vez que digito una letra (o numero o caracter ) y lo que coloque en
este evento es el sgte cogido:

String l_descripcion, l_nombre_ciudad

//Acepto el dato digitado
This.AcceptText()

//Alamceno el dato digitado
l_nombre_ciudad = This.getitemstring(This.getRow(),"nombre_ciudad")

//Verifico que me ecriban algo
If l_nombre_ciudad <> "" Then
//Altero el dato digitado para la consulta
l_nombre_ciudad = l_nombre_ciudad + "%"

//Hago el select para tomar el nombre mnimo
SELECT MIN(ciudades.nombre_ciudad)
INTO :l_descripcion
FROM ciudades
WHERE ciudades.nombre_ciudad like :l_nombre_ciudad
USING n_cst_application.itr_appl;

//Asigno segun resultado
IF n_cst_application.itr_appl.SQLCode = 100 Then
st_2.text = ""
Else
IF n_cst_application.itr_appl.SQLCode = 0 THEN
st_2.text = l_descripcion
Else
lstr_envia.cadena[1] = "~r~n~r~nProblemas en la base de datos al buscar el consecutivo!. "+&
n_cst_application.itr_appl.SQLErrText
OpenWithParm (w_mensaje, lstr_envia)
End If
End If

End If


Resulta que cuando digito el PRIMER caracter el evento se dispra pero cuando se hace la instruccion getitemstring
" l_nombre_ciudad = This.getitemstring(This.getRow(),"nombre_ciudad") ", no me trae nada;
sin eembargo las siguientes veces el dato que me trae es el primero que digite, es decir, el anterior.

Ahora si entro en modo paso a paso (debugger) y pongo el inicio del debugger en el AcceptText
lo hace correctamente, es decir, lo toma dsde la primera.

Por ejemplo tengo varias ciudades que empienza por "T" como:
TAMESIS
TOLEDO
TOLEMAIDA
TOLIMA

Si digito la "T" deberia tomar "TAMESIS" por ser la minima, si la segunda letra es la "O" debe tomar "TOLEDO"
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:Busqueda

Publicado por Jorge (900 intervenciones) el 04/05/2007 14:31:21
Hola

No se tus requerimientos pero no te seria mas sencillo
utilizar un dddw ??

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:Busqueda

Publicado por Ricardo (37 intervenciones) el 04/05/2007 18:08:46
Pues la idea es que el usuario tiene un maestro de ciduades con una lista muy larga de ciudades y/o poblaciones y no tenga que buscar si ya la tiene ingresada; entones al usuario le va mostrando a medida que va digitando. eso se lo puede mostrar en un sle. Ahora lo ideal es que se complete la palabra en el mismo campo del datawindow donde estoy escribiendo asi como hace excel.
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