Tengo un formulario en el cual lleno los registros y tengo un botón que imprime directamente el informe correspondiente al formulario pero cuando prsiono el botón de imprimir, me imprime todos los registros. Como hago para que solo imprima el que estoy visualizando.
1 Respuesta
Respuesta de santiagomf
1
1
santiagomf, Más de 35 años en la informática y más de 20 trabajando con...
Dependerá de cómo estés mandando imprimir los datos. Si estás usando "Docmd.PrintOut" desde el formulario... usa: Docmd.PrintOut PrintRange:=acSelection Si lo que haces es imprimirlo a través de un informe, entonces tendrás que hacer que el informe sólo visualice el registro seleccionado y después imprimirlo. Puedes hacer que el informe selecciones sólo ese registro usando la opción "WhereCondition" de la instrucción "Docmd.OpenReport". Mira a ver si te sirve y si no lo encuentras dime cómo lo estás haciendo.
Hola Lo estoy imprimiendo a través de un informe. Por ejemplo tengo un formulario llamado ordenes de pedido en donde están fecha, id cliente, cliente, dirección, etc y un subformulario llamado Lordenes de pedido en donde están todos los datos del producto. Al hacer el informe solo hice el informe de ordenes de pedido y le incruste el subformulario Lordenes de pedido. En el formulario tengo un botón que imprime directamente el informe pero al imprimirlo solo me imprime la primer orden de pedido que hice. Por ejemplo si ya hice las ordenes de pedido de 1 a la 10 solo me imprime la 1 así este visualizando la 7. La verdad no se mucho de programación y códigos en access, me ayudaría mucho si me dieras respuestas un poco más simples je je. Muchas gracias
En principio creo que sería bueno que revises el informe que has preparado. Pruébalo con una tabla que contenga dos o tres registros y así verás si funciona bien o no. Cuando se llama a un informe desde un formulario, lo normal es que quieras presentar el informe relacionado con los datos que tienes seleccionados en el formulario. Para hacer eso hay un par de formas relativamente sencillas: crear una tabla de trabajo y presentar el informe con los datos de esa tabla o incluir una clausula "where" en la llamada al informe. Esta segunda es un poco más sencilla que la primera. Una vez que tu informe funcione bien con un pedido de prueba (si no funciona bien con una prueba, menos lo hará con datos reales), en el formulario tendrás que modificar la llamada al informe para que sólo te presente los datos de la orden que tengas seleccionada. Supongo que la orden de pedido tiene una clave única (que no se pueda repetir e identifique a la orden). Imaginemos que esta clave es un número y se llama idOrden, entonces la llamada al informe sería algo así: DoCmd.OpenReport "<nombre informe>", acViewPreview, , "idOrden=" & Me.idOrden
No sé si finalmente te funcionó y si te sirvió mi respuesta. Si ya no tienes más que consultar, por favor, cierra la pregunta para que no me aparezca entre las pendientes.
1 comentario
Yo también tengo el mismo problema... y la verdad que con la segunda respuesta nos terminaste de matar!... solicitaron que la respuesta fuese más sencilla... en fin - keun2009
Yo también tengo el mismo problema... y la verdad que con la segunda respuesta nos terminaste de matar!... solicitaron que la respuesta fuese más sencilla... en fin - keun2009