[RISOLTO] NUM PAGINE REPORT

di il
11 risposte

[RISOLTO] NUM PAGINE REPORT

Ciao a tutti

Probabilmente, è un problema da poco per chi è esperto, ma sono giorni che ci sbatto la testa.

Tramite una maschera (M1) ho un pulsante (StampaDelega) che mi permette di stampare per ogni anagrafica la propria delega (questo funziona benissimo)
Tramite la stessa maschera, ho un altro pulsante(StampaDeleghe) che mi permette di stampare tutte le deleghe di tutte le anagrafiche (che abbiano dei requisiti - risolto impostando i criteri nella query)
Il report me lo crea perfettamente, ma non riesco a fargli capire che il numero di pagine deve ripartire da 1 ogni volta che cambia anagrafica. Ho visto su internet che bastava mettere sulla sezione intestazione (IDANAGRAFICA) il forcenewpage, ma reagisce in maniera strana

Cioè, mi blocca l'avanzare delle pagine a cicli di tre pagine:
pagina 1 = 1
pagina 1 = 2
pagina 1 = 3
pagina 4 = 4
pagina 4 = 5
pagina 4 = 6

In realtà, vorrei che che sia il totale delle pagine che il numero di quelle pagine cambiasse al cambiare dell'IDANAGRAFICA.

Inoltre, non posso parlare per tutte le aziende, ma nella maggior parte la delega è di 4 pagine.

Suggerimenti?

11 Risposte

  • Re: [RISOLTO] NUM PAGINE REPORT

    Hai raggruppato per IdAnagrafica e definito che la sezione deve iniziare sempre ad ogni cambio IdAnagrafica...?
  • Re: [RISOLTO] NUM PAGINE REPORT

    Si

    Ho trovato pure questo codice su Internet:
    Option Compare Database
    Option Explicit
    
    Dim GrpArrayPage(), GrpArrayPages()
    Dim GrpNameCurrent As Variant, GrpNamePrevious As Variant
    Dim GrpPage As Integer, GrpPages As Integer
    
    Private Sub SezionePièDiPaginaPagina_Format(Cancel As Integer, FormatCount As Integer)
    Dim i As Integer
      If Me.Pages = 0 Then
        ReDim Preserve GrpArrayPage(Me.Page + 1)
        ReDim Preserve GrpArrayPages(Me.Page + 1)
        GrpNameCurrent = Me.Denominazione
        If GrpNameCurrent = GrpNamePrevious Then
            GrpArrayPage(Me.Page) = GrpArrayPage(Me.Page - 1) + 1
            GrpPages = GrpArrayPage(Me.Page)
                For i = Me.Page - ((GrpPages) - 1) To Me.Page
                    GrpArrayPages(i) = GrpPages
                Next i
        Else
            GrpPage = 1
            GrpArrayPage(Me.Page) = GrpPage
            GrpArrayPages(Me.Page) = GrpPage
        End If
      Else
        Me.ctlGrpPages = "Pagina " & GrpArrayPage(Me.Page) & " di " & GrpArrayPages(Me.Page)
      End If
      GrpNamePrevious = GrpNameCurrent
    End Sub
    Se metto il controllo [ctlGrpPages] non associato, il report si apre ma non vedo le pagine. Se ci scrivo ad esempio =[Pagine] come suggerito in quel sito mi da errore. "Impossibile assegnare un valore all'oggetto" e mi evidenzia proprio la riga:
    Me.ctlGrpPages = "Pagina " & GrpArrayPage(Me.Page) & " di " & GrpArrayPages(Me.Page)
    Ovviamente il sito era tutto in inglese
  • Re: [RISOLTO] NUM PAGINE REPORT

    Prova a vedere se con la versione di Max la cosa ti aiuta, magari leggi anche come si è arrivati seguendo il link:

    "forum.masterdrive.it/access-79/report-numerazione-pagine-relative-raggruppamento-pagina-x-y-101595/"
  • Re: [RISOLTO] NUM PAGINE REPORT

    Marcdreamer ha scritto:



    ... Ho trovato pure questo codice su Internet ....
    Ti confermo che quel codice, che ho usato per diverso tempo, presenta qualche 'piccolo' difetto .....
    Fai riferimento al link che ha messo Alex per usare un codice (spero) senza difetti.
  • Re: [RISOLTO] NUM PAGINE REPORT

    Ciao ad entrambi, stavo giusto facendo delle prove.


    Ho notato che il codice di Max mi raggruppa le pagine in questa maniera:
    (sicuramente sono io che sbaglio qualcosa)
    gruppo 1: pag 1 di 4; 2 di 4; 3 di 4; 4 di 4.
    e fin qui ok, poi però andando avanti con i gruppi fa
    gruppo2: pag 5 di 8; 6 di 8; 7 di 8; 8 di 8.
    invece, quello che vorrei è che continuasse a fare 1 di (tot) ad ogni cambio IDanagrafica

    Nel footer ho inserito due controlli, uno con l'origine =[pagine] e uno con il nome ctlGrpPages

    Cosa sbaglio?
  • Re: [RISOLTO] NUM PAGINE REPORT

    Marcdreamer ha scritto:


    Cosa sbaglio?
    Molto probabilmente NON hai impostato il raggruppamento nella costruzione del report.
    Progettazione -> Raggruppa e Ordina -> raggruppa secondo IDAnagrafica.
    Non è necessario, se non servono, creare l'intestazione e il pie del gruppo ....
  • Re: [RISOLTO] NUM PAGINE REPORT

    Era la prima cosa che ho indicato... spero avesse risposto si a ragione...
  • Re: [RISOLTO] NUM PAGINE REPORT

    Avevo pensato anche io fosse quello il problema e sono andato a controllare, ma l'avevo già raggruppato per IDanagrafica.
    Cioè il raggruppamento funziona, infatti tiene conto del fatto che per ogni IDAnagrafica ci siano 4 pagine. Il problema è che non mi riazzera il conteggio delle pagine.
  • Re: [RISOLTO] NUM PAGINE REPORT

    Sorry .... Ho dimenticato di specificare un pezzettino di codice ....
    
    Private Sub Header_ID_Format(Cancel As Integer, FormatCount As Integer)
        Me.Page = 1
     End Sub
    
    Header_ID è il nome della sezione Intestazione del raggruppamento !
  • Re: [RISOLTO] NUM PAGINE REPORT

    Sei un grande Max !!!!

    Era proprio quello che serviva!
    Spero un giorno di arrivare al vostro livello di conoscenza!

    Metto risolto al post.
  • Re: [RISOLTO] NUM PAGINE REPORT

    Marcdreamer ha scritto:


    Sei un grande Max !!!!
    Grazie, però sarebbe stato meglio se NON avessi dimenticato di fornire tutto il codice.
Devi accedere o registrarti per scrivere nel forum
11 risposte