2012-06-11 9 views
5

Ho creato alcune forme in Access 2010 e aggiungo il logo dell'azienda al modulo di intestazione. Questa immagine è .jpg e la dimensione di esso è 70KB. Non so perché la dimensione di .mdb è immediatamente aumentata da 4 MB a 12 MB? (poche forme e lo stesso logo) Forse ci sono alcune opzioni di compressione delle immagini?Perché la dimensione di .mdb cresce tre volte con una piccola immagine?

+1

Qualcuno con conoscenza di Access 2010 in particolare dovrebbe rispondere a questo, ma nelle versioni precedenti di Access le immagini non sono state archiviate nel loro formato compresso e quindi l'aggiunta di un piccolo JPG potrebbe aumentare drasticamente la dimensione del DB. Hai provato a compattare il DB per vedere se questo ha fatto la differenza? – pstrjds

+0

La compattazione non cambia molto. Nel mio caso c'erano 12,4 MB e ora sono 11,9 MB. – mathewM

+0

@pstrjds Non sono esattamente sicuro di come funzioni, ma mdb è il formato più vecchio e, sospetto, soggetto al bloat che rappresentava un problema per le versioni precedenti. Mi chiedo sarebbe valsa la pena provare il formato accdb? – Fionnuala

risposta

4

Tratto da http://office.microsoft.com/en-us/access-help/store-images-in-a-database-HP005280225.aspx

... "Tuttavia, le immagini incorporamento possono rapidamente gonfiare la dimensione del database e causare l'esecuzione lentamente. Ciò è particolarmente vero se si memorizzare i file GIF e JPEG, poiché OLE crea file bitmap aggiuntivi che contengono informazioni di visualizzazione per ciascuno dei file immagine e questi file aggiuntivi possono essere più grandi delle immagini originali.In aggiunta a , questo metodo supporta solo Windows Bitmap (.bmp) e Device Independent Formati di file grafici bitmap (.dib). Se vuoi a visualizzazione altri comuni tipi di file di immagini, ad esempio GIF e JPEG immagini, è necessario installare software aggiuntivo. "...

Per spiegare come questi file bitmap vengono memorizzati, sul link qui sotto offre maggiori spiegazioni che il sito di Microsoft:

Tratto da http://www.ammara.com/support/kb/showkbe5cc.html

... "OLE collegamento & incorporamento è una tecnica utilizzata da Microsoft Access per negozio di 'oggetti' di tecnica tables.The banca dati si affida all'applicazione esterna associata per archiviare, presentare e modificare i dati. In alcuni casi anche un'immagine di anteprima non compressa aggiuntiva viene salvata nella tabella (anche quando si effettua il collegamento). Questa immagine di anteprima viene utilizzata per la visualizzazione dei dati più veloce o quando l'applicazione server non è disponibile a . Questo può causare un sovraccarico enorme. Se sei memorizzare jpeg immagini di anteprima non compresso può essere dieci o venti volte l'attuale immagine di dimensioni, causando la dimensione del database a razzo. "...

Così, quando si rilascia un'immagine su un modulo in MS Access, i dati delle immagini non compresse vengono salvati nelle tabelle di sistema, ovvero i dati della tabella non compressi effettivi, quindi una copia compatta e di riparazione può offrire un piccolo aiuto.

La soluzione comune sembra essere il percorso dell'immagine in una tabella di database e utilizzare tale percorso per richiamare l'immagine nel modulo

+1

grazie per le modifiche di formattazione, @EBarr! Sembra molto meglio ora! – EastOfJupiter

+0

Felice di essere al servizio ... basta navigare in idle time. – EBarr

1

Non so PERCHÉ (e non so re) ma ho già notato questo comportamento. La mia soluzione alternativa per i loghi aziendali o equivalenti è di inserirla in UN modulo, che poi inserisco come sottomodulo ovunque ne abbia bisogno. Ha il vantaggio aggiunto che se il logo cambia un giorno, c'è solo un posto da aggiornare.

Problemi correlati