Newsgroup: it.comp.appl.access
Titolo: Report stampa controlli solo in modalità struttura

Buona sera a tutti,
ho realizzato un report per un modulo prestampato (prestampato intendo
quelli per fatture, ddt ecc dove data e numero fattura hanno un posto
preciso dove essere stampati ecc...)
La cosa strana è che visualizzando il report in anteprima di stampa il
contenuto dei controlli è ben visibile e tutto funziona regolarmente.
Se lo stampo dall'anteprima appena visualizzata, viene eseguita e non
capisco perchè la function che mi permette di stampare e rendere invisibile
l'ultimo record tante volte quante me ne servono per allineare il piè pagina
del report, e di conseguenza i controlli / record coinvolti nella function
non vengono stampati (tutti) ( ho preso spunto dalla faq del sito comune
4.6 Stampare un numero N costante di righe per pagina )
Se invece lancio la stampa dal report in visualizzazione struttura, tutto
viene stampato regolarmente, non capisco cosa può scatenare l'esecuzione
della function se stampo il report dall'anteprima.
Vi posto il codice sperando che qualcuno faccia un test e mi faccia qualche
considerazione :
il controllo txtrec è posizionato nell'intestazione report e conta i record
da stampare;
il controllo contacorpo è posizionato nel raggruppamento id e conta i gruppi
di raggruppamento
Sono disposto a mandare anche un demo a qualcuno se volete.
Grazie per l'attenzione
Option Compare Database
Option Explicit
Dim flag As Integer
Dim intCR, i As Integer  'contatore di righe
Dim intCP As Integer   'contatore di pagine per gruppo
Const intNR = 28       'numero di righe da stampare
---------------------------------------------------
Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
     'incrementa il contatore di righe
      intCR = intCR + 1
If Pages > 1 Then
    If intCR + intCP = intNR And Page = 1 Then
         Me.IntPagina.Visible = True
    End If
    If (intCR + intCP) * (Page - 1) + 1 = intNR And Page < Pages + 1 Then
          Me.IntPagina.Visible = True
    End If
    If Me.contaCorpo = Me.txtTRec And intCR <= intNR - intCR + 3 Then
            Me.NextRecord = False
            i = i + 1
            Call ControlliAssociatiVisibili(True, i)
     End If
End If
If Pages = 1 Then
    If Me.contaCorpo = Me.txtTRec And intCR <= intNR - 15 Then
            Me.NextRecord = False
            i = i + 1
            Call ControlliAssociatiVisibili(True, i)
     End If
End If
End Sub
--------------------------------
Private Sub IntestazioneGruppo0_Format(Cancel As Integer, FormatCount As
Integer)
 'incrementa il contatore di pagine per gruppo
    intCP = intCP + 1
End Sub
Private Sub SezioneIntestazionePagina_Format(Cancel As Integer, FormatCount
As Integer)
 'azzera il contatore di righe
    intCR = 0
    'incrementa il contatore di pagine per gruppo
    intCP = 0
    'elimina l'interruzione di pagina
    Me.IntPagina.Visible = False
    'rende visibili i controlli testo nel corpo
   ' Call ControlliAssociatiVisibili(True, flag = 1)
End Sub
---------------------------------------------
Function ControlliAssociatiVisibili(blnStato As Boolean, flag As Integer)
If  i = 1 Then
    blnStato = True
Else
    blnStato = False
End If
            Me.id_componente.Visible = blnStato
            Me.qtaImpiegata.Visible = blnStato
            Me.valore.Visible = blnStato
            Me.valfatt.Visible = blnStato
            Me.codIVA.Visible = blnStato
End Function

 ha scritto nel messaggio
news:Vs1Yd.1037716$35.38...@news4.tin.it...

Ciao Sandro,
così di primo acchito direi di provare a spostare le funzioni anzichè
sull'evento Format sull'evento Print.
Se vuoi prova a mandare l'mdb zippato faccio prima a provare che non a
ricostruire il report che vada bene con questo codice....
Ciao
Cinzia

 ha scritto nel messaggio
news:4230a5b8$0$6302$5fc...@news.tiscali.it...

Ciao Cinzia,
avevo provato a spostare le sub sull'evento print, ma perdevo il controllo
del numero delle righe da stampare per pagina, non con questa versione, ma
con quella che avevi visto su microsoft.public.it.office.access.
Domani comunque riproverò, a casa non ho la stampante e quindi e non ho la
possibilità di testare il problema.
Ora mi organizzo e ti mando l'mdb zippato, rimuovo i dati sensibili
Come al solito sei gentilissima grazie.
Ciao.