Procedimiento (o rutina) para buscar

Que tal maestro: Estoy tomando como guía el código que me regalaste de la caja de ahorros para mi actual proyecto, pero al implementar la búsqueda no supe como agregar el código para buscar en el procedimiento del form, podrías decirme como? Está interesante esa forma.

Gracias...

1 respuesta

Respuesta
1

enseguida estoy con vos...

Que bien que te intereses en aprender como va la cosa... :D te felicito! :D :D

Bien... la cosa va así:

En tu proyecto de ahorro, entra el form2 en modo de diseño. En las propiedades de dicho form, busca la pestaña METHOD y ahí... busca al final de la lista los nombres que aparecen el rojo (USER PROCEDURE) que corresponden a procedimientos definidos, aparte de los que ya están, por el usuario.

Ahí aparece "buscarsocio". Ahí es donde se codifica la búsqueda.

Esta consulta me parece muy bien y me gustaría que si tenes interés, propusieras un tema nuevo de consulta sobre como definir procedimientos de usuario en los forms... para que veas como se hace y la GRAN UTILIDAD que representan para los programadores. Así mismo, serviría como referencia de consulta para que otros usuarios aprendar a definir sus procedimientos para hacer mas ágiles y versátiles las aplicaciones... si vieras cuanto código ahorras y los productos son excelentes, las ventajas son magnificas! :) :) :) Bien... te lo dejo de tarea je je!

En el procedimiento, vas a encontrar este código:

LOCAL lcMaEmp1, lcMaEmp2, zc
SELECT nombres
SET FILTER TO
**--//
lcMaEmp1 = StrTran(UPPER(ALLTRIM(THISFORM.Text1.Value)), " ", "*" )
lcMaEmp2 = "*" + lcMaEmp1 + "*"
SET FILTER TO LIKE(lcMaEmp2, UPPER(ALLTRIM(nombres.nombre)) + UPPER(ALLTRIM(nombres.apepat)) + UPPER(ALLTRIM(nombres.apemat)))
SELECT nombres
GO TOP

Aquí esta la clave. Con esto, le decimos a fox que tome el valor del text1 que es donde metes los datos de búsqueda y que en una variable lcMaEmp2 = "*" + lcMaEmp1 + "*" coloque un *, el valor buscado y otro * para cerrar! Esto forma una expresión *valorbuscado* que podes rastrear en uno o varios campos a través de SET FILTER TO LIKE. Si te fijas, esta la variable y luego los campos que forman como una especie de cadena en donde se buscan las coincidencias con el valorbuscado!

Si se encuentran valores, el SET FILTER filtra los datos y ya luego... mas abajo del código... solo se reasignan a los controles de etiquetas para "refrescar" y que los puedas ver en tu form.

Seria excelente que propusieras un tema relacionado a las búsquedas con SET FILTER y LOCATE FOR... seria de mucha utilidad también para ti y otros usuarios.

Bien... cualquier cosa avisame, estoy a la orden para ayudarte! :) :) :)

Un abrazo, estimado!

Desde Managua, Nicaragua!

Siempre fraterno, Ravenn :D :D :D

Maextrooo: Te luciste.

Muchas gracias. En una chancita que tenga voy a estructurar bien la consulta y la subo, solo una cosa: ¿La subo al tablón o directamente a ti?

Saludos

A ver maestro... estuve revisando lo que me comentas y efectivamente, ¡ahí está!. La pregunta es: Este código lo escribo en un *.prg? si lo escribo en un prg, como le hago para colocarlo en la ventana de propiedades?

Si si si... hazme la consulta directa a mi para responderla! :)

El código introducilo en algún evento como por ejemplo, el click de un botón "buscar". En el proyecto, lo tenemos en un procedimiento de usuario que se dispara al dar click en el botón buscar. Pero podes ponerlo directo en el evento click del botón.

Una función... mmm como que seria tomar mucho recurso. ¿Vistes la función para reteronar un varlo numérico en letras? Eso si lleva tamaño y cantidad y dada la re usabilidad, es mas factible una rutina.. pero en este caso, bastan con un evento o código

Saludos! :D :D :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas