Eportare report in una libreria esterna

di il
8 risposte

Eportare report in una libreria esterna

Ciao a tutti, ho un database che contiene diversi report con delle immagini, il che fa si che le dimensioni del database siano di oltre 100 MB.

Il file del database si trova in una cartella onedrive (non posso spostarlo) e quindi nel momento in cui lo chiudo deve ogni volta caricare 100 mb ed oltre.

Stavo pensando a come ridurre le dimensioni del DB, ed ho letto da qualche parte che é possibile esportare i report in una libreria, ma non sono riuscito a trovare nulla a riguardo.

Avete qualche idea?

Grazie

8 Risposte

  • Re: Eportare report in una libreria esterna

    Prima di partire con idee a caso lette e fraintese su Internet, tipo la Libreria per i Report, serve capire quale possa essere veramente il problema, devi analizzare la cosa ma serve un po di competenza.

    Nel tuo caso il problema non sono i Report, anzi in nessun caso il probelma sono i Report, ma le Immagini, che non si mettono MAI inserite negli Oggetti(Maschere o Report)  di Access, ma si COLLEGANO come oggetti esterni, o si caricano a Runtime al volo, questo proprio per evitare che vadano ad impattare sulle dimensioni del DB.

    Inizia a fare questo lavoro, poi compatta tutto e vedi quanto ha migliorato.

    Le immagini possono essere Collegate o Caricate Runtime di conseguenza Scaricate alla chiusura della Maschera/Report.

    1. Collegate, si inserisce un controllo Immagine si seleziona l'Immagine, poi si va nelle proprietà del controllo alla voce “Tipo Immagine” si seleziona “Collegata”, questo corrisponde alla memorizzazione del Path, e verrà conseguentemente caricata all'apertura e scaricata alla chisura
    2. Caricata a Runtime, su Load della Form o del Report(poi l'evento è da scegliere in base a varie opzioni) si va ad attribuire l'immagine all'oggetto, quindi si inserisce sempre un controllo immagine ma lo si lascia vuoto, e su Load si attribuisce il Path completo dell'immagine alla proprietà Picture:
    Me!NomeControlloImmagine.Picture="C:\Pippo.bmp"

    La differenza tra le 2 opzioni è che la 2° è gestibile da codice in caso il DB debba essere spostato o nel caso l'immagine possa cambiare…

    Un'altra cosa che poi andrà vista, ma inizia a richiedere più esperienza, è capire se quei “DIVERSI REPORT” hanno senso di esistere o se ne hai creati di Uguali per un errato concetto di sviluppo…

    Purtroppo l'utilizzo di questi strumenti come Access, non può prescindere da una conoscenza pur minima della sostanza, altrimenti è ovvio ed evidente che nello sviluppo possano essere introdotti errori di progetto dati dalla non piena competenza che compromettono le performances e le potenzialità del prodotto.

    Il problema è che correggere poi gli errori a lavoro avanzato è più complesso, ed è per questo che la fase di Ingegnerizzazione che è fondamentale va fatta in modo corretto.

    P.S. La libreria con i Rerport è una tecnica che si può usare, ma non senza conoscenze concrete e decisamente più avanzate, ma serve per tenere distinto l'applicativo principale da BLINDARE al cliente, verso invece la reportistica che in certi casi deve poter essere customizzata e lasciato al Cliente la possibilità di lavorarci, quindi il FE si congela con una versione ACCDE mentre i Report, alcuni magari solo quelli personalizzabili, si spostano in un ACCDB da lasciare al cliente, ma poi serve gestire il File ACCDB come Libreria esterna, inserita nei riferimenti ed usata correttamente.

    Parliamo di applicativi di una certa importanza, non cose ad uso personale o limitato… 

  • Re: Eportare report in una libreria esterna

    Ciao a tutti, avendo un po di tempo libero ho ripreso questo vecchio problema che avevo ancora in sospeso.

    Quindi ho ascoltato il consiglio di Alex ed ho deciso di eliminare tutte le immagini dei report e utilizzare la proprietà collegata.

    Dunque ho poi creato un Nuovo database ed ho fatto un copia incolla di tutte le tabelle/Query/Report/Maschere in modo da eliminare l'eventuale cache delle immagini

    Pero' il nuovo database come dimensioni é uguali al precedente circa 100 Mb.

    Come mai?

    Grazie

  • Re: Eportare report in una libreria esterna

    Se hai fatto Copia/Incolla senza eliminare il campo Immagine dalla Tabella è ovvio…

    Per il resto compatta tutto, verifica se effettivamente hai il Collegamento, non è possibile quanto dici a meno di errori o sviste

  • Re: Eportare report in una libreria esterna

    18/10/2023 - @Alex ha scritto:


    Se hai fatto Copia/Incolla senza eliminare il campo Immagine dalla Tabella è ovvio…

    No dai fino a qui ci ero arrivato :-)

    Per il resto compatta tutto, verifica se effettivamente hai il Collegamento, non è possibile quanto dici a meno di errori o sviste

    Invece ho avuto una svista. Sui report avevo eliminato tutte le immagini, invece mi rimangono ancora alcuni cambi ole in una tabella che contengono dei file immagine, ed anche questi dovro' sostituirli con dei percorsi

    Grazie

  • Re: Eportare report in una libreria esterna

    27/03/2023 - fabionik2004 ha scritto:


    Il file del database si trova in una cartella onedrive

    Intervengo su un aspetto che non è oggetto del thread ma che secondo me merita di essere evidenziata: Access e OneDrive non vanno d'accordo, come in generale Access quando si vuole usarlo “dal web”. Il rischio di corruzione è elevatissimo. La multiutenza poi è impossibile (vabbè, se non è la tua situazione il problema non si pone). Resta comunque il fatto che Access lavora in locale o al più su LAN (dove è meglio che ci sia solo il back end, non anche il front end o il file accdb unico).

  • Re: Eportare report in una libreria esterna

    19/10/2023 - Philcattivocarattere ha scritto:


    27/03/2023 - fabionik2004 ha scritto:


    Il file del database si trova in una cartella onedrive

    Intervengo su un aspetto che non è oggetto del thread ma che secondo me merita di essere evidenziata: Access e OneDrive non vanno d'accordo,

    Sono d'accordo.

    Domanda: avendo messo tutte le immagini in una cartella esterna al database, nel momento un cui utilizzo il DB (che si trova in onedrive) Sarà sincronizzato solo quello é corretto? Non le immagini della cartella (anch'essa in one drive)

  • Re: Eportare report in una libreria esterna

    19/10/2023 - fabionik2004 ha scritto:

    Sono d'accordo.

    Bene.

    19/10/2023 - fabionik2004 ha scritto:

    Domanda: avendo messo tutte le immagini in una cartella esterna al database, nel momento un cui utilizzo il DB (che si trova in onedrive) Sarà sincronizzato solo quello é corretto? Non le immagini della cartella (anch'essa in one drive)

    Hai già cambiato idea rispetto alla riga sopra? Non uso OneDrive, in generale, men che meno inizierei ad usarlo con Access. Se proprio voglio passare per il web mando un'e-mail a me stesso. In altre situazioni potrei valutare di usare un “contenitore su internet" senza però alcun automatismo di sincronizzazione: scarico in locale, lavoro in locale, chiudo e a mano carico quello che voglio io sullo spazio sul web di cui ho la disponibilità. 

    Non sono fortissimo in questa materia, quindi magari per quanto riguarda la cartella delle immagini su OneDrive può andar bene, però è meglio che la rassicurazione o la smentita arrivi da qualcuno che le cose le sa davvero. Nel dubbio mi comporto come per il db: nessun automatismo con internet.

  • Re: Eportare report in una libreria esterna

    No No non ho cambiato idea, é solo che sono obbligato a utilizzare onedrive

Devi accedere o registrarti per scrivere nel forum
8 risposte