"Creación de Formulario de Búsqueda"

Hola Carlos! Siguiendo entonces con el orden, te consulto ahora sobre "Creación de Formulario de Búsqueda"! Saludos! XD

1 Respuesta

Respuesta
1
Vamos a crar un Form de búsqueda que te será de gran utilidad: "buscarvalor.scx"
1) Crea un formulario basado en tu clase miform. Las dimensiones deben ser bastante acotadas: Height: 100, width: 230
2) Agrega un control label, Caption: Buscar Valor: como titulo de tu form.
3) Agrega un control txtbox width: 220 (centrar en el form)
4) Agrega un botón aceptar basado en tu clase, Cambia el caption por "\<Buscar".
5) En el evento click agrega el siguiente código:
valtoSearch=ALLTRIM(THISFORM.TXTBUSCAR.VALUE)
Dodefault()
6) Ahora vamos a editar tu formulario Maestro ABM: En el evento click del botón Buscar de tu Commandbutton debes agregar el siguiente código:
* este código debes adaptarlo para cada MAESTRO ABM *
* según los campos sobre los que desees buscar *
thisform.mousepointer= 11
select mitabla && la tabla que se muestra en el grid del Maestro ABM
PUBLIC valtoSearch    && defines la variable PUBLICA del valor a buscar
valtoSearch=""    && inicializas la variable del valor a buscar
p_form_name="buscarvalor.scx"
dodefault()
if !empty(valtoSearch)
    #include ebm.h
    valtoSearch="*" + alltrim(valtoSearch) + "*"
    LOCAL lnfound, lnpreg
    lnfound=0
    set exact off
    locate for like (valtoSearch, campo1 + campo2 + campo3)
    * puedes indicar tantos campos como quieras *
    do while found()
        ln_found=ln_found+1
        thisform.migrid.refresh
        ln_preg=messagebox ("¿ desea continuar buscando ?", _mbxqest, _mbxtit)
        if lnpreg<>7
            continue
            else
            exit
        endif
    enddo        
    if lnfound=0
        =messagebox (_notequal, _mbxfrmt, _mbxtit)
    Endif
    Release lnfound, lnpreg
Endif
RELEASE valtoSearch
Thisform. Migrid. Setfocus()
thisform.mousepointer=0
7) Edita tu archivo de texto.H y agrega las siguientes líneas:
#DEFINE _MBXQEST        4+32+256    && Pregunta + Botones: Si No
#DEFINE _NOTEQUAL        "No se Encontraron Coincidencias."
Listo, ahora debes probarlo !
Si tienes alguna duda no dejes de comentarme por favor.
Faltaría el botón filtrar que es un poco más complejo. Sería prudente que asimiles un poco todo lo que vimos hasta aquí y trates de ponerlo en práctica con varias tablas.
Si te parece, una vez que te hayas familiarizado bien con el código y la lógica desarrollaremos el filtrado.
Suerte.
Hola Carlos! Disculpa por no cerrar ayer... pero han sido días infernales en la U! Jaja! :D No obstante, he realizado lo que me has orientado y dejame decirte que he enriquecido muchísimo mis conocimientos con tu ayuda! Gracias! Pasare al filtrado ahora! Saludos! XD

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas