Power Builder - busqueda dinamica

 
Vista:

busqueda dinamica

Publicado por carlos (57 intervenciones) el 01/03/2007 21:46:40
Saludos a todos amigos foristas, y espero me puedan ayudar

Mi caso es el siguiente:

Tengo q realizar una consulta a una tabla (empresa) en mi BD, para lo cual tengo 3 objetos:

1) sle_text : ----> donde ingresare el nombre de la empresa
2) Dw_empresa: -----> Mostrara la informacion de la empresa ( solo el campo Nombre)
3) Un Boton de Buscar.

el detalle esta en lo siguiente, mi rutina debe permitirme colocar parte del nombre de la empresa y al buscar mi dw_empresa debe mostrarme todas las empresas q coincida con la parte q coloque en mi sle_text

Ejm:

si en mi sle_text, coloco parte del nombre de la empresa: DOM.

mi DW_empresa debe buscar todoas aquellas empresas que coincidan :

DOMesa C.A
DOMinos PIzzA
DOMinos curriel S.A

De antemano les doy gracias por toda la ayuda q me puedan prestar
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 dinamica

Publicado por kike (38 intervenciones) el 01/03/2007 22:51:40
tienes varios modos ... el más facil y rápido es recuperar todas las empresas en el dw_empresa ( select nombre_empresa from empresa ... por ejemplo ) y en el clicked del botón, hacer algo así como

String ls_filtro
long ll_rows
ll_rows=dw_ventana.retrieve()
if ll_rows > 0 then
ls_filtro = "nombre_empresa like '" + sle_text.text + "%"
dw_empresa.setfilter ( filtro )
dw_empresa.filter()
else
messagebox("No empresas", "No existe ninguna empresa en la base de datos" )
end if
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 dinamica

Publicado por carlos (57 intervenciones) el 02/03/2007 15:06:25
Hola amigo,
gracias por tu ayuda,

Pero no puedo hacer un dw_empresa.Retrieve(), sin pasar los parametro de buesqueda antes ya que al hacerlo me trae la ventana solicitando el argumento

ll_rows=dw_empresa.retrieve()

// ya q al hacerlo mi dw carga busca todas las empresas y por el gran numero de empresas registradas se bloquea el sistema .
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 dinamica

Publicado por amilcar (407 intervenciones) el 02/03/2007 16:17:16
hola, mira lo q puedes hacer es en lugar de usar filter con like , debes usar el like en la clausula where de tu dw, para ello deberas declarar un argumento de tipo string

la sintaxis quedaria asi
select empresa_nombre from empresas where empresa_nombre like :argumento

en tu script algo basico seria

string ls_empresa
ls_empresa=trim(sle_1.text)+"%"
dw_1.retrieve(ls_empresa)

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

RE:busqueda dinamica

Publicado por CARLOS (57 intervenciones) el 05/03/2007 15:24:14
Saludos amigos foristas gracias por toda su valiosa ayuda, la solucion de amilcar es correcta, 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