Imprimir un informe solamente

Mi hermano expecto, saludos y gracias una vez más por atenderme. Esta vez la ayuda que te solicito es que necesito imprimir un informe o factura, de la base de datos, aquella en que me ayudastes, bueno sucede que access imprime todos los registros creados, yo solo quiero seleccionar uno específicamente, el cual puede ser de fecha reciente o anterior, claro no tan vieja, pero que al yo selecconarlo se imprime ese solo y no todos los registros. Espero me hayas entendido, como también esperare tu respuesta positiva si se puede hacer esto. Un millón de gracias a ti y a los de esta comunidad de TODO EXPECTOS.

1 Respuesta

Respuesta
1
Con lo que explicas es difícil darte una solución que funcione "a la primera", básicamente porque no sé con qué tabla, formulario e informe estás operando.
Así pues te daré la solución a través de un ejemplo:
Imagino que lo que quieres es estar en el formulario e imprimir sólo el registro que estás viendo en ese momento, ¿ok? Pues bueno, en ese formulario debes tener un campo que identifique inequívocamente al registro. En tu caso, suponiendo que estás trabajando en el formulario que se basa en "Tomas de Servicios", ese campo sería [ID_ORDEN].
Vamos a suponer que el informe se llama RServicio.
En tu formulario de trabajo añades un botón de comando, y en el evento "Al hacer click" le generas el siguiente código:
---
Private Sub...
Dim vId As Variant
vId = Me.ID_ORDEN.Value
If IsNull(vId) Then Exit Sub
DoCmd.OpenReport "RServicio", , , "[ID_ORDEN] =" & vId
End Sub
---
Debes cambiar RServicio (en negrita), por el nombre de tu informe.
Y eso es todo. Ahora, al darle al botón, te debería imprimir solamente el registro que tienes en pantalla.
Ya me dirás si es eso lo que querías, y si te ha funcionado bien.
Un gran saludo!... y suerte! Je, je...
Hola Miquel, buenísima tu solución lo probé y funciona. Pero si necesito o el usuario de la base de datos imprimir un servicio anterior o días después, sera posible seleccionarlo y luego imprimir ademas me muestre el cuadro de laimpresora para comfiguara la impresión si la deseo a escala gris o a color, antes de imprimir. Muchas gracias por tu atención hermano, espero puedas ayudarme.
Te propongo una solución posible a lo que comentas de manera que no tengas que repetir todo el trabajo que me imagino que ya has hecho:
1.- Crea una consulta basada en la misma tabla en la que se basa el informe que quieres imprimir.
2.- Añades todos los campos arrastrando el asterisco que sale encima de los nombres de campos de la tabla al grid de la consulta.
3.- Añades al grid de la consulta el campo que contiene la fecha que te tiene que hacer de filtro. En el grid desmarcas, para ese campo, el check "Mostrar", y, en la línea de criterios, escribes lo siguiente:
>=["¿Fecha_inferior?"] Y <=["¿Fecha_superior?"]
Piensa que, cuando te pida el rango de fechas, el formato en el que debes introducir es dd/mm/yy
4.- Copias el informe que ya tienes hecho y lo pegas con otro nombre. Sacas sus propiedades, pestaña Datos->Origen del registro: y seleccionas la consulta que acabas de crear. Supongamos que el informe se llama REntreFechas
5.- Te vas al formulario de trabajo, en vista diseño, y le añades un botón de comando al que le generas el siguiente código:
---
Private Sub...
DoCmd.OpenReport "REntreFechas", acViewPreview
End Sub
---
6.- Ahora vuelves al informe REntreFechas y lo pones en vista diseño. Sacas sus propiedades, pestaña Eventos, y buscas el evento "Al Activar". Le generas el siguiente código:
---
Private Sub...
DoCmd. RunCommand acCmdPrint
DoCmd. Close acReport, Me. Name
End Sub
---
Y eso es todo. Ufff... me estás dando mucho trabajo... (je, je... ¡Es broma!)
Hola, Miquel no creas que no pienso eso, se que te estoy dando trabajo, pero sn cosas que van saliendo de la base de datos cuando la estoy probando para terminarla y ponerla en practica en mi trabajo. Dejame hacer eso y te cuento, gracias por la pronta atención.
Abraham!
No debes preocuparte. Lo que te he dicho te lo he dicho en broma. No es ninguna molestia solventar tus dudas, porque si no yo no estaría en Todoexpertos ;)
Y, si tienes 50 dudas más, me las pides tranquilamente.
Ánimo, a ver si te sale ;)
Un gran saludo.
Miquel, hice lo que me sugeriste, pero la consulta me pide fecha menor y fecha mayor, pero no me da la opción de seleccionar la ID_ORDEN, me imprime toda de esa fecha o dee se día. No se puede hacer con un formulario de donde pueda tener un cuadro combinado y me aparezcan los servicios, seleccionar en que necesite y al darle imprimir me de el cuadro de la impresora como lo hace esta opción que me distes, ¿dime se podrá hacer Miquel...?
Con tanto "toqueteo" he perdido un poco el norte! Je, je...
Bueno. Vamos a ver. Partimos del primer informe de tu primera consulta, el que dices que te salen todos los registros. A este informe le llamaré ROriginal.
1.- Crea una consulta sobre la tabla en la que estés trabajando y le añades los campos que necesites (los mínimos posibles, pues va a ser el origen del combo). Evidentemente le deberás añadir el campo [ID_ORDEN]. Como no tengo muy claro qué información debe darte la consulta te dejo a ti para que apliques los filtros que creas convenientes (ahora ya deberías saber hacer eso). Supongamos que la llamas CFiltro
2.- En el formulario de trabajo creas un combo. Sigues el asistente y le seleccionas la consulta que acabas de crear (CFiltro). Debes decirle que SÍ quieres mostrar la clave principal.
3.- A ese combo lo llamamos, por ejemplo, cboFiltro. Sacas sus propiedades y al evento "Después de actualizar" le escribes el siguiente código:
---
Private Sub...
Dim vFiltro as Variant
vFiltro=Me.cboFiltro.Value
If IsNull(vFiltro) Then Exit Sub
DoCmd.OpenReport "ROriginal", acViewPreview,,"[ID_ORDEN]=" & vFiltro
End sub
---
4.- Abres ROriginal en vista diseño y hacemos lo que te comentaba en mi respuesta anterior:
<<6.- [...] Sacas sus propiedades, pestaña Eventos, y buscas el evento "Al Activar". Le generas el siguiente código:
---
Private Sub...
DoCmd. RunCommand acCmdPrint
DoCmd. Close acReport, Me. Name
End Sub
--->>
Piensa que todo depende de los filtros que le pongas a la consulta origen del combo (CFiltro), que yo no tengo manera de saber cómo quieres filtrarlos. Si es entre fechas, ya sabes la mecánica, y si es por completado, también ya sabes cómo poner el filtro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas