Disegnare Linee Verticali in sottoreport

di il
9 risposte

Disegnare Linee Verticali in sottoreport

Buonasera a tutto il forum
Devo disegnare, come da titolo delle linee verticali in un SottoReport dopo aver scritto questo codice, sull'evento Pagina del
SottoReport, ad onore del vero con qualche dubbio che la cosa potesse funzionare, i dubbi si sono rivelati certezze.
Il codice è questo:
Private Sub Report_Page()
Dim MioSottoreport As Report
Set MioSottoreport = Report_MioSottoreport 
'le linee vengono descritte a DESTRA del nome campo
   MioSottoreport .Line (100, 0)-(100, 20000)
   MioSottoreport .Line (1400, 0)-(1400, 20000)
   MioSottoreport .Line (5050, 0)-(5050, 20000) 
   MioSottoreport .Line (6100, 0)-(6100, 20000) ...etc
 End Sub
Regolate tutte le linee di tutti i sottoreport, con aria di sufficienza , pensavo che modificando il riferimento (tipo Forms!Nomeform!NomeSubForm) la cosa potesse funzionare e invece no!
Qualcuno ha un suggerimento?

Nb Il codice nel caso venga stampato NON come SottoReport ma come Report a se stante funziona.

9 Risposte

  • Re: Disegnare Linee Verticali in sottoreport

    Hai verificato che, nel SottoReport l'Evento Page sia veramente gestito...?
    Se riesci allega un esempietto, con Report e Sottoreport...
  • Re: Disegnare Linee Verticali in sottoreport

    Salve Alex grazie per la risposta
    se il codice lo inserisco sull'evento Pagina del SottoReport e lancio anteprima e stampa di questo fuori dal contesto di report/sottoreport le linee vengono disegnate in maniera corretta.
    E' quando il report diventa sottoreport che le linee non vengono disegnate.
    Ho provato anche ad inserirlo sull'evento Pagina del report principale, ma non riesco ad intercettare l'evento pagina del sottoreport.
    Vedo di realizzare un demo sintetico è lo allego.
    Saluti
  • Re: Disegnare Linee Verticali in sottoreport

    Per Alex ecco il link del file
    https://www.dropbox.com/s/bz2mptqhpju9wa0/_Test.accdb?dl=0
    è ridotto all'osso ma rispecchia quanto spiegato prima.
  • Re: Disegnare Linee Verticali in sottoreport

    Gianni55 ha scritto:


    è ridotto all'osso ma rispecchia quanto spiegato prima.
    Ci ho dedicato al massimo 4 minuti, quindi prendi questo intervento con somma prudenza.
    L'evento Pagina del sottoreport, quando aperto appunto dal report principale, non si verifica.
    Perché usi quello e non il Format del corpo? lì funziona.
  • Re: Disegnare Linee Verticali in sottoreport

    Gianni55 ha scritto:


    Per Alex ecco il link del file
    https://www.dropbox.com/s/bz2mptqhpju9wa0/_Test.accdb?dl=0
    è ridotto all'osso ma rispecchia quanto spiegato prima.
    Il file di esempio è per il Forum e non per [Alex]... grazie.

    Perchè non hai verificato quello che ti avevo detto...?
    Quando un Report è usato come SottoReport non tutti gli eventi sono gestiti... come ti ha fatto notare Phil.

    Ora rispondendo a Phil, forse li ha messi nell'evento PAGE in quanto se li metti nel CORPO, non ottieni proprio la stessa cosa...
    Se usi PAGE le righe saranno a PAGINA INTERA a prescindere dal numero di RIGHE o RECORDS, se invece usi l'evento Forma del Corpo, otterrai le righe solo per lo spazio in verticale occupato dai Records.

    Per Gianni
    , quel codice lo puoi adattare all'evento PAGE del REPORT Principale, tenenedo conto della Posizione del SottoReport in LEFT e TOP come delta di spostamento laterale e vertticale, in questo modo avrai le righe a piena pagina corrette, se era l'effetto che volevi, altrimenti segui quanto proposto da PHIL.
  • Re: Disegnare Linee Verticali in sottoreport

    @Alex ha scritto:


    Ora rispondendo a Phil, ...
    Tutto chiaro, vero. Dettaglio che nei 4 minuti di prova non avevo notato.
  • Re: Disegnare Linee Verticali in sottoreport

    Scusate il ritardo, grazie Phil per la risposta

    Philcattivocarattere ha scritto:


    L'evento Pagina del sottoreport, quando aperto appunto dal report principale, non si verifica.
    Perché usi quello e non il Format del corpo? lì funziona.
    Proprio questo volevo sapere, se sull'evento Pagina del sottoreport fosse normale che le linee non si disegnassero.
    Questa era una scelta di ripiego, per una serie di circostanze strane che si stavano verificando.
    Di fatto il Report è costituito da sei sottoreport tutti gestiti con quel codice, evidentemente ognuno con i propri valori, sull'evento format di Intestazione Report, Intestazione Pagina e corpo di ogni SottoReport ed a video funzionava per ognuno.
    Quindi il report con tutti i sui SottoReport veniva chiamato in una funzione che lanciava una stampa massiva di tutti i record per la stampa di singolo File PDF per ogni record, ecco era in questa fase che i singoli file non mostravano "Tutta la sezione corpo", intendo ne le linee, ne tantomeno i dati del sottoreport .
    Per questa ragione ho momentaneamente tolto gli altri SottoReport e diretto l'attenzione al SottoReport "righe", per questo quei valori risultano sballati, infatti se quei valori del test li inserisci sull'evento format del corpo del sottoreport queste risultano non solo corrette come fincature, ma vengono pure stampate, ho eseguito una prova e tutto è OK.
    Il tutto se lo riporto nel Db Originale non funziona, questo mi fa pensare che :
    a- C'è qualche parametro nel report settato male.
    b- il codice che lancia la stampa (singolo file) ha bisogno di un doeventes più lungo o sinceramente in questo momento non so cosa pensare.
    Intanto mi porto tutti gli oggetti in questione in questo file di Test e vi faccio sapere.
    Nb il codice di stampa singolo file l'ho copia/incollato e modificato alla bisogna da un altro mio DataBase dove svolge egregiamente la sua funzione.
    Intanto ringrazio tutti finisco il mio test e faccio sapere.
    Saluti e grazie ancora.
  • Re: Disegnare Linee Verticali in sottoreport

    @Alex ha scritto:


    Il file di esempio è per il Forum e non per [Alex]... grazie.
    Scusa ho messo per Alex perché eri stato tu a chiederlo null'altro.
    Perchè non hai verificato quello che ti avevo detto...?
    Quando un Report è usato come SottoReport non tutti gli eventi sono gestiti... come ti ha fatto notare Phil.
    Era proprio questo che non sapevo.
    Se usi PAGE le righe saranno a PAGINA INTERA a prescindere dal numero di RIGHE o RECORDS, se invece usi l'evento Forma del Corpo, otterrai le righe solo per lo spazio in verticale occupato dai Records.
    Vedi risposta a Phil.
    Per Gianni[/b], quel codice lo puoi adattare all'evento PAGE del REPORT Principale, tenenedo conto della Posizione del SottoReport in LEFT e TOP come delta di spostamento laterale e verticale, in questo modo avrai le righe a piena pagina corrette, se era l'effetto che volevi, altrimenti segui quanto proposto da PHIL.
    [/quote]
    Avevo pensato a questo da ultimo, ma ora è cambiato tutto, visto che proprio nel file di TEST allegato tutto funziona, debbo dedurre che l'errore stia nel codice che lancia la stampa singolo file, do un'occhiata e faccio sapere.
    Grazie saluti
  • Re: Disegnare Linee Verticali in sottoreport

    Risolto!
    Il codice relativo alle linee l'ho posizionato sull'evento Format cosìccome lo avevo inserito in origine.
    Il codice sintetico, perché ormai il problema l'avrei attribuito anche alla 3° dose del vaccino!
    che normalmente scrivo per inviare a stampa un report è questo:
    Dim PathStart As String, PathDestino As String
        PathStart = Application.CurrentProject.Path & "\"
     PathDestino = PathStart & "ProvaInfinita" & ".PDF"
        DoCmd.OpenReport "RpFattPass1", acViewPreview, "", "IdPrimaNota=" & 2, acHidden
        DoCmd.OutputTo acOutputReport, "RpFattPass1", "PDFFormat(*.pdf)", PathDestino, True, "", , acExportQualityPrint
    Che in questo caso non ha funzionato, in quanto dopo 4 giorni di prove, naturalmente notti comprese, ho scoperto che nel caso vi siano delle linee (per ora solo queste) il report NON va aperto in modalità Hidden (Nascosta)
    Torna tutto nella norma, le linee vengono disegnate i record del sottoreport tornano visibili con il codice scritto così:
    Dim PathStart As String, PathDestino As String
        PathStart = Application.CurrentProject.Path & "\"
     PathDestino = PathStart & "ProvaInfinita" & ".PDF"
        DoCmd.OpenReport "RpFattPass1", acViewPreview, "", "IdPrimaNota=" & 2, acNormal
        DoCmd.OutputTo acOutputReport, "RpFattPass1", "PDFFormat(*.pdf)", PathDestino, True, "", , acExportQualityPrint
    Grazie a tutti, alla prossima.
Devi accedere o registrarti per scrivere nel forum
9 risposte