Taille d'une base ACCESS

Bonjour,

j'ai une base Access avec différents champs dont un champ Image (objet OLE). les images ne dépassent pas 70 ko.
Cependant des que je rajoute un enregistrement donc une photo supplémentaire, le poids du fichier augmente de 2 Mo!!

Quelqu'un a-t'il une explication ??

Merci
Erwan51

11 réponses

  • Votes
  • Date
  • Date décroissante
  1. On peut, par code, compacter la base de données par exemple à la fermeture.
    On peut mettre le chemin d'accès aux fichier image (jpg) et afficher, par code, le fichier quand nécessaire.
    1. après compactage d ela base ça donne quoi?

      kinder.surprise,
      le maton du matou
      1. Contributeur
        Est il possible de lancer un compactage de la base en VBA sur action opérateur ou à la fermeture de la base ??

        Erwan51
    2. Contributeur
      Je n'ai pas essayé de la compacter car c'est une base au format MDE destinée à permettre uniquement l'ajout la consultation ou la suppression d'enregistrements, il n'y a aucun accès aux menus.

      Erwan51
      1. Modérateur
        Ben alors, fais autrement :

        Sépare ta base en deux, en mettant les datas d'un côté et les actions utilisateur d'un autre, comme ça, tu pourras distribuer un mde "light" et conserver tes données ailleurs (tu pourras aussi compacter la base de temps en temps, sans gêner l'utilisateur)

        On ne peut pas compacter en vba une base ouverte, il faut le faire avec l'option /compact dans la ligne de comande.

        A+ Blux
         "Les cons, ça ose tout.
        
        C'est même à ça qu'on les reconnait"
        1. Contributeur
          Par contre j'ai des barres d'outils personnalisées ds la base, donc je peux très bien mettre l'option "Compacter baseé à ce niveau la
          non ?

          A+
          Erwan51
          1. Contributeur
            Le compactage d'une base de données Access fonctionne t'il aussi avec l'extension mde ?

            A+
            Erwan51
            1. Modérateur
              ben non je ne crois pas, puisque le mde est déjà une base compactée...

              A+ Blux
               "Les cons, ça ose tout.
              
              C'est même à ça qu'on les reconnait"
              1. Contributeur
                Le problème c'est que j'ai une base MDE vide au départ donc elle fait à peu près 1Mo
                mais des que je rajoute 10 enregistrements (avec pour chacun d'entre eux quelques renseignements dont une photo), la taille de la base devient 30 Mo!!!

                C'est quand même bizarre non ?

                A+
                Erwan51
                1. Contributeur
                  Le problème c'est que j'ai une base MDE vide au départ donc elle fait à peu près 1Mo
                  mais des que je rajoute 10 enregistrements (avec pour chacun d'entre eux quelques renseignements dont une photo), la taille de la base devient 30 Mo!!!

                  C'est quand même bizarre non ?

                  A+
                  Erwan51

                  PS : le MDE est plus un exécutable de la base qu'une version compactée à mon avis
                  1. Modérateur
                    le mde est une version 'exécutable', en ce sens qu'on l'allège de tout ce qui est inutile : on compacte les données, on supprime les objets temporaires, on 'compile' le code vb...

                    divise ta base et tu n'auras plus ce problème... j'avais remarqué que l'extension d'une base access suivait plus des règles exponentielles que linéaires... :-)

                    A+ Blux
                     "Les cons, ça ose tout.
                    
                    C'est même à ça qu'on les reconnait"
                    1. Contributeur
                      J'ai malheureusement l'impression que c'est dû aux objets OLE, Access doit réserver une place énorme pour ces objets et vu que j'en ai un par enregistrement ...;)

                      A+
                      Erwan51
                      1. Bonjour Erwan,

                        Ton problème est lié au fait que tes photos qui font "70 ko" sont au format JPG (donc compressé). Quand tu les colles dans un champ OLE elles sont stockées en BMP d'où la taille de ta base...

                        La solution, je la cherche moi aussi : il faut conserver les fichiers JPG dans un sous-répertoire et trouver un moyen de les afficher dans un formulaire moyennant quelques lignes de VisualBasic : qui sait faire ça ?

                        Cdlt.
                      2. Modérateur
                        @marrantC'est bien, tu peux retourner t'assoir...