Access 2010 でいくつかのフォームを作成し、ヘッダー フォームに会社のロゴを追加しました。この画像は .jpg で、サイズは 70KB です。.mdb のサイズがすぐに 4MB から 12MB に増加した理由がわかりません。(いくつかのフォームと同じロゴ) 画像圧縮のオプションがいくつかあるのではないでしょうか?
2 に答える
Taken from http://office.microsoft.com/en-us/access-help/store-images-in-a-database-HP005280225.aspx
..."However, embedding images can rapidly inflate the size of your database and cause it to run slowly. This is especially true if you store GIF and JPEG files, because OLE creates additional bitmap files that contain display information for each of your image files, and those additional files can be larger than your original images. In addition, this method only supports the Windows Bitmap (.bmp) and Device Independent Bitmap (.dib) graphic file formats. If you want to display other common types of image files, such as GIF and JPEG images, you have to install additional software."...
To explain how these bitmap files are stored, the link below offers more explanation than the microsoft site:
Taken from http://www.ammara.com/support/kb/showkbe5cc.html
..."OLE Linking & Embedding is a technique used by Microsoft Access to store 'Objects' in database tables.The technique relies on the associated external application to store, present and edit the data. In some cases an additional uncompressed 'preview' image is also saved in the table (even when linking). This preview image is used for faster display of the data, or when the server application isn't available. This can cause a massive overhead. If you're storing jpeg images the uncompressed preview can be ten or twenty times the actual image size, causing the size of the database to rocket."...
So, when you drop an image onto a form in MS Access, uncompressed image data is saved to the system tables. This is actual uncompressed table data, so a compact and repair may offer little help.
The common workaround seems to be store the path to the image in a database table, and use that path to invoke the image on the form.
理由はわかりませんが(気にしません)、その動作にもすでに気付きました。会社のロゴまたはそれに相当するものに対する私の回避策は、それを 1 つのフォームに挿入し、それを必要な場所にサブフォームとして挿入することです。ロゴが 1 日変更された場合、更新する場所が 1 つしかないという追加の利点があります。