Come espandere o ridurre l' immagine nel report?

di il
18 risposte

Come espandere o ridurre l' immagine nel report?

Buongiorno, Ho una maschera dove posso inserire il percorso di 9 immagini e un pulsante che mi esporta il report in pdf. Vorrei che quando vado a inserire il percorso di 2 immagini ad esempio il report si adatti alle 2 immagini, quando vado a inserire il percorso di 3 immagini il report si adatti alle 3 immagini e cosi via.... Nel senso di farle espandere o ridurre nel report in base alle immagini che inseriamo nella maschera ... Grazie mille in anticipo.
se sono stato poco chiaro posso provare a spiegarmi meglio.
Allegati:
29201_f2d523a7f8f4f9173f173895a90efc0b.png
29201_f2d523a7f8f4f9173f173895a90efc0b.png

18 Risposte

  • Re: Come espandere o ridurre l' immagine nel report?

    Mafra8 ha scritto:


    se sono stato poco chiaro posso provare a spiegarmi meglio.
    Esatto, prova ancora perché non ho capito.
    Hai una struttura reporto/sottoreport? Non avrai 9 campi, nella tabella sottostante con "Foto", "Foto1", "Foto2" e così via, spero.
  • Re: Come espandere o ridurre l' immagine nel report?

    Philcattivocarattere ha scritto:


    Mafra8 ha scritto:


    se sono stato poco chiaro posso provare a spiegarmi meglio.
    Esatto, prova ancora perché non ho capito.
    Hai una struttura reporto/sottoreport? Non avrai 9 campi, nella tabella sottostante con "Foto", "Foto1", "Foto2" e così via, spero.
    Si, ho 9 campi con "foto" "Foto1" ecc... cosa mi consigli di fare??

    Provo di nuovo:
    se tipo nel campo foto inserisco il percorso dell'immagine e negli altri campi foto non metto il percorso dell'immagine quindi non metto l'immagine voglio che l'immagine del campo foto si ingrandisca e prenda tutta o quasi la pagina del report come posso fare?
  • Re: Come espandere o ridurre l' immagine nel report?

    Sono controlli associati o no...?
    Dove sono inseriti...? Se sono nel corpo sono associati immagino ed in questo caso vorrei capire cosa intendibper adattare ildal momento che ne inserisci uno per record...?

    Se non sono associati ed hai 9 controlli immagine sapendo la dimensione del report, il numero.di immagini e la distribuzione in righe colonne ricalcoli le dimensioni da modificare di altezza/larghezza dei controlli immagine.

    Devi chiarire in modo più tecnico.
  • Re: Come espandere o ridurre l' immagine nel report?

    @Alex ha scritto:


    Sono controlli associati o no...?
    Dove sono inseriti...? Se sono nel corpo sono associati immagino ed in questo caso vorrei capire cosa intendibper adattare ildal momento che ne inserisci uno per record...?

    Se non sono associati ed hai 9 controlli immagine sapendo la dimensione del report, il numero.di immagini e la distribuzione in righe colonne ricalcoli le dimensioni da modificare di altezza/larghezza dei controlli immagine.

    Devi chiarire in modo più tecnico.
    Si sono controlli associati.
    Si sono inseriti nel corpo, adattare nel senso di espandere l'immagine/i se vengono inserite meno di 9 immagini tipo un autoimpaginazione diciamo.
    scusa la poco chiarezza.
  • Re: Come espandere o ridurre l' immagine nel report?

    Devono stare tutte in una pagina in verticale...?
  • Re: Come espandere o ridurre l' immagine nel report?

    @Alex ha scritto:


    Devono stare tutte in una pagina in verticale...?
    Si
  • Re: Come espandere o ridurre l' immagine nel report?

    Allora devi sapere il numero delle immagini su evento load...
    Sapendo l'altezza della pagina, tolti i margini e le sezioni ricavi il netto che può occupare il corpo... lo dividi per il numero di immagini e ricavi l'altezza massima delle istanze del corpo.
    Ora se le immagini nel corpo hanno uno spazio sopra sotto ne devi tenere conto prima di ridimensionare il controlo immagine.
    Il tutto lo delineare su load.
  • Re: Come espandere o ridurre l' immagine nel report?

    @Alex ha scritto:


    Allora devi sapere il numero delle immagini su evento load...
    Sapendo l'altezza della pagina, tolti i margini e le sezioni ricavi il netto che può occupare il corpo... lo dividi per il numero di immagini e ricavi l'altezza massima delle istanze del corpo.
    Ora se le immagini nel corpo hanno uno spazio sopra sotto ne devi tenere conto prima di ridimensionare il controlo immagine.
    Il tutto lo delineare su load.
    Scusa ma non ho capito.. puoi ripetere in maniera più semplice perfavore, Grazie.
  • Re: Come espandere o ridurre l' immagine nel report?

    La pagina del report è solitamente un A4 29.7cm ma non è un'altezza netta, ci sono i margini, l'intestazione, il piedipaginareport, se hai dei Raggruppamenti anche quelli.
    Tutte queste parti del report tolgono altezza utile al corpo.
    Se, come hai detto devono stare TUTTE in 1 sola pagina devi sapre di quanta altezza puoi disporre per le immagini 2 o 9 che siano...
    Calcolata quindi l'altezza utile per le immagini, in realtà per le sezioni Corpo, se il controllo immagine ha a sua volta un margine sulla parte superiore e/o inferiore devi considerarlo, altrimenti le immagini risultano attaccate senza spazio... questo lo si ottiene definendo DaMargineSupwriore=0,5cm, esempio, ed una altezza 1cm inferiore dell'altezza del corpo in modo da avere 0.5 sopra e sotto... anche se a mio avviso basterebbe sotto.
    Chiaramente dovresti sapere come viene disegnato il report per capire meglio... e la sezione Corpo viene riprodotta tante volte quanti sono inrecords(le immagini di fatto).
    Se invece le vuoi in più pagine la cosa si complica, in quanto serve capire quante immagini per pagina vuoi...
    Più semplice di così non si può....!
  • Re: Come espandere o ridurre l' immagine nel report?

    @Alex ha scritto:


    La pagina del report è solitamente un A4 29.7cm ma non è un'altezza netta, ci sono i margini, l'intestazione, il piedipaginareport, se hai dei Raggruppamenti anche quelli.
    Tutte queste parti del report tolgono altezza utile al corpo.
    Se, come hai detto devono stare TUTTE in 1 sola pagina devi sapre di quanta altezza puoi disporre per le immagini 2 o 9 che siano...
    Calcolata quindi l'altezza utile per le immagini, in realtà per le sezioni Corpo, se il controllo immagine ha a sua volta un margine sulla parte superiore e/o inferiore devi considerarlo, altrimenti le immagini risultano attaccate senza spazio... questo lo si ottiene definendo DaMargineSupwriore=0,5cm, esempio, ed una altezza 1cm inferiore dell'altezza del corpo in modo da avere 0.5 sopra e sotto... anche se a mio avviso basterebbe sotto.
    Chiaramente dovresti sapere come viene disegnato il report per capire meglio... e la sezione Corpo viene riprodotta tante volte quanti sono inrecords(le immagini di fatto).
    Se invece le vuoi in più pagine la cosa si complica, in quanto serve capire quante immagini per pagina vuoi...
    Più semplice di così non si può....!
    ok ho capito, grazie mille ma che tipo di controllo devo fare o meglio cosa devo usare per sapere il numero delle immagini??
  • Re: Come espandere o ridurre l' immagine nel report?

    Se non lo sai tu quante sono... dcount(...) ad esempio, oppure puoi passare l'arg ad openargs..
  • Re: Come espandere o ridurre l' immagine nel report?

    @Alex ha scritto:


    Se non lo sai tu quante sono... dcount(...) ad esempio, oppure puoi passare l'arg ad openargs..
    Ho creato il report ma non so da dove iniziare nell'evento load più che altro non so che devo scrivere ... Grazie comunque
  • Re: Come espandere o ridurre l' immagine nel report?

    Scusa ma dove sai quante immagini hai da stanmpare...?
    Nella Maschetra...? Vedi quanti Records hai, che dovrebbe corrispondere al Numero di Immagini...?

    Passi il RecordCount al parametro Args nel report lo recuperi leggendo la proprietà OpenArgs, e fai il calcolo...!
    Nella Form:
    
    Docmd.OpenReport "NomeRport",,,,,Me.RecordsetClone.Recordcount
    Nel Report
    
    Const cm2twips=566.9291  ' Costante per la conversione [cm] TO [Twips]
    
    Private Sub Report_Load()
        Dim nImages  As Byte    ' Numero di Immagini
        Dim lHImage As Long    ' Altezza del Controllo Immagine preposto
        Dim rptH  As long         ' Altezza del Report in base al Foglio
        Dim lHDetails As Long   ' Altezza della sezione CORPO
        nImages=Me.OpenArgs
        ' Sapendo che hai un Report in A4 verticale 29.7*cm, ma va convertito in TWIPS
        rptH=29.7*cm2twips
        ' se hai il PiediPaginaPagina devi sottrarre anche quelli... se non li hai rimuovili altrimenti da errore.
        lHDetails=rpth-Me.Section(acHeader)-Me.Section(acFooter)-Me.Section(acPageHeader)-Me.Section(acPageFooter)
        lHImage=(lHDetails/nImages)-2*Me.NomeControlloImmagine.Top
        Me.NomeControlloImmagine.Height=lHImage
    End Sub
    Ovviamente la Larghezza dovrebbe essere calcolata in modo proporzionale oppure uguale...
    Buttata giù a braccio senza provarla, dovrai controllare e correggere qualche cosa.
  • Re: Come espandere o ridurre l' immagine nel report?

    @Alex ha scritto:


    Scusa ma dove sai quante immagini hai da stanmpare...?
    Nella Maschetra...? Vedi quanti Records hai, che dovrebbe corrispondere al Numero di Immagini...?

    Passi il RecordCount al parametro Args nel report lo recuperi leggendo la proprietà OpenArgs, e fai il calcolo...!
    Nella Form:
    
    Docmd.OpenReport "NomeRport",,,,,Me.RecordsetClone.Recordcount
    Nel Report
    
    Const cm2twips=566.9291  ' Costante per la conversione [cm] TO [Twips]
    
    Private Sub Report_Load()
        Dim nImages  As Byte    ' Numero di Immagini
        Dim lHImage As Long    ' Altezza del Controllo Immagine preposto
        Dim rptH  As long         ' Altezza del Report in base al Foglio
        Dim lHDetails As Long   ' Altezza della sezione CORPO
        nImages=Me.OpenArgs
        ' Sapendo che hai un Report in A4 verticale 29.7*cm, ma va convertito in TWIPS
        rptH=29.7*cm2twips
        ' se hai il PiediPaginaPagina devi sottrarre anche quelli... se non li hai rimuovili altrimenti da errore.
        lHDetails=rpth-Me.Section(acHeader)-Me.Section(acFooter)-Me.Section(acPageHeader)-Me.Section(acPageFooter)
        lHImage=(lHDetails/nImages)-2*Me.NomeControlloImmagine.Top
        Me.NomeControlloImmagine.Height=lHImage
    End Sub
    Ovviamente la Larghezza dovrebbe essere calcolata in modo proporzionale oppure uguale...
    Buttata giù a braccio senza provarla, dovrai controllare e correggere qualche cosa.
    Si inserisco un paio di campi e i campi testo/immagini nella maschera.
    Grazie mille adesso provo.
Devi accedere o registrarti per scrivere nel forum
18 risposte