Fichier Access anormalement lourd (130 mo), où est le problème?
16 réponses
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.
Une base de données ne cesse de voir sa taille augmenter au fil de son utilisation et de la modification des données. Même si elle comporte peu de données, sa taille augmentera.
C'est pourquoi il faut régulièrement la compacter.
Ouvre ta base et vas dans le Menu : Outils->Utilitaires de base de données->Compacter une base de données
Je pense que sa taille sera alors redevenue raisonnable
"Pat|Dez" a écrit :
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.
Bonjour,
Une base de données ne cesse de voir sa taille augmenter au fil de son
utilisation et de la modification des données.
Même si elle comporte peu de données, sa taille augmentera.
C'est pourquoi il faut régulièrement la compacter.
Ouvre ta base et vas dans le Menu :
Outils->Utilitaires de base de données->Compacter une base de données
Je pense que sa taille sera alors redevenue raisonnable
"Pat|Dez" a écrit :
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.
Une base de données ne cesse de voir sa taille augmenter au fil de son utilisation et de la modification des données. Même si elle comporte peu de données, sa taille augmentera.
C'est pourquoi il faut régulièrement la compacter.
Ouvre ta base et vas dans le Menu : Outils->Utilitaires de base de données->Compacter une base de données
Je pense que sa taille sera alors redevenue raisonnable
"Pat|Dez" a écrit :
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.
Pat|Dez
Merci pour votre intervention, c'est très apprécié.
Vous avez vu juste: en compactant la base de données j'ai gagné 9 Mo d'espace, cependant elle demeure beaucoup trop lourde selon le bon sens! N'y aurait-il pas d'autres avenues possibles?
Merci pour votre intervention, c'est très apprécié.
Vous avez vu juste: en compactant la base de données j'ai gagné 9 Mo
d'espace, cependant elle demeure beaucoup trop lourde selon le bon sens! N'y
aurait-il pas d'autres avenues possibles?
Merci pour votre intervention, c'est très apprécié.
Vous avez vu juste: en compactant la base de données j'ai gagné 9 Mo d'espace, cependant elle demeure beaucoup trop lourde selon le bon sens! N'y aurait-il pas d'autres avenues possibles?
LiR
Bonjour,
Bon, 9 Mo sur 130, c'est presque rien de gagné...
ce serait donc plus un problème réel de ce qu'elle contient.
Dans la base, combien y a-t-il : - de tables - de formulaires - d'états - de modules
"Pat|Dez" a écrit :
Merci pour votre intervention, c'est très apprécié.
Vous avez vu juste: en compactant la base de données j'ai gagné 9 Mo d'espace, cependant elle demeure beaucoup trop lourde selon le bon sens! N'y aurait-il pas d'autres avenues possibles?
Bonjour,
Bon, 9 Mo sur 130, c'est presque rien de gagné...
ce serait donc plus un problème réel de ce qu'elle contient.
Dans la base, combien y a-t-il :
- de tables
- de formulaires
- d'états
- de modules
"Pat|Dez" a écrit :
Merci pour votre intervention, c'est très apprécié.
Vous avez vu juste: en compactant la base de données j'ai gagné 9 Mo
d'espace, cependant elle demeure beaucoup trop lourde selon le bon sens! N'y
aurait-il pas d'autres avenues possibles?
ce serait donc plus un problème réel de ce qu'elle contient.
Dans la base, combien y a-t-il : - de tables - de formulaires - d'états - de modules
"Pat|Dez" a écrit :
Merci pour votre intervention, c'est très apprécié.
Vous avez vu juste: en compactant la base de données j'ai gagné 9 Mo d'espace, cependant elle demeure beaucoup trop lourde selon le bon sens! N'y aurait-il pas d'autres avenues possibles?
Pat|Dez
Bonjour à nouveau,
Je me débrouille bien sur Access, sans pour autant en saisir parfaitement la théorie; si bien que les termes «modules» et «états» me laissent perplexes!
Je peux cependant dire qu'il s'agit d'une table unique contenant 29 champs. Les opérations sur cette table sont toutes effectuées à partir d'un simple formulaire: création, mise à jour et suppression de tuples. Le formulaire est conçu de manière à ce que monsieur tout-le-monde puisse l'utiliser: plusieurs menus déroulants (11) sont présents, certains champs se renseignent automatiquement (3) et il y a quelques cases à cocher (6). Sur l'ensemble des menus déroulants, 7 offrent des choix prédéfinis provenant d'une requête sur l'ensemble des données. Il y a présentement 200 tuples dans cette table de données.
Je précise également que bien que la base de données prenne plus de temps qu'à l'habitude pour s'ouvrir, une fois ouverte les opérations effectuées sur celle-ci le sont rapidement et sans anicroche.
Merci encore de vous pencher sur mon cas!
Bonjour à nouveau,
Je me débrouille bien sur Access, sans pour autant en saisir parfaitement la
théorie; si bien que les termes «modules» et «états» me laissent perplexes!
Je peux cependant dire qu'il s'agit d'une table unique contenant 29 champs.
Les opérations sur cette table sont toutes effectuées à partir d'un simple
formulaire: création, mise à jour et suppression de tuples. Le formulaire est
conçu de manière à ce que monsieur tout-le-monde puisse l'utiliser: plusieurs
menus déroulants (11) sont présents, certains champs se renseignent
automatiquement (3) et il y a quelques cases à cocher (6). Sur l'ensemble des
menus déroulants, 7 offrent des choix prédéfinis provenant d'une requête sur
l'ensemble des données. Il y a présentement 200 tuples dans cette table de
données.
Je précise également que bien que la base de données prenne plus de temps
qu'à l'habitude pour s'ouvrir, une fois ouverte les opérations effectuées sur
celle-ci le sont rapidement et sans anicroche.
Je me débrouille bien sur Access, sans pour autant en saisir parfaitement la théorie; si bien que les termes «modules» et «états» me laissent perplexes!
Je peux cependant dire qu'il s'agit d'une table unique contenant 29 champs. Les opérations sur cette table sont toutes effectuées à partir d'un simple formulaire: création, mise à jour et suppression de tuples. Le formulaire est conçu de manière à ce que monsieur tout-le-monde puisse l'utiliser: plusieurs menus déroulants (11) sont présents, certains champs se renseignent automatiquement (3) et il y a quelques cases à cocher (6). Sur l'ensemble des menus déroulants, 7 offrent des choix prédéfinis provenant d'une requête sur l'ensemble des données. Il y a présentement 200 tuples dans cette table de données.
Je précise également que bien que la base de données prenne plus de temps qu'à l'habitude pour s'ouvrir, une fois ouverte les opérations effectuées sur celle-ci le sont rapidement et sans anicroche.
Merci encore de vous pencher sur mon cas!
Gilbert
Bonjour,
N'as-tu pas des images dans certains champs de ta table? Elles ont la particularité de faire enfler démesurément une base de données. Il faut ne stocker que l'adresse du fichier image dans ta table pour éviter ce genre de désagréments.
-- Cordialement,
Gilbert
"Pat|Dez" a écrit dans le message de news:
Bonjour à nouveau,
Je me débrouille bien sur Access, sans pour autant en saisir parfaitement
la
théorie; si bien que les termes «modules» et «états» me laissent
perplexes!
Je peux cependant dire qu'il s'agit d'une table unique contenant 29
champs.
Les opérations sur cette table sont toutes effectuées à partir d'un simple formulaire: création, mise à jour et suppression de tuples. Le formulaire
est
conçu de manière à ce que monsieur tout-le-monde puisse l'utiliser:
plusieurs
menus déroulants (11) sont présents, certains champs se renseignent automatiquement (3) et il y a quelques cases à cocher (6). Sur l'ensemble
des
menus déroulants, 7 offrent des choix prédéfinis provenant d'une requête
sur
l'ensemble des données. Il y a présentement 200 tuples dans cette table de données.
Je précise également que bien que la base de données prenne plus de temps qu'à l'habitude pour s'ouvrir, une fois ouverte les opérations effectuées
sur
celle-ci le sont rapidement et sans anicroche.
Merci encore de vous pencher sur mon cas!
Bonjour,
N'as-tu pas des images dans certains champs de ta table?
Elles ont la particularité de faire enfler démesurément une base de données.
Il faut ne stocker que l'adresse du fichier image dans ta table pour éviter
ce genre de désagréments.
--
Cordialement,
Gilbert
"Pat|Dez" <PatDez@discussions.microsoft.com> a écrit dans le message de
news:B63D7346-F10F-44F6-8E75-2272832147E3@microsoft.com...
Bonjour à nouveau,
Je me débrouille bien sur Access, sans pour autant en saisir parfaitement
la
théorie; si bien que les termes «modules» et «états» me laissent
perplexes!
Je peux cependant dire qu'il s'agit d'une table unique contenant 29
champs.
Les opérations sur cette table sont toutes effectuées à partir d'un simple
formulaire: création, mise à jour et suppression de tuples. Le formulaire
est
conçu de manière à ce que monsieur tout-le-monde puisse l'utiliser:
plusieurs
menus déroulants (11) sont présents, certains champs se renseignent
automatiquement (3) et il y a quelques cases à cocher (6). Sur l'ensemble
des
menus déroulants, 7 offrent des choix prédéfinis provenant d'une requête
sur
l'ensemble des données. Il y a présentement 200 tuples dans cette table de
données.
Je précise également que bien que la base de données prenne plus de temps
qu'à l'habitude pour s'ouvrir, une fois ouverte les opérations effectuées
N'as-tu pas des images dans certains champs de ta table? Elles ont la particularité de faire enfler démesurément une base de données. Il faut ne stocker que l'adresse du fichier image dans ta table pour éviter ce genre de désagréments.
-- Cordialement,
Gilbert
"Pat|Dez" a écrit dans le message de news:
Bonjour à nouveau,
Je me débrouille bien sur Access, sans pour autant en saisir parfaitement
la
théorie; si bien que les termes «modules» et «états» me laissent
perplexes!
Je peux cependant dire qu'il s'agit d'une table unique contenant 29
champs.
Les opérations sur cette table sont toutes effectuées à partir d'un simple formulaire: création, mise à jour et suppression de tuples. Le formulaire
est
conçu de manière à ce que monsieur tout-le-monde puisse l'utiliser:
plusieurs
menus déroulants (11) sont présents, certains champs se renseignent automatiquement (3) et il y a quelques cases à cocher (6). Sur l'ensemble
des
menus déroulants, 7 offrent des choix prédéfinis provenant d'une requête
sur
l'ensemble des données. Il y a présentement 200 tuples dans cette table de données.
Je précise également que bien que la base de données prenne plus de temps qu'à l'habitude pour s'ouvrir, une fois ouverte les opérations effectuées
sur
celle-ci le sont rapidement et sans anicroche.
Merci encore de vous pencher sur mon cas!
Pat|Dez
Bonjour Gilbert,
Il se trouve qu'aucun champ de ma table ne contient d'images. Seules trois images ornent mon formulaire et elles font 250 Ko chacune...
Merci de vous pencher à votre tour sur mon problème, Pat|Dez
Bonjour Gilbert,
Il se trouve qu'aucun champ de ma table ne contient d'images. Seules trois
images ornent mon formulaire et elles font 250 Ko chacune...
Merci de vous pencher à votre tour sur mon problème,
Pat|Dez
Tu peux essayer d'importer tous les objets de ta base dans une nouvelle base.
-- Cordialement,
Gilbert
"Pat|Dez" a écrit dans le message de news:
Bonjour Gilbert,
Il se trouve qu'aucun champ de ma table ne contient d'images. Seules trois images ornent mon formulaire et elles font 250 Ko chacune...
Merci de vous pencher à votre tour sur mon problème, Pat|Dez
Pat|Dez
Bonjour Gilbert,
J'ai bien tenté d'importer tous mes objets dans une nouvelle base et rien n'y fait: ma base occupe toujours 120 Mo d'espace disque. Je peux cependant lancer une piste en disant que le processus d'importation de mon formulaire a été nettement plus long que ceux de mes requêtes et de ma table.
Erreur de conception? Merci.
"Gilbert" a écrit :
Tu peux essayer d'importer tous les objets de ta base dans une nouvelle base.
-- Cordialement,
Gilbert
Bonjour Gilbert,
J'ai bien tenté d'importer tous mes objets dans une nouvelle base et rien
n'y fait: ma base occupe toujours 120 Mo d'espace disque. Je peux cependant
lancer une piste en disant que le processus d'importation de mon formulaire a
été nettement plus long que ceux de mes requêtes et de ma table.
Erreur de conception?
Merci.
"Gilbert" a écrit :
Tu peux essayer d'importer tous les objets de ta base dans une nouvelle
base.
J'ai bien tenté d'importer tous mes objets dans une nouvelle base et rien n'y fait: ma base occupe toujours 120 Mo d'espace disque. Je peux cependant lancer une piste en disant que le processus d'importation de mon formulaire a été nettement plus long que ceux de mes requêtes et de ma table.
Erreur de conception? Merci.
"Gilbert" a écrit :
Tu peux essayer d'importer tous les objets de ta base dans une nouvelle base.
-- Cordialement,
Gilbert
LiR
Bonjour,
Tu as donc visiblement au moins 1 table et au moins 1 formulaire dans ta base.
Tu devrais essayer d'importer dans une nouvelle base le formulaire seul, puis voir la taille de cette base Ensuite idem pour la Table. Cela donnera une idée de ce qui est incriminé : la table ou le formulaire (quoique je soupçonne que ta base comporte plus de choses...)
Par ailleurs, comme dit Gilbert, une image (même si elle est dans un formulaire) peut faire considérablement augemnter la taille d'une base. Il en est de même pour les Objets OLE.
J'ai fait le test avec une base (format 2002) toute vide, juste un formulaire, avec rien dedans. Je place dans ce formulaire une gentille petite jpeg de rien du tout qui fait 70 ko. La base fait alors 1456 ko ! autrement dit, ma gentille jpeg a vu sa taille multipliée par 20 dans la base. A noter que l'utilisation d'images dans une base est quasiment impossible d'après mon expérience (que ce soit dans une table ou un formulaire). Seul piste favorable : les images bitmap (BMP) sont beaucoup mieux gérées (encore, cela dépend de la configuration de l'ordinateur...)
Quoiqu'il en soit, une estimation d'après ce facteur appliqué à ton cas ferait 20 x 3 x 250 ko = 15 Mo
C'est déjà pas mal, mais on est loin des 130 Mo évidemment
"Pat|Dez" a écrit :
Bonjour Gilbert,
J'ai bien tenté d'importer tous mes objets dans une nouvelle base et rien n'y fait: ma base occupe toujours 120 Mo d'espace disque. Je peux cependant lancer une piste en disant que le processus d'importation de mon formulaire a été nettement plus long que ceux de mes requêtes et de ma table.
Erreur de conception? Merci.
"Gilbert" a écrit :
> Tu peux essayer d'importer tous les objets de ta base dans une nouvelle > base. > > -- > Cordialement, > > Gilbert
Bonjour,
Tu as donc visiblement au moins 1 table et au moins 1 formulaire dans ta base.
Tu devrais essayer d'importer dans une nouvelle base le formulaire seul,
puis voir la taille de cette base
Ensuite idem pour la Table.
Cela donnera une idée de ce qui est incriminé : la table ou le formulaire
(quoique je soupçonne que ta base comporte plus de choses...)
Par ailleurs, comme dit Gilbert, une image (même si elle est dans un
formulaire) peut faire considérablement augemnter la taille d'une base.
Il en est de même pour les Objets OLE.
J'ai fait le test avec une base (format 2002) toute vide, juste un
formulaire, avec rien dedans.
Je place dans ce formulaire une gentille petite jpeg de rien du tout qui
fait 70 ko.
La base fait alors 1456 ko ! autrement dit, ma gentille jpeg a vu sa taille
multipliée par 20 dans la base.
A noter que l'utilisation d'images dans une base est quasiment impossible
d'après mon expérience (que ce soit dans une table ou un formulaire).
Seul piste favorable : les images bitmap (BMP) sont beaucoup mieux gérées
(encore, cela dépend de la configuration de l'ordinateur...)
Quoiqu'il en soit, une estimation d'après ce facteur appliqué à ton cas
ferait 20 x 3 x 250 ko = 15 Mo
C'est déjà pas mal, mais on est loin des 130 Mo évidemment
"Pat|Dez" a écrit :
Bonjour Gilbert,
J'ai bien tenté d'importer tous mes objets dans une nouvelle base et rien
n'y fait: ma base occupe toujours 120 Mo d'espace disque. Je peux cependant
lancer une piste en disant que le processus d'importation de mon formulaire a
été nettement plus long que ceux de mes requêtes et de ma table.
Erreur de conception?
Merci.
"Gilbert" a écrit :
> Tu peux essayer d'importer tous les objets de ta base dans une nouvelle
> base.
>
> --
> Cordialement,
>
> Gilbert
Tu as donc visiblement au moins 1 table et au moins 1 formulaire dans ta base.
Tu devrais essayer d'importer dans une nouvelle base le formulaire seul, puis voir la taille de cette base Ensuite idem pour la Table. Cela donnera une idée de ce qui est incriminé : la table ou le formulaire (quoique je soupçonne que ta base comporte plus de choses...)
Par ailleurs, comme dit Gilbert, une image (même si elle est dans un formulaire) peut faire considérablement augemnter la taille d'une base. Il en est de même pour les Objets OLE.
J'ai fait le test avec une base (format 2002) toute vide, juste un formulaire, avec rien dedans. Je place dans ce formulaire une gentille petite jpeg de rien du tout qui fait 70 ko. La base fait alors 1456 ko ! autrement dit, ma gentille jpeg a vu sa taille multipliée par 20 dans la base. A noter que l'utilisation d'images dans une base est quasiment impossible d'après mon expérience (que ce soit dans une table ou un formulaire). Seul piste favorable : les images bitmap (BMP) sont beaucoup mieux gérées (encore, cela dépend de la configuration de l'ordinateur...)
Quoiqu'il en soit, une estimation d'après ce facteur appliqué à ton cas ferait 20 x 3 x 250 ko = 15 Mo
C'est déjà pas mal, mais on est loin des 130 Mo évidemment
"Pat|Dez" a écrit :
Bonjour Gilbert,
J'ai bien tenté d'importer tous mes objets dans une nouvelle base et rien n'y fait: ma base occupe toujours 120 Mo d'espace disque. Je peux cependant lancer une piste en disant que le processus d'importation de mon formulaire a été nettement plus long que ceux de mes requêtes et de ma table.
Erreur de conception? Merci.
"Gilbert" a écrit :
> Tu peux essayer d'importer tous les objets de ta base dans une nouvelle > base. > > -- > Cordialement, > > Gilbert
Pat|Dez
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!
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!
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!