Newsgroup: it.comp.appl.access
Titolo: Stampa Report con più pagine diverse

Salve a tutti, sapete dirmi come posso stampare un report che deve contenere 
3 pagine A4 con stampa anche dietro (quindi 6 pagine totali) con ognuna 
delle 3 pagine fronte identica alle altre con la sola differenza di una 
etichetta dove scivo "copia cliente", "copia tecnico" e "copia amm. 
provinciale".
Ho provato inserendo le interruzioni di pagina nella sezione corpo del 
report cercando di replicare le pagine ma la lunghezza totale possibile 
arriva a 55 cm circa quindi insufficiente.
Molto grato a chi mi da una mano.
Saluti, Gianni. 


lancia la stampa 3 volte e cambia l'etichetta ogni volta
-- 
-- 
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access

 ha scritto nel messaggio 
news:fj0gm9$67n$1...@tdi.cu.mi.it...

Grazie per il consiglio ma se intendi che ad ogni stampa devo entrare in 
struttura del report e scivere a mano sull'etichetta per 3 volte mi sembra 
un pò macchinoso almeno che non ci sia un sistema un pò più automatico che 
non conosco.
Non esiste la possibilità di stampare 3 copie della stessa pagina con 3 
etichette diversè magari sfruttando l'intestazione e piè di pagina della 
pagina o del report? Spero di si!
Comunque vada grazie di nuovo.
Saluti, Gianni

 wrote:

Potrei suggerirti questa procedura abbastanza semplice: mi creo 3
copie del report principale e gli cambio l'intestazione in modo che
nel report 1 ci sia "copia cliente", nel report 2 "copia tecnico" e
così via e mantenendo il resto tutto uguale, li rinomino come mi
server (report1; report2; report3) poi nell'evento del pulsante che
lancia il report, aggiungo gli altri report copiando il codice e
cambiando il nome del report in modo che al click il pulsante mi manda
in stampa quello che voglio. Spero di essere stato chiaro. Ciao


Puoi ottenere l'automatismo che chiedi utilizzando VBA.
Devi innanzitutto crearti una variabile pubblica, inserita in un modulo a
parte.
Public NumeroCopie as Byte 'uso Byte perchè presumo che non farai mai più di
255 copie
Poi, presumendo che la stampa parta dal cllik di un pulsante, quando lanci
la stampa, incrementi la variabile NumeroCopie
Private Sub cmdStampa_Click()
On Error GoTo Err_cmdStampa_Click
    Dim N As Byte
    NumeroCopie=0
    For N = 1 To 3 'il numero 3 indica le copie che devi effettuare
        NumeroCopie = NumeroCopie +1
        DoCmd.OpenReport "RepPeriodicità", acViewNormal
    Next N
Exit_cmdStampa_Click:
    Exit Sub
Err_cmdStampa_Click:
    MsgBox Err.Description
    Resume Exit_cmdStampa_Click
End Sub
Poi inserisci l'etichetta sul report (io ho pensato di metterla
nell'intestazione) e gestisci l'evento print della parte del report che
contiene l'etichetta
Private Sub IntestazioneReport_Print(Cancel As Integer, PrintCount As
Integer)
On Error GoTo Err_IntestazioneReport_Print:
    Select Case NumeroCopie
    Case 1
        Me.lblCopia.Caption = "Copia per il cliente"
    Case 2
        Me.lblCopia.Caption = "Copia per il tecnico"
    Case 3
        Me.lblCopia.Caption = "Copia per copia l'amm. provinciale"
    End Select
Exit_IntestazioneReport_Print:
    Exit Sub
Err_IntestazioneReport_Print:
    MiaMsgBox "Si è verificato il seguente errore:@N° " & Err.Number & " - " &
Err.Description & "@"
    Resume Exit_IntestazioneReport_Print
End Sub
Naturalmente aumenterai o diminuirai le istruzioni Case a tuo piacimento
Saluti
Franco
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


Potresti crearti una tabella CopieInStampa di solo campo
"DescrizioneCopia" di tipo testo e contenente i 3 record con le
descrizioni che ti servono.
Poi potresti impostare l'origine dati del tuo report a "SELECT * FROM
CopieInStampa,OrigineDatiOriginale;".
Con questo sistema ogni record della tabella (o query)
OrigineDatiOriginale verrebbe abbinato a tutte 3 le descrizioni, ed
ordinando e raggruppando i record anche secondo DescrizioneCopia non
dovresti neanche crearti delle sezioni diverse, visto che il testo
dell'etichetta sarebbe sì diverso ma comunque in arrivo sempre dal
solito campo dell'origine dati.
Roberto