La Web del Programador: Comunidad de Programadores
 
    Pregunta:  48240 - ERROR AL BUSCAR REGISTROS
Autor:  Percy Maco
Hola

Tengo un problema al realizar una búsqueda en un DW.
Sucede que en el dw_2, entre otros campos, almaceno el "código" de un alumno, pero quisiera realizar una búsqeuda por apellidos. Para esto, he tenido que agregar la tabla donde se encuentran todos los datos del alumnado (están relacionadas).
El problema es que al momento de digitar en el obleto sle_buscar.text no logra ubicarse en el registro buscado de la columna 6 (columna que almacena los apellidos y nombre completos de la tabla agregada).

Mucho agradeceré me puedan ayudar.

Este es el código que estoy utilizando

Evento : ue_digitar
Evento Id : pbm_keyup

string cadena, ls_columna
integer fila, largo
largo=len(trim(sle_buscar.text))
ls_columna = dw_2.Describe("#6.Name")
cadena = "Mid (" + ls_columna + ",1," + string(largo)+ " ) = '" + cadena + "'"
fila = dw_2.Find (cadena, 1, dw_2.rowcount())
IF fila > 0 THEN
dw_2.setrow ( fila )
dw_2.ScrollToRow ( fila )
else
dw_2.setrow (1)
dw_2.ScrollToRow (1)
END IF

  Respuesta:  Ana Díaz
No entiendo muy bien como tienes el dw montado, pero yo lo que haría sería esto:

String ls_apellido

ls_apellido = TRIM(sle_buscar.Text)

IF ls_apellido<> "" THEN
dw_2.SetFilter ("<nombre_columna> like '%" + ls_apellido + "%'")
dw_2.Filter()
END IF

Espero te sirva de ayuda!!

S2