Power Builder - Busqueda avanzada

 
Vista:

Busqueda avanzada

Publicado por Victor German (25 intervenciones) el 25/09/2005 00:40:13
Que tal

Tendo un dw con mas o menos 5 tablas, despues de hacer las relaciones tengo un total de 15 columnas y aprox 5000 renglones, mi pregunta es:

Como puedo hacerle para mandar una busqueda a todo lo coincidente en el dw, como lo hacemos en excel, que tecleamos un valor y lo busca en todas las filas y todas las columnas.

Hay alguna manera de hacer esto en PB ??

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

Publicado por karen (274 intervenciones) el 27/09/2005 21:31:45
podrias hacer con un find una busqueda por cada columna si no lo encuentra en una que se pase a la otra y asi sucesivamente de manera que termine de buscar en cada una
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 avanzada

Publicado por Victor German (25 intervenciones) el 28/09/2005 05:52:41
que tal, gracias, pero podrias ser mas especifica, he buscado informacion del metodo find para dw, aun asi no logro tener resultados y aque algunos de los campos no siempre son bien reconocidos por FIND.

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

Publicado por karen (274 intervenciones) el 28/09/2005 19:59:58
deberias hacer una ventana de busqueda mostrar un single line edit y un boton y alli poner el texto que quieres buscar como en exel , en el codigo del boton haces el find
harias un loop por todas tus columnas y buscarias primero en la primera columna

long ll_find
string ls_dato

ls_dato = sle_1.campo.text
ll_find = dw_1.find("columna = '" + ls_dato + "'", 1, dw_1.rowcount() )

if ll_find > 0 then
dw_1.setcolumn(ll_find)
exit (para salir del loop)
end if

seria algo asi , espero que te sirva
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 avanzada

Publicado por Roberto (32 intervenciones) el 28/09/2005 13:29:27
Hola !!!... Te doy una idea, porque no usas el FILTER y en la busqueda pasas todas las columnas a STRING, entonces puedes aplicar el LIKE.
Declara un SLE_1 para que puedas ingresar lo que buscas de cualquiera de las columnas y en el evento (modified) escribes also asi.

Supuestos
la dw_1 tiene 5 columnas
la col1 es String
la col2 es Smallint
la col3 es Date
la col4 es Dec
la col5 es Long
_________________________________
//esto va en el modified del sle_1
String ls_buscar, ls_dato

ls_dato = "%"+this.text + "%"

ls_buscar =
"(col1 like "+ls_dato+") or "+&
"(string(col2) like "+ls_dato+") or "+&
"(string(col3) like "+ls_dato+") or "+&
"(string(col4) like "+ls_dato+") or "+&
"(string(col5) like "+ls_dato+") "

dw_1.SetFilter(ls_buscar)
dw_1.Filter()
_________________________________

Saludos, espero que te sirva.
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