Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fichier Access anormalement lourd (130 mo), où est le problème?

16 réponses
Avatar
Pat|Dez
Bonjour à tous,

Dans le cadre d'un projet, j'ai conçu un formulaire d'enregistrement faisant
appel à quelques lignes de code très simples en VBA pour
ajouter/modifier/supprimer des objets d'une table unique, contenant pour
l'instant 200 tuples, sous Access 2003. Tout fonctionne à merveille, mais
j'ai cependant été étonné de m'apercevoir que mon fichier access .mdb
occupait un espace anormalement élevé sur le disque (près de 130 Mo!). Y
a-t-il un problème de conception quelque part?

Merci de me faire part de vos expériences similaires.

6 réponses

1 2
Avatar
LiR
Voilà! Une fois qu'on le sait, c'est radical : il est pour ainsi dire
impossible d'utiliser des images JPEG dans Access.
En fait, de manière interne, Access encapsule les images dans un métafichier
après les avoir converties en Bitmap. Je crois que c'est pour les rendre
indépendantes du contexte d'affichage (dans l'idée louable que des données
doivent être utilisables sur n'importe quelle machine).

Voir ici : http://office.microsoft.com/fr-fr/access/HA011472041036.aspx

Content de t'avoir aidé.

"Pat|Dez" a écrit dans le message de
news:
Bonjour à vous tous,

Ce sont d'excellentes pistes que tu m'as lancées LiR et je viens tout
juste
de tenter l'expérience.

L'importation de mon formulaire seul dans une base vide de tout autre
objet
me donne un fichier .mdb de 119 Mo, comme le sous-entendait la longue
attente
lors de l'importation suggérée par Gilbert.

J'ai ensuite enlevé une des trois images, un JPEG de 233 Ko, figurant sur
mon formulaire; une fois compacté mon .mdb faisait 53 Mo. J'ai enlevé ma
deuxième image, un PNG de 50 Ko : le .mdb faisait alors 52 Mo. J'ai enlevé
ma
dernière image, un JPEG de 1,5 Mo: après compaction le .mdb faisait 144
Ko.
C'est exponentiel tout ça!

Pour parfaire l'expérience, j'ai ajouté une image JPEG de 92 Ko à 72 dpi à
mon formulaire et le .mdb s'est éleveé à 3 Mo. Je l'ai ensuite remplacé
par
la même image à 72 dpi au format BMP à 1,5 Mo et mon .mdb s'est élevé à
1,7
Mo.

Conclusion: Lorsqu'on ajoute une image en format JPG sur un formulaire
Access, l'espace que cette image occupe est multipliée de beaucoup, alors
qu'Access ne multiplie pas l'espace occupée par les images au format BMP.

Merci à vous tous pour vos conseils qui ont su régler le problème!


Avatar
3stone
Salut,

"Pat|Dez"
| Ce sont d'excellentes pistes que tu m'as lancées LiR et je viens tout juste
| de tenter l'expérience.


On ne s'attend pas tous les jours à des utilisations aussi... hubuesque ;-(


| L'importation de mon formulaire seul dans une base vide de tout autre objet
| me donne un fichier .mdb de 119 Mo, comme le sous-entendait la longue attente
| lors de l'importation suggérée par Gilbert.
|
| J'ai ensuite enlevé une des trois images, un JPEG de 233 Ko, figurant sur
| mon formulaire; une fois compacté mon .mdb faisait 53 Mo. J'ai enlevé ma
| deuxième image, un PNG de 50 Ko : le .mdb faisait alors 52 Mo. J'ai enlevé ma
| dernière image, un JPEG de 1,5 Mo: après compaction le .mdb faisait 144 Ko.
| C'est exponentiel tout ça!
|
| Pour parfaire l'expérience, j'ai ajouté une image JPEG de 92 Ko à 72 dpi à
| mon formulaire et le .mdb s'est éleveé à 3 Mo. Je l'ai ensuite remplacé par
| la même image à 72 dpi au format BMP à 1,5 Mo et mon .mdb s'est élevé à 1,7
| Mo.
|
| Conclusion: Lorsqu'on ajoute une image en format JPG sur un formulaire
| Access, l'espace que cette image occupe est multipliée de beaucoup, alors
| qu'Access ne multiplie pas l'espace occupée par les images au format BMP.


La conclusion est que, malgré tes expériences, tu semble ignorer
(ni avoir compris) le principal...

Pour commencer, le JPG, comme d'autres, est un format de sauvegarde.
L'image est compressée pour utiliser moins de place sur le support.
Dire que tu inclus une image de 233 Ko en JPG est une expression fausse.
Lorsque l'on affiche un JPG, elle est obligatoirement "décompactée" et pour
te donner une idée: ce JPG devient un équivalant en BMP de 1,5 Mb.
Quand à inclure un JPG de 1,5 Mb, cela revient environ à inclure un BMP
de 25 Mb ?!? Cela dépend fortement du taux de compression.

Que peut bien faire une image de 25 Mb dans un formulaire ?
De la décoration ? As-tu seulement vérifier la résolution de cette image,
pas les DPI, mais sa taille ?

Lorsque l'on ignore qu'Access va sauver aussi bien l'original que l'image
décompactée, auquel on ajoute toutes les infos plus ou moins nécessaires,
on arrive à créer des formulaires aussi folklorique que les tiens.

A la question: peut-on inclure une image comme fond de formulaire ?
la réponse est oui, à condition que l'on sache de quoi on parle lorsque
l'on dit "image" !
Il suffit de regarder tous les modèles fournis avec Access pour ce rendre
compte qu'ils comportent des images - mais l'on devrait aussi s'intéresser
au poids et formats et résolutions de ces images...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
LiR
Le fait est que Microsoft Word est capable d'encapsuler les images les plus
grosses et les plus folles sans aucun problème, quel que soit le format,
sans perte de qualité ni de performance ni d'explosion de taille (voire même
il peut la réduire - je ne parle pas de compression de la qualité).
Je suis sûr qu'avec un peu de bonne volonté, Access aurait pû être conçu
pour faire de même.
Ceci dit je n'ai jamais vraiment compris non plus l'intérêt de metrre des
grosses images dans des formulaires. De manière générale, comme tu le dis,
il faut garder une certaine maîtrise de ce qu'on fait.
Par contre, certaines applications peuvent nécessiter d'avoir des photos
(gestion de catalogue, bibliothèques techniques...) ça aurait sympa pour ces
cas là d'avoir une fonctionnalité plus performante à ce niveau.
Car même en faisant appel à des images liées ou en les chargeant
dynamiquement (en VBA par exemple), la performance n'est pas au
rendez-vous...
Le seul format avec lequel j'ai obtenu de bons résultats était un format
vectoriel, WMF et EMF, mais là encore j'ai fini par avoir un gros problème
d'échelle, qui est d'ailleurs apparu un beau jour sans que j'aie jamais su
pourquoi (je cherche encore parfois car c'est une application technique qui
en a vraiment besoin).

J'ajouterai le souvenir d'une anecdote "amusante" : si quelqu'un a encore
Access 2000 et qu'il s'amuse à mettre une image en fond de formulaire, la
conséquence sera fatale :
Si le formulaire est recouvert par une autre fenêtre, épuisement de 100% de
la mémoire en quelques secondes jusqu'à extinction forcée de la machine.
En tous cas, expérimenté à l'époque sur Windows98 SE.

"3stone" a écrit dans le message de
news:
Salut,

"Pat|Dez"
| Ce sont d'excellentes pistes que tu m'as lancées LiR et je viens tout
juste
| de tenter l'expérience.


On ne s'attend pas tous les jours à des utilisations aussi... hubuesque
;-(


| L'importation de mon formulaire seul dans une base vide de tout autre
objet
| me donne un fichier .mdb de 119 Mo, comme le sous-entendait la longue
attente
| lors de l'importation suggérée par Gilbert.
|
| J'ai ensuite enlevé une des trois images, un JPEG de 233 Ko, figurant
sur
| mon formulaire; une fois compacté mon .mdb faisait 53 Mo. J'ai enlevé ma
| deuxième image, un PNG de 50 Ko : le .mdb faisait alors 52 Mo. J'ai
enlevé ma
| dernière image, un JPEG de 1,5 Mo: après compaction le .mdb faisait 144
Ko.
| C'est exponentiel tout ça!
|
| Pour parfaire l'expérience, j'ai ajouté une image JPEG de 92 Ko à 72 dpi
à
| mon formulaire et le .mdb s'est éleveé à 3 Mo. Je l'ai ensuite remplacé
par
| la même image à 72 dpi au format BMP à 1,5 Mo et mon .mdb s'est élevé à
1,7
| Mo.
|
| Conclusion: Lorsqu'on ajoute une image en format JPG sur un formulaire
| Access, l'espace que cette image occupe est multipliée de beaucoup,
alors
| qu'Access ne multiplie pas l'espace occupée par les images au format
BMP.


La conclusion est que, malgré tes expériences, tu semble ignorer
(ni avoir compris) le principal...

Pour commencer, le JPG, comme d'autres, est un format de sauvegarde.
L'image est compressée pour utiliser moins de place sur le support.
Dire que tu inclus une image de 233 Ko en JPG est une expression fausse.
Lorsque l'on affiche un JPG, elle est obligatoirement "décompactée" et
pour
te donner une idée: ce JPG devient un équivalant en BMP de 1,5 Mb.
Quand à inclure un JPG de 1,5 Mb, cela revient environ à inclure un BMP
de 25 Mb ?!? Cela dépend fortement du taux de compression.

Que peut bien faire une image de 25 Mb dans un formulaire ?
De la décoration ? As-tu seulement vérifier la résolution de cette image,
pas les DPI, mais sa taille ?

Lorsque l'on ignore qu'Access va sauver aussi bien l'original que l'image
décompactée, auquel on ajoute toutes les infos plus ou moins nécessaires,
on arrive à créer des formulaires aussi folklorique que les tiens.

A la question: peut-on inclure une image comme fond de formulaire ?
la réponse est oui, à condition que l'on sache de quoi on parle lorsque
l'on dit "image" !
Il suffit de regarder tous les modèles fournis avec Access pour ce rendre
compte qu'ils comportent des images - mais l'on devrait aussi s'intéresser
au poids et formats et résolutions de ces images...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Avatar
Pat|Dez
Bien le bonjour à tous,

Malgré ma bonne foi, je ne tenterai pas de conclure cette fois-ci mais
plutôt d'apporter une vision plus large à toute ces discussions on ne peut
plus techniques.

Je suis entièrement d'accord avec vous tous intervenants: pour un formulaire
conçu à l'interne, l'ajout d'images peut sembler complètement farfelu. Mis à
part enjoliver un document qui ne sortira pas des bureaux de notre
entreprise, ce qui en soit est complètement ridicule compte tenu de l'espace
disque que tout cela est susceptible d'engendrer - surtout dans le cas des
images de fond! -, il n'y a aucune valeur ajoutée au niveau de l'efficience
de la base de données.

Cependant, il arrive que ces bases de données soient conçues pour nos
partenaires et que dès lors, elles constituent un bien livrable dans le cadre
d'un projet. Il est probable que pour accroître le sentiment d'appartenance à
cette base de données on ressente le besoin d'y ajouter le logo de
l'organisme sur le formulaire à qui cette base de données est destinée.
D'ailleurs, ne le faisons nous pas en page titre de vulgaires rapports
d'avancement? Cela peut même venir d'une demande précise de la part du client.

Alourdir un fichier .mdb de 120 Mo pour trois petits logos est exagéré, de
là ma question sur ce forum. Mais grâce à vos conseils, je considère qu'un
alourdissement de 2 Mo est un excellent compromis.

Ce formulaire a été conçu de manière à rendre convivial l'entrée de données
dans une base de données qui, à prime abord, ne l'est pas du tout pour ceux
et celles n'étant pas familiers avec non seulement le logiciel MS Access,
mais avec l'informatique en général. Voilà l'objectif premier de tout ceci.
Évidemment, vous ne pouviez pas le deviner et certains d'entre vous avez
sous-entendu au départ l'inutilité de tout cela en condamnant l'ajout
d'images dans des formulaires Access. Je dois avouer ne pas m'être attendu à
ce que mes décisions techniques soient jugées aussi sévèrement de la part des
experts du forum. J'imagine très bien le sentiment que de parfaits néophytes
puisse ressentir lorsqu'après avoir posé une question évidente pour plusieurs
sur ce forum d'experts, on leur réponde avec un dédain frôlant presque le
mépris!

Pur folklore que tout ceci? Peut-être. Laisser tomber nos oeillères peut
toutefois nous amener à considérer un univers qui va bien au-delà des très
théoriques technicités de l'informatique.

Merci encore à tous ceux ayant contribué à régler mon problème.
Sans rancune pour les autres!
Avatar
LiR
Bonjour,

Je ne crois pas que quelqu'un ait voulu te juger.
Je ne crois pas non plus qu'on ait cherché à te critiquer, mais plutôt à
mettre le doigt sur les aspects critiques de certains critères techniques!
Je trouve que tu viens de formuler une bonne vision de la chose, que je
partage tout-à-fait.

"Pat|Dez" a écrit dans le message de
news:
Bien le bonjour à tous,

Malgré ma bonne foi, je ne tenterai pas de conclure cette fois-ci mais
plutôt d'apporter une vision plus large à toute ces discussions on ne peut
plus techniques.

Je suis entièrement d'accord avec vous tous intervenants: pour un
formulaire
conçu à l'interne, l'ajout d'images peut sembler complètement farfelu. Mis
à
part enjoliver un document qui ne sortira pas des bureaux de notre
entreprise, ce qui en soit est complètement ridicule compte tenu de
l'espace
disque que tout cela est susceptible d'engendrer - surtout dans le cas des
images de fond! -, il n'y a aucune valeur ajoutée au niveau de
l'efficience
de la base de données.

Cependant, il arrive que ces bases de données soient conçues pour nos
partenaires et que dès lors, elles constituent un bien livrable dans le
cadre
d'un projet. Il est probable que pour accroître le sentiment
d'appartenance à
cette base de données on ressente le besoin d'y ajouter le logo de
l'organisme sur le formulaire à qui cette base de données est destinée.
D'ailleurs, ne le faisons nous pas en page titre de vulgaires rapports
d'avancement? Cela peut même venir d'une demande précise de la part du
client.

Alourdir un fichier .mdb de 120 Mo pour trois petits logos est exagéré, de
là ma question sur ce forum. Mais grâce à vos conseils, je considère qu'un
alourdissement de 2 Mo est un excellent compromis.

Ce formulaire a été conçu de manière à rendre convivial l'entrée de
données
dans une base de données qui, à prime abord, ne l'est pas du tout pour
ceux
et celles n'étant pas familiers avec non seulement le logiciel MS Access,
mais avec l'informatique en général. Voilà l'objectif premier de tout
ceci.
Évidemment, vous ne pouviez pas le deviner et certains d'entre vous avez
sous-entendu au départ l'inutilité de tout cela en condamnant l'ajout
d'images dans des formulaires Access. Je dois avouer ne pas m'être attendu
à
ce que mes décisions techniques soient jugées aussi sévèrement de la part
des
experts du forum. J'imagine très bien le sentiment que de parfaits
néophytes
puisse ressentir lorsqu'après avoir posé une question évidente pour
plusieurs
sur ce forum d'experts, on leur réponde avec un dédain frôlant presque le
mépris!

Pur folklore que tout ceci? Peut-être. Laisser tomber nos oeillères peut
toutefois nous amener à considérer un univers qui va bien au-delà des très
théoriques technicités de l'informatique.

Merci encore à tous ceux ayant contribué à régler mon problème.
Sans rancune pour les autres!


Avatar
3stone
Salut,

Bizarre, j'avais mis une réponse qui ne semble pas avoir parue...

Peu importe, j'espère juste ne pas avoir envoyé sur un mail perso,
par inattention :-/

J'avais entre-autre mis un lien qui montrait ce que Access sait
faire avec des images, lorsque l'on sait/connait ce que l'on fait.

Car lorsque j'entends que :
"Word est capable d'encapsuler les images les plus
grosses et les plus folles sans aucun problème, quel que soit le format,
sans perte de qualité ni de performance ni d'explosion de taille (voire même
il peut la réduire - je ne parle pas de compression de la qualité)"

je me demande de quel Word on parle... car jusqu'à y compris la version 2003,
Word gagnait sans problème la palme du traitement de "texte" aux capacités
les plus réduites dès que l'on dépassait quelquels pages et quelques images!!
Pour Word 2007, MS à enfin maitrisé cela - ce que d'autres avait fait il a
bien longtemps déjà!

Ensuite...
"Alourdir un fichier .mdb de 120 Mo pour trois petits logos est exagéré"

me fait rigoler, lorsque ces "petits logos" font 1.5MB en JPG :-))

Cela montre que l'on ne fait pas la différence entre "gérer" des images/photos
et coller des monstres sur un formulaire comme une vulgaire vignette.

C'est vrai que l'on vit à l'heure où le gamin du coin veut voir "son" film
sur "son" GSM... No Limit ;-))

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
1 2