Access - Informe en varias páginas

 
Vista:

Informe en varias páginas

Publicado por Juanca (20 intervenciones) el 19/06/2007 21:42:55
Hola a todos, tengo una pregunta,

Lo que pasa es que necesito hacer un informe (en realidad la idea de este informe es imprimir facturas) para imprimirlo en un formato de facturas que tenemos y en el cual no caben sino 6 referencias en la parte del detalle de la factura (al momento tenemos 20 referencias) pero cuando el cliente pide más de los seis items que caben por formato es cuando no sé como resolver esto; ya tengo el modelo del informe creado de tal forma que los datos se imprimen correctamente en los espacios destinados para ello en el formato que tenemos, al momento me estoy refiriendo a los controles del informe con código pero no me funciona al tratar de cargarlos items delntro de él, y pasa algo que no entiendo, abriendo la vista normal del informe de manera normal, el informe siempre funciona (sin incluir los items del pedido claro esta), pero si se hace pero medio del código y tratando de alimentar los campos de los items pedidos en el informe (esto todavia no funciona), este muchas veces no funciona mas, es decir, despues de eso, ni siquiera tratando de abrir la vista normal de la manera normal abre el informe, qué será??

No sé si explico bien mi duda, por ejemplo: si un cliente pide 15 referencias, deberían salir 2 impresiones (facturas) de a 6 items y otra con 3 unicamente, el caso es que cada una de ellas debe tener un set de 6 registros de detalle diferentes por página y despues de alimentar estas 6 referencias se debe imprimir y hacer esto mientras no se hayan alimentado todas las demas referencias pedidas, será que me estoy complicando la vida al tratar de hacer esto de esta manera???, alguien tiene alguna idea mejor que la mia, que me sugieren hacer??

Me pueden ayudar diciendome cómo puedo hacer esto y explicandome cómo me puedo referir a los controles contenidos dentro del informe mediante código, consulté la ayuda pero tal vez no lo estoy haciendo bien.

Muchas gracias de antemano sus sugerencias!!!

Juan Miguel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Imprimir facturas con detalles en formato específico

Publicado por Alejandro (4142 intervenciones) el 14/08/2023 16:18:59
Hola, Juan.

Entiendo que estás tratando de crear un informe de facturas en Access con un formato específico en el que solo caben 6 referencias en la parte de detalle de la factura. Si un cliente pide más de 6 referencias, deseas imprimir múltiples páginas de facturas con 6 registros en cada página, y luego imprimir una página adicional con los registros restantes.

Parece que estás en el camino correcto con la idea de utilizar controles en el informe para mostrar los detalles de las facturas. Aquí hay una sugerencia sobre cómo abordar este problema:

1. Diseño del informe:
- Asegúrate de que el diseño del informe esté configurado para acomodar hasta 6 referencias en una página. Organiza los controles de manera que se ajusten a este formato.

2. Consulta de datos:
- Crea una consulta que recopile los datos necesarios para las facturas, incluidos los detalles de las referencias.
- Ordena los resultados de la consulta según las necesidades de tu informe.

3. Código VBA en el botón de impresión:
- Crea un botón en tu formulario principal que iniciará el proceso de impresión de las facturas.
- En el evento "Al hacer clic" del botón, puedes utilizar código VBA para recorrer los registros y crear las páginas de facturas.
- Utiliza un bucle para recorrer los registros de la consulta y asignar los valores a los controles del informe. Controla el conteo de registros e imprime una página cuando se hayan asignado 6 registros.
- Luego, imprime la página con los registros restantes que no se imprimieron en las primeras páginas.

Aquí tienes un ejemplo simplificado de cómo podría ser el código VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub btnImprimirFacturas_Click()
    Dim rs As DAO.Recordset
    Dim rpt As Report
    Dim i As Integer
    Dim pageCount As Integer
 
    Set rs = CurrentDb.OpenRecordset("TuConsultaDeDatos")
 
    Do While Not rs.EOF
        Set rpt = New Report_Factura ' Cambia "Report_Factura" al nombre de tu informe
 
        For i = 1 To 6
            If Not rs.EOF Then
                ' Asigna valores a los controles en el informe
                rpt.Controls("txtReferencia" & i).Value = rs!Referencia
                ' ... asigna otros valores de detalles
                rs.MoveNext
            End If
        Next i
 
        rpt.Printer.Orientation = acPRORPortrait ' Cambia a Landscape si es necesario
        rpt.Printer.PaperSize = acPRPSLetter ' Cambia al tamaño de papel necesario
 
        DoCmd.OpenReport rpt.Name, acViewPreview
 
        pageCount = pageCount + 1
        If pageCount Mod 6 = 0 Then
            ' Imprime página y cierra el informe
            DoCmd.Close acReport, rpt.Name, acSaveYes
        End If
    Loop
 
    rs.Close
    Set rs = Nothing
End Sub

Recuerda que este es solo un ejemplo y deberás adaptarlo a tus necesidades específicas. El código recorre los registros de la consulta, asigna valores a los controles del informe y maneja la impresión de las páginas. Puedes ajustar los nombres de los controles y otros detalles según tu diseño.

Es importante realizar pruebas exhaustivas para asegurarte de que el proceso de impresión funcione correctamente antes de usarlo en producción. Si encuentras problemas, puedes depurar el código y buscar asistencia en línea o de un experto en Access si es necesario.

Espero que esta orientación te ayude a lograr tu objetivo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar