Access - Impresión de Informes en bloque

 
Vista:
sin imagen de perfil

Impresión de Informes en bloque

Publicado por Jaime (1 intervención) el 18/03/2015 19:58:33
Saludos.

Mi consulta es la siguiente:

¿Como imprimir un bloque de informes de un golpe? Por ejemplo, tengo albaranes del 1 al 50, y quiero imprimirlos todos de manera individual, no resúmenes, sino que salgan como si los hiciese uno por uno.

Cualquier ayuda es bien recibida, muchas gracias.
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 Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Impresión de Informes en bloque

Publicado por Neckkito (1157 intervenciones) el 23/03/2015 20:14:44
Hola!

Voy a suponer que tienes un informe llamado "RAlbaranes" donde te aparecen todos los albaranes, y que en este informe hay un campo con el nombre de [NumAlbaran]

En un formulario te creas un botón de comando y le generas el siguiente código (temporal) para probar que te funciona bien:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
...
Private Sub...
    Dim vIni As Variant
    Dim vFin As Variant
    Dim dif As Integer
 
    vIni = InputBox("Nº inicial albarán")
    vFin = InputBox("Nº final albarán")
 
    dif = vFin - vIni
 
    If dif < 0 Then Exit Sub
 
    For dif = vIni To vFin
        DoCmd.OpenReport "RAlbaranes", acViewPreview, , "NumAlbaran=" & dif
        MsgBox "Albarán: " & dif
        DoCmd.Close acReport, "RAlbaranes"
    Next dif
End Sub
...

Una vez lo tengas hecho haz la prueba de que todo funciona bien seleccionando tres o cuatro albaranes (no más, porque te vas a volver loco dándole al OK del mensaje que te sale).

Si todo te ha funcionado bien modifica el código por este otro, que ya te saca los albaranes directamente por la impresora predeterminada:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
...
Private Sub
    Dim vIni As Variant
    Dim vFin As Variant
    Dim dif As Integer
 
    vIni = InputBox("Nº inicial albarán")
    vFin = InputBox("Nº final albarán")
 
    dif = vFin - vIni
 
    If dif < 0 Then Exit Sub
 
    For dif = vIni To vFin
        DoCmd.OpenReport "RAlbaranes", , , "NumAlbaran=" & dif
    Next dif
End Sub
...

De todas maneras yo, en este segundo caso, también haría una prueba con pocos albaranes, porque si te pasas vas a fundir la impresora...

Saludos,
firmaMail
http://neckkito.siliconproject.com.ar
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