Report: espandere linee insieme al corpo

di il
4 risposte

Report: espandere linee insieme al corpo

Salve a tutti,

sto cercando di riprodurre in un report un documento di trasporto, che deve avere un determinato layout, ma purtroppo mi sono impantanato in un problema.

In poche parole: ho un report (formato A4) con intestazione pagina, corpo, piè di pagina.

Nel corpo c'è un sottoreport con bordi trasparenti, originato da una query che può avere un numero indefinito di record.

Il report quindi, nell'anteprima di stampa può avere da 1 a n pagine.

Nel corpo del report principale ho delle linee che determinano le colonne e i margini del foglio, le quali tagliano dall'alto verso il basso l'intero corpo, andando a coincidere con altre linee nell'intestazione e nel piè di pagina, in modo da avere continuità tra le varie sezioni del report.
https://mega.nz/file/8iJHzaQK#JCDVmyP9NkYRJ-hy8AKg6-rkwI4GagrMCDhSPN13UTU

Il problema sostanzialmente sta nel fatto che queste linee appaiono perfettamente nella prima pagina del report, ma se i record da elencare in bolla sono molti e il report ha più pagine, in quelle successive non sono più presenti.
https://mega.nz/file/MrQkUbqC#pJGHMwRECRRQFQASIHuirxVaNQYUDhTLVOzIIgKjQ44
https://mega.nz/file/A3RACTwC#TD5FI5xnFw6-uc9CKupJEgH8iC7qEvWfJQAKtHusns0

Nei vari link ho caricato delle immagini per spiegarmi meglio.

Non posso aggirare il problema andando a modificare il sottoreport perché il risultato estetico non sarebbe più lo stesso.

Se riuscissi a risolvere questo grattacapo, il lavoro sarebbe perfetto. Si può risolvere con il vba? Esiste un'istruzione magari da poter dare alle linee per espandersi insieme al corpo del report? Dato che questa opzione non è presente nelle proprietà delle linee.

Grazie in anticipo..

4 Risposte

  • Re: Report: espandere linee insieme al corpo

    Ok, mi rispondo da solo.

    Sono riuscito a far si che il programma disegni le linee da solo, per ogni pagina, inserendo un evento "Su pagina" nel report, usando la funzione Line e settando tutte le coordinate:
    Private Sub Report_Page()
    Me.ScaleMode = 7
    Me.Line (0.132, 9.05)-(0.132, 23.05)
    Me.Line (13.201, 9.05)-(13.201, 23.05)
    Me.Line (15.344, 9.05)-(15.344, 23.05)
    Me.Line (19.559, 9.05)-(19.559, 23.05)
    End Sub
    
    Quello che mi resta da capire adesso è come impostare lo spessore linea a 1 pt , vale a dire più spessa di come la disegna di default.
  • Re: Report: espandere linee insieme al corpo

    Leggi in merito alla proprietà DrawWidth.
  • Re: Report: espandere linee insieme al corpo

    @Alex ha scritto:


    Leggi in merito alla proprietà DrawWidth.
    Grazie, in effetti mi è stata utile. Anche se non sono riuscito a rendere le linee perfettamente identiche a quelle disegnate manualmente nel resto del report, tant'è che ho dovuto modificare queste ultime, raggiungendo comunque un compromesso estetico accettabile.

    Il codice alla fine è questo:
    
    Me.ScaleMode = 7
    Me.DrawWidth = 1
    lngColor = RGB(0, 0, 0)
    Me.Line (0.132, 9.05)-(0.132, 23.05)
    Me.DrawWidth = 1
    lngColor = RGB(0, 0, 0)
    Me.Line (13.201, 9.05)-(13.201, 23.05)
    Me.DrawWidth = 1
    lngColor = RGB(0, 0, 0)
    Me.Line (15.344, 9.05)-(15.344, 23.05)
    Me.DrawWidth = 1
    lngColor = RGB(0, 0, 0)
    Me.Line (19.559, 9.05)-(19.559, 23.05)
    
  • Re: Report: espandere linee insieme al corpo

    Il DrawWidth è una proprietà di Report basta impostarla 1 volta e tutte le linee che disegni dopo avranno quello spessore fintanto che non la modifichi.
Devi accedere o registrarti per scrivere nel forum
4 risposte