Doutes sur la taille d'un fichier ACCESS .mdb

eddys -  
thomichna Messages postés 94 Statut Membre -
Salut !

J'vous explique ce que j fais : j'fais un import d'une base Oracle sous ACCESS (j'importe les tables sans manip sur les donnees au premier abord)
Ensuite je duplique ces tables en supprimant les champs inutiles.
C'est des tables avec a l'origine qq choz comme une 40aine de champs et dans les 3000 enregistrements ...

Alors voila le probleme :
j'ai fait tout ca et j'ai ecrit qq modules en VBA sous ACCESS ... et le fichier fait bizarrement 270 Mo (quoique je fasse ... mm en supprimant toutes les tables ca continue a faire cette taille)

J'ai cree une nouvelle bdd ACCESS ou j'ai importe les modules et reimporte les tables a partir d'oracle et la tres logiquement la taille grimpe qd toutes les tables sont la et redescend qd je les supprime ... d'ailleurs la taille qd toutes les tables sont la n'est que de 8 pov' Mo .....

Est-ce que vous etes deja tombes sur ce cas de figure ?
En gros vous est-ce que qq'un saurait m'expliquer pourquoi mon autre fichier fait 270 Mo ?!

Merci d'avance :o)

4 réponses

  1. Coyote
     
    en, c'est surement parcequ'à force de bosser sur la même base, celle-ci augmente. Il faut aller dans outil et compacter la base de données.
    Tu devrais réduire celle-ci...
    Coyote
    0
  2. eddys
     
    Ah super t es un roi ! :o)
    ca marche !!! elle fait plus que 2 Mo !

    Ouaip apparemment il conserve les donnees qq part ... c qd mm bizarre ... parcqu'en revanche y a pas l'air d'y avoir l'air de fonction pour recuperer d'anciennes donnees !
    donc j vois pas trop l'utilite de faire gonfler l'appli pour rien !

    enfin tout ca pour te dire merci quoi ^_^
    0
    1. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Salut,

      en fait, ACCESS ne fait pas un vrai ménage quand il supprime ou modifie des données (car cela ralentirait l'exécution des requêtes), il fait un peu comme la gestion du disque dur : du gruyère.

      alors de temps en temps, il faut compacter. Il exsiste d'alleurs une option dans la ligne de commande qui permet de le faire sans passer par le menu, c'est pratique pour programmer l'exécution à des heures fixes et ainsi ne pas laisser s'instaler le souk !!!

      A+
      Blux

      "Les cons, ça ose tout.
      C'est même à ça qu'on les reconnait..."
      0
    2. kalamit > blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Y'a pas que access qui fait ca, non? Oracle aussi, il me semble?
      Par un moment j'avais des lignes vides sur certaines requetes...
      Autre chose, vous savez pas si l'OPTIMIZE ds MySQL, ca correspond au compactage sous Access?

      Kalamit,
      Je ponce donc j'essuie
      0
    3. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797 > kalamit
       
      Oracle garde en memoire certaines donnees, mais tu peux les retablir, donc c'est pas de la place perdu, et a moins que que Access est progresser depuis la version 9x, ce n'est pas possible...
      Pour ce qui est de l'Optimize de MySql, je suis pas bien sur, donc je refere m'abstemir de dire des conneries


      "Mieux vaut mobiliser son intelligence sur des 
      conneries que sa connerie sur des choses intelligentes"
      0
    4. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455 > kalamit
       
      salut,

      extrait de la doc MySQL :

      OPTIMIZE TABLE Nom_table

      OPTIMIZE TABLE est à utiliser après avoir effacer de grandes parties d'une table, pour après des
      modifications majeures sur une table à longueur de ligne variable. Les index des lignes effacées sont
      conservés, et l'opération INSERT les réutilise, et écrase mes anciennes lignes. La commande OPTIMIZE
      TABLE permet de récupérer l'espace inutilisé des tables.
      OPTIMIZE TABLE fonctionne en effectuant une copie temporaire de la table originale. La modification est
      effectuée sur la copie, puis l'originale est remplacée par la copie modifiée. Toutes les mises à jours sont
      automatiquement appelé, et sont faites dans un mode sans erreur. Pendant la modification, la table originale
      est toujours accessible en lecture par les autres clients. Les mises à jour et les écritures sont reportées jusqu'à
      la fin de la modification.

      C'est vrai que ça peut ressembler, mais c'est pas au niveau base, c'est au niveau table.

      Sinon il y a la commande 'isamchk' qui permet des optimisations plus fines.

      A+
      Blux

      "Les cons, ça ose tout.
      C'est même à ça qu'on les reconnait..."
      0
    5. eddys > kalamit
       
      Merci bcp pour toutes ces infos c'est super bon a savoir !!!
      0
  3. glouby boulga
     
    Merci tu es un chef meme cas de figure pour moi
    0
  4. thomichna Messages postés 94 Statut Membre 3
     
    Merci, j'avais ce probleme, bien frais=)
    0