Informes vfp 6

Respuesta de
a
Usuario
Hola a todos.

Bueno, mi problema es el siguiente. Tengo más de mil registros en una tabla. En un formulario mustros dichos registros, pero lo que necesito es que cuando encuentre el registro que necesito, pinche un botón y me muestre el informe de solo ese registro. ¿Cómo lo hago?.


Lo otro, es posible crear un informe con datos sacados de un formulario, es decir, en el formulario, relleno los cuadros de texto, ¿luego pinche un botón y muestre en un informe lo que se escribió en el formulario?. ¿Cómo lo hago?.

Ojala puedan ayudar. Es urgente.

Chau!
Experto
Hola, si me podes mandar tu dirección de correo electrónico, te doy un ejemplo para imprimir el registro actual.

Respecto del segundo caso, tendrías que crear un cursor con los datos del formulario, usar dicho cursor como origen de datos de tu reporte y luego llamar a dicho reporte
Usuario
Bueno, primero que nada te agradezco mucho por haberme respondido.

mi e-mail es: mensajesrobert@hotmail.com

Espero, que en la segunda pregunta me aclares un poco más la película.

Chau!

Y gracias nuevamente
Experto
Hola, ya te envíe todo a tu email, saludos
Usuario
Hola, rodrigoj soy yo nuevamente molestándote y abusando de tu sabiduría.
Bueno primero que nada los archivo que me enviaste son excelentes ejemplo para ayudarme.
Espero puedas ayudarme nuevamente.
Necesito el código para un botón BUSCAR y que los registros resultantes se muestren en una grilla.

Saludos. Chau!
Usuario
Algo que me había olvidado rodrigo.

Mira, el mismo ejemplo que me enviaste, lo compile para crear el ejecutable.

VFP lo crea, pero al ejecutarlo me aparece por un segundo al formulario y luego desaparece. ¿A qué se debe esto?

Chau!
Experto
Respecto a un botón buscar, depende mucho del tipo de búsqueda a realizar.
Normalmente utilizo instrucciones select - sql
Si quieres presentar los registros que coinciden con una cadena de texto, podes probar lo siguiente

Por ejemplo

Tabla clientes
codigocliente, nombrecliente

Caja de texto llamada thisform.textobuscado con la cadena de texto a buscar

El código en el botón buscar seria:

select codigocliente,nombrecliente from clientes where alltrim(upper(thisform.textobuscado.value))$alltrim(upper(nombrecliente)) into cursor csrRegistrosEncontrados

Luego asignas el cursor a una grilla, y allí los tienes

Respecto a que el ejecutable no permanece abierto, es porque tienes que poner en algún lugar la orden read events, y al salir de la aplicación la orden clearevents

Yo uso un archivo que se llama main.prg y que se establece como principal en el proyecto (una vez que lo creas haces click con el botón derecho y le pones establecer principal)

El código seria por ejemplo

set path to c:\miproyecto
do form miform
read events

Al cerrar el formulario si quieres salir de la aplicación tienes que ejecutar clear events
Experto
El total de registros lo podes saber con reccount("alias") en donde alias es la tabla de la cual quieres saber el total de registros

Si es un numero de boleta, seguramente debería estar en tu tabla el n° de boleta y no solamente en el informe.
Para mostrar un n° que se incrementa en el informe, selecciona cualquier caja de texto del informa, botón derecho del mouse, propiedades, un botón que dice cálculos o algo por el estilo y allí le pones contar

Saludos

P.D.: No tengo problema en contestar todo lo que necesites, me gustaría más si vas creando preguntas adicionales ...
Usuario
Hola.

Se los pasos que me indicaste:

Para mostrar un n° que se incrementa en el informe, selecciona cualquier caja de texto del informa, botón derecho del mouse, propiedades, un botón que dice cálculos o algo por el estilo y allí le pones contar

Dibuje un control campo, aparece el cuadro Expresión de informe, pincho el botón cálculos, luego tu me dice que ponga contar, pero no aparece ese comando, lo más cercano es recuento o suma. Elijo cualquiera de las dos y al aceptar me aparece el mensaje Error en la expresión.

Que hice mal, yo seguí los pasos tal como me indicaste.
Ojala puedas ayudarme
Chau!
Experto
Posiblemente no estés cargando una expresión en la caja de texto.
Te envíe un ejemplo a tu mail para que veas como es

Saludos
Usuario
Te lo agradezco mucho. Gracias por tu paciencia y voluntad. Chau!