J'ai créé quelques formulaires dans Access 2010 et j'ai ajouté le logo de la société dans le formulaire d'en-tête. Cette image est un .jpg et sa taille est de 70KB. Je ne sais pas pourquoi la taille du .mdb a immédiatement augmenté de 4MB à 12MB ? (quelques formulaires et le même logo) Peut-être y a-t-il des options de compression d'image ?
Réponses
Trop de publicités?Tiré de http://office.microsoft.com/en-us/access-help/store-images-in-a-database-HP005280225.aspx
... "Cependant, l'incorporation d'images peut rapidement gonfler la taille de votre base de données et la rendre plus lente. Cela est particulièrement vrai si vous stockez des fichiers GIF et JPEG, parce que OLE crée des fichiers bitmap supplémentaires qui contiennent des informations d'affichage pour chacun de vos fichiers image, et ces fichiers supplémentaires peuvent être plus volumineux que vos images originales. En En outre, cette méthode ne prend en charge que les formats Windows Bitmap (.bmp) et Device Independent Bitmap (.dd). Device Independent Bitmap (.dib). Si vous souhaitez afficher d'autres types courants de fichiers image, comme les images GIF et JPEG vous devez installer un logiciel supplémentaire"...
Pour expliquer comment ces fichiers bitmap sont stockés, le lien ci-dessous offre plus d'explications que le site de microsoft :
Tiré de http://www.ammara.com/support/kb/showkbe5cc.html
... "OLE Linking & Embedding est une technique utilisée par Microsoft Access pour pour stocker des "objets" dans des tables de base de données. Cette technique repose sur l'application externe associée pour stocker, présenter et modifier les données. Dans certains cas, une image supplémentaire non compressée de type "aperçu" est également enregistrée dans la table (même en cas de liaison). dans la table (même en cas de liaison). Cette image de prévisualisation est utilisée pour un affichage plus rapide des données, ou lorsque l'application serveur n'est pas disponible. Cela peut entraîner une surcharge massive. Si vous stockez des images jpeg l'aperçu non compressé peut représenter dix ou vingt fois la taille réelle de l'image. taille réelle de l'image, ce qui fait grimper en flèche la taille de la base de données."...
Ainsi, lorsque vous déposez une image sur un formulaire dans MS Access, des données d'image non comprimées sont enregistrées dans les tables du système. Il s'agit de données de table non comprimées, de sorte qu'un compactage et une réparation ne sont pas d'un grand secours.
La solution de contournement la plus courante semble être de stocker le chemin d'accès à l'image dans une table de base de données et d'utiliser ce chemin pour appeler l'image sur le formulaire.
Je ne sais pas pourquoi (et je m'en fiche) mais j'ai déjà remarqué ce comportement également. Ma solution pour les logos d'entreprise ou équivalents est de les insérer dans UN formulaire, que j'insère ensuite comme sous-formulaire là où j'en ai besoin. Cela présente l'avantage supplémentaire que si le logo change un jour, il n'y a qu'un seul endroit à mettre à jour.