Búsqueda que funcione PB 6.5

Uso PB 6.5
Tengo una SLE_buscar y una dw_matias
Quiero que al ir digitando en la SLE_ me vayan apareciendo los registros más parecidos en la DTW, igual que la ayuda de PB Gracias

1 Respuesta

Respuesta
1
Verifica que la linea:
ls_busca = "Mid (" + ls_columna + ",1," + string(li_largo)+ " ) = '" + ls_busca + "'"
Este correcta en el uso de comillas, normalmente yo trabajo con PB v9, pero acabo de crear esta solución en PB v6.5 y corre perfectamente, es más copié el código sin ninguna modificación y se ejecuto sin ningún problema.
Espero que esto ayude a resolver tu pregunta y si no hay más dudas al respecto te pido de favor cerrar la pregunta
Al correr la ventana sale un messagebox de titulo Dtawindows con el mensaje: Expecting String Expression
Usted dice (ES CLARO QUE TIENES QUE HACER UN dw_matias.retireve() ANTES DE HACER LA BÚSQUEDA. ) Donde hago eso, y
todavia me sale- Expecting String Expression
Mandame tu código en un archivo zipeado.
[email protected]
No estoy tan seguro de que la respuesta a esta pregunta se haya enviado correctamente porque la página no me lo notifico, pero por si las moscas te comento brevemente lo que te decía.
LA SOLUCION FUNCIONA IGUAL EN PB 6.5 SOLO TIENES QUE CREAR EL NUEVO EVENTO ASI: SELECCIONAS EL OBJETO EN ESTE CASO EL Sle_buscar ; OPCION DEL MENU: Declare; SUBOPCION User Events . . . en Event Name = ue_buscar en Event ID: pbm_keyup Y DESPUES ESCRIBES EL SCRIPT QUE TE REENVIO., ES CLARO QUE TIENES QUE HACER UN dw_matias.retireve() ANTES DE HACER LA BUSQUEDA.
POR FAVOR, AL FINAL CIERRA LAS PREGUNTAS RELACIONADAS CON ESTE TEMA.
/*
En el objeto SingleLineEdit "sle_buscar" crea un nuevo evento, por ejemplo/*
en el objeto SingleLineEdit "sle_buscar" crea un nuevo evento, por ejemplo ue_buscar,
y lo relacionas con el Event ID "pbm_keyup", este evento se ejecuta cada vez que el
usuario digite una tecla..
el evento ue_buscar hara la busqueda.. mediante el siguiente script...
*/
string ls_busca, ls_columna
integer li_fila, li_largo
ls_busca = trim(sle_buscar.text)
li_largo=len(ls_busca)
//en este ejemplo la busqueda se hace sobre la columna 2
ls_columna = dw_rosa.Describe("#2.Name")
//se arma todo el argumento de busqueda
ls_busca = "Mid (" + ls_columna + ",1," + string(li_largo)+ " ) = '" + ls_busca + "'"
li_fila = dw_rosa.Find (ls_busca, 1, dw_rosa.rowcount())
IF li_fila > 0 THEN
//si encontro algo con ese argumento.. se va al renglon correspondiente
dw_rosa.setrow ( li_fila )
dw_rosa.ScrollToRow ( li_fila )
else
//si no se va al renglon 1
dw_rosa.setrow ( 1 )
dw_rosa.ScrollToRow ( 1 )
END IF
Espero que esto te sirva y si no hay más dudas al respecto te pido de favor cerrar la pregunta
Un Saludo,
Horacio
PB. V9

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas