Avant de commencer, je vais vous ennuyer un petit peu avec un poil de théorie
voici un bref résumé des tailles en informatique : une lettre, ou un chiffre (un caractère) vaut 1 Octet (1o - o pour octet). Quand on a mille octets, on dit qu'on à un KiloOctet (1 Ko). Quand on a Mille Ko, on a un Méga Octet (On dit aussi Un Méga, ou un Mo). Donc Un MégaOctet, c'est un million d'octets. Et quand on a mille MégaOctets, on à un GigaOctet (Un Giga, ou Un Go). C'est donc Un milliard d'octets (Et quand on a Mille Gigas, on a un Téra, mais bon, là, c'est gros !). En bref :
- 1 Ko = 1000 Octets
- 1000 Ko = 1'000'000 (un million d'octets) = 1 Mo (1 MégaOctet)
- 1000 Mo = 1'000'000'000 (un milliard d'octets) = 1'000'000 de Ko = 1Go (1 GigaOctet)
- 1000 Go = 1'000'000'000'000 (mille milliards d'octets) = 1'000 Go = 1To (1 TéraOctet)
Si vous avez un disque dur de 2 Téras, vous pourriez y stocker l'équivalent de 62 clés USB de 32 Go ! Oui oui : cinq cent mille vidéos de 2 Mégas , vous ne rêvez pas ! Bon maintenant, un film d'une heure et demi en bonne qualité, ça va chercher dans les 1 à 2 gigas...
Ca, c'est pour vous dire que les capacités de stockage actuelles sont énormes, et grossissent d'année en année ! Pour l'anecdote, dans les années 1990, on utilisait des disquettes en plastique, qu'on appelait des "Trois pouces et demi", dont la contenance était d'environ 1Mo !
Par contre, en ce qui concerne la transmission de données, c'est une autre histoire ! Stocker un film d'un giga sur son disque dur, OK, mais le télécharger depuis internet, il va falloir compter avec la vitesse de transmission ! Par exemple, vous avez une connection, disons, à 20 Mo (sous-entendu 20Mo par seconde). Donc, si vous téléchargez un fichier de 20 Mo, il devrait être chez vous en une seconde, c'est bien juste ?
Eh bien essayez ! Allez télécharger un tel gros fichier ! Vous mettrez bien plus de temps qu'une seconde, moi je vous le dis ! Si vous mettez, par exemple, 30 secondes pour télécharger un fichier de 20 Mo, en fait, votre vitesse de connexion est de .. Mmmmm... Laissez moi calculer... 20 divisé par 30 ... 0.6 Mo par seconde. Eh oui !
Donc, tant que vous travaillez en local, sur votre PC perso, vous n'avez quasiment aucune contraintes de tailles, mais dès que vous transitez par internet (par exemple, par e-mail, vous ne pouvez généralement jamais dépasser la taille de 5 ou 10 Mo par message), ou que vous travaillez sur le réseau de votre entreprise, alors, il devient nécessaire de s'intéresser de près aux tailles des fichiers ! Et je vous dis ça parce que dans cette leçon, nous allons beaucoup parler de fichiers attachés, et on aura vite fait d'avoir une base de données monstrueusement grosse si on ne reste pas attentif !
Prenez connaissance de la taille de votre base de données : Allez simplement voir dans l'explorateur (je suppose que vous savez faire) :
Dans mon cas, elle fait 504 Ko - Un demi Méga donc - (Dans le vôtre, elle devrait faire une taille approchante, mais pas forcément, nous verrons pourquoi).
Grossissement de la base de données
Maintenant, ouvrez votre base de données, et nous allons essayer de la faire grossir, en dupliquant simplement votre table T_Client. Vous vous rappelez comment on fait ? C'était dans la leçon 3.Faites-en une copie, et retournez dans l'explorateur pour voir si la taille a changé. Ou alors, directement dans Access, vous pouvez cliquer sur Fichier/Ouvrir (même si vous ne voulez rien ouvrir, en fait) juste pour voir la taille de votre base de données.
Ou alors, quelque chose d'encore plus sympathique, ce serait d'afficher votre explorateur
dans une petite fenêtre, et Access dans une autre petite fenêtre, comme ceci :
dans une petite fenêtre, et Access dans une autre petite fenêtre, comme ceci :
Vous constatez que la base est passé de 504 Ko à 660Ko.
Attention : il n'est pas évident que vous obteniez les mêmes chiffres que moi
si vous faites le test, il est même possible que la taille ne change pas, ne me demandez pas pourquoi !
Attention : il n'est pas évident que vous obteniez les mêmes chiffres que moi
si vous faites le test, il est même possible que la taille ne change pas, ne me demandez pas pourquoi !
Ne vous occupez pas du fichier
.LACCDB qui pèse 1Ko, c'est juste un fichier qui indique à Access que la base est ouverte, et il se supprimera de lui-même lors de la fermeture de la base de données. On y reviendra plus tard.
En principe, il paraît normal que la taille augmente. Attention aussi au temps de rafraîchissement ! Windows
peut mettre quelques secondes avant de vous montrer la nouvelle taille
de votre fichier ! Et si la taille ne change pas, afin d'assurer le
coup, appuyez sur la touche de votre clavier pour lui "forcer la main"..LACCDB qui pèse 1Ko, c'est juste un fichier qui indique à Access que la base est ouverte, et il se supprimera de lui-même lors de la fermeture de la base de données. On y reviendra plus tard.
Grossissement paradoxal
Ce qui est moins "logique", en revanche, c'est que sa taille ne diminue pas si on supprime la copie de la table ! Essayez ! Supprimez la copie, et regardez la taille de votre base après la suppression.Non seulement, la taille n'est pas redescendue à 504 Ko, mais au contraire, elle a même augmenté, dans mon cas, à 672 Ko !
Compactage
Pour réduire la taille de la base de données à sa taille originale, il faut la compacter.
Cliquez sur Outils de bases de données, Compacter une base de données :
Et voilà ! Le fichier accdb est revenu à sa taille initiale : ... Ou presque ! 512 au lieu de 504... je ne sais pas pourquoi !
En fait, Access se comporte comme un enfant dans une chambre : il sort ses jouets de son armoire le plus vite possible, jette ses vêtements n'importe où, et ne se soucie pas du rangement : ce qui intéresse le gamin, c'est jouer le plus rapidement possible ! mais, du coup, toutes ces choses qui traînent, prennent toute la place dans la chambre !
Access essaie donc aussi de vous laisser travailler le plus vite possible ! Mais de temps en temps, il faut ranger, compacter la base de données ! Et maman, lorsqu'elle va ranger la chambre (oui, parce que les enfants ne rangent jamais, c'est bien connu), elle va passer du temps à tout remettre à sa place, et, si elle trouve un jouet cassé, elle va même (tellement elle est gentille), le réparer ! Le compactage, c'est un peu la maman de votre base de données : prendre un peu de temps pour réduire la place, et réparer les éventuelles erreurs système qui pourraient se faufiler dans votre fichier Access.
Et la prochaine fois que l'enfant va jouer, il retrouvera ses jouets très vite, par miracle tous réparés, et recommencera à jeter ses vêtements dans sa chambre. Donc Maman-compactage doit faire son travail de temps en temps. Eh oui, la vie est un éternel recommencement.
Compactage automatique
Il est possible de demander à Access de compacter automatiquement votre base de données dès que vous la fermez. Cliquez sur Fichiers/Options/Base de données active/Compacter lors de la fermeture.Cette case n'est pas cochée par défaut : parce que si vous traitez de petites bases de données, finalement, on s'en fiche un peu de les compacter... Passer de 800Ko à 400Ko sur un disque dur de 3 Téras, qu'est ce que ça peut bien faire !
Et quand vous traitez de grosses bases de données qui pèsent 500 ou 600 Mégas, alors là, oui, c'est intéressant de les compacter pour les faire revenir à une taille de 80 ou 100 Mégas, par exemple ! ... MAIS compacter une petite base, ça prend 1 seconde, tandis que compacter une base énorme, ça prend 10 minutes !!! C'est pourquoi cette case n'est pas cochée : Microsoft préfère que ce soit vous qui décidiez exactement quand vient l'heure du rangement.
Compression (Zip)
Il ne faut pas confondre Compactage et Compression. Le compactage, c'est juste de l'optimisation de rangement.
La compression, c'est un peu comme si vous empaquetiez tous les jouets de votre enfant dans des valises très serrées dans le but d'un déménagement, par exemple.
Si vous devez envoyer votre base de données par E-Mail, je vous conseille de commencer par la Compacter, et, ensuite de la Zipper : c'est à dire d'en faire un fichier compressé en .Zip, et vous allez gagner une place phénoménale.
Dans cet exemple de gauche, le compactage nous fait passer la base de 4'476Ko à 588Ko, et, ensuite, la transformation en Zip nous la réduit à 206 Ko !
Un sacré régime, n'est-ce pas ? - Je ne vous cache pas que les réductions ne sont pas toujours aussi spectaculaires !
Evidemment, il faudra que le destinataire décompresse - dézippe - la base de données avant de pouvoir l'utiliser, mais c'est une opération fort simple.
Ancien format Access .mdb
Ce chapitre ne vous intéresse que si vous êtes confronté à d'anciennes versions d'Access, ou d'anciennes bases de données créées avec des versions précédentes d'Access. Il est donc facultatif.
Si vous envoyez une base de données par e-mail, il faut que vous vous assuriez que votre destinataire possède bien Access 2007 ou 2010. En effet, s'il possède l'ancienne version 2003, il ne pourra pas lire le format .accdb. Et s'il ne possède simplement pas Access, il ne pourra rien lire du tout !(Si votre interlocuteur possède un Mac, il n'a forcément pas Access)
Faites très attention parce que le fait de transformer votre base de
données en un ancien format va poser des problèmes si vous utilisez des
spécificités propres à Access 2007 ou 2010, comme par exemple les Pièces Jointes que nous verrons prochainement.
Vous avez la possibilité de convertir votre base de données dans des formats antérieurs : Cliquez sur Fichier/Enregistrer et publier/Enregistrer la base de données sous, et choisissez Base de données 2002-2003, ou, carrément le format Access 2000. Si vous désirez "assurer le coup", choisissez Access 2000,
car avec ce format, le destinataire pourra de toutes façons l'ouvrir (à
moins qu'il possède une super-ancienne version d'Access, comme Access 97 ou 95, mais bon, heureusement, ce n'est pas très courant.Incompatbilité MDB - Outlook
Avant la version 2007, les bases de données Access portaient l'extention .MDB. Access 2007 et 2010 utilisent l'extention .ACCDB. Il faut juste savoir qu'Outlook refuse de recevoir les pièces jointes avec l'extension .MDB, qu'il considère comme dangereuses (ne me demandez pas pourquoi). C'est une raison de plus pour compresser vos bases de données dans un .ZIP, car le .ZIP peut contenir ce qu'il veut, en plus d'être un format économique en place, il se reçoit sans problème par Outlook.
Versions d'Access et de formats
Comme nous l'avons souligné, Il y a plein de versions d'Access- 1.0, 1.1, 2, 95, 97, 2000, XP(2002), 2003 qui travaillent avec des fichiers .MDB
- 2007 et 2010 qui travaillent avec des fichiers .ACCDB
D'ailleurs, comme on l'a vu un peu plus haut, dans Fichier/Publier, on a le choix entre l'enregistrement en :
- .ACCDB
- MDB pour Access 2000
- .MDB pour Access 2002-2003.
Conversion impossible en Access 97
Et si on voulait enregistrer en format MDB pour Access 97 ? Eh bien on ne peut pas ! Il faudrait que vous disposiez d'une version d'Access 2000 qui, lui, permet de transformer une base de données en format MDB lisible par Access 97 (Je ne sais pas pourquoi Access 2010 ne possède pas cette option de conversion )Dans un monde parfait, tout le monde aurait Access 2010, avec que des bases de données créées avec Access 2010, mais ça, c'est dans les contes de fées.
Il se trouve que je possède une base de données en
format Access 97. Voyez déjà la différence de l'aspect de l'icône entre
un fichier MDB (Une petite clé) et ACCDB (la lettre A):
Ouverture d'un fichier Access 97
Que se passe-t-il si j'ouvre mon fichier en format Access 97 avec mon programme Access 2010 ?
Pour mieux vous en rendre compte, je vous invite à télécharger une vieille base de données : Cliquez avec le bouton droit de la souris sur ce lien, (et choisissez Enregistrer Sous) en format Access 97 pour faire vos tests.
Cette fenêtre apparaît, avec 4 choix :
- OUI : Si vous cliquez sur Oui, Access va vous créer une base de données du même nom que l'ancienne, mais en format Access 2010, avec l'extension .ACCDB. (Vous aurez donc les deux bases de données l'une en dessous de l'autre)
- NON : Si vous cliquez sur Non, il va vous ouvrir la vieille base de données, vous pourrez faire de que vous voulez dans les données (Ajouter, modifier, supprimer des enregistrements), mais vous ne pourrez rien faire au niveau de la structure (pas question d'ajouter ou de modifier un champ, ni même de créer une nouvelle table)
- ANNULER : il n'ouvre rien du tout, et ne convertit rien du tout
- AIDE : vous arrivez sur des explications bien plus complètes que les miennes sur les versions d'Access et les formats de bases de données.
Bon, de toute façon, je ne pourrai rien faire en mode création !
Par contre, en mode saisie de données, vous pouvez faire ce que vous voulez (vous pouvez tester)
Maintenant, si vous désirez modifier la structure des tables, il vous faudra répondre OUI, et travailler dans la nouvelle base .ACCDB qu'Access viendra de vous créer.
Mais évidemment, si la personne qui vous a envoyé la base de données, utilise Access 97, vous ne pourrez plus lui renvoyer ! Son Access 97 ne pourra pas lire votre .ACCDB. Dura lex, sed lex !
Conversion en Access 2000-2002-2003
Par contre, depuis votre nouveau fichier .ACCDB, vous aurez la possibilité, comme on l'a expliqué plus haut (Fichier/Enregistrer et publier), de la rétro-convertir en format 2000 ou 2002-2003.Vous aurez alors l'opportunité de travailler en mode création des tables !
Vous avez ainsi la preuve que les .MDB sont différents selon qu'il s'agisse d'un MDB pour la version 97, 2000 ou 2002-2003 ! J'ignore, par contre , si les .ACCDB Access 2007 sont identiques à la version 2010, mais il y a tout à parier que non, puisque Access 2010 amène son lot de nouveautés.
Du coup, vous pourriez vous dire :
"Je vais systématiquement travailler avec des fichiers MDB compartibles Access 2000 puisque je pourrai sans souci travailler en mode saisie de données ou création, que ce soit depuis une version d'Access 2000, 2002, 2003, 2007 ou 2010 !"
Non, je ne vous le conseille pas, parce que vous allez passer à côté de toutes les innovations bien sympathiques apportées par la version 2007 et 2010 ! Par exemple, je ne sais pas si vous vous souvenez des champs mémos, et de la possibilité de "journaliser les modifications" ? Comment ? Vous avez oublié ? Ouh, mais il faut réviser ! Dans une base en .MDB, cette option n'existe carrément pas.
Aussi, si vous avez exploité cette fonction, ou toute autre fonction implémentée dans Access 2007 ou 2010, et que vous désirez convertir la base de données en format Access 2000,2002 ou 2003, vous aurez ce message d'erreur :
Pour l'anecdote, regardez la liste des nouveautés de ce message d'erreur, il ne mentionne même pas la fonctionnalité de la journalisation des champs mémos, et pourtant c'est à cause de ça
que je n'ai pas réussi à la convertir. ça pour vous dire que tout n'est
jamais simple, absolu, évident ou exhaustif dans ce monde de (per)versions.
Disparition de la sécurité et de la synchronisation
Il y a donc plein de fonctionnalités en plus dans Access 2010, mais il y a deux fonctionnalités en moins, et il faut le savoir !- Avant, il y avait la gestion des autorisations au niveau utilisateur
C'est à dire qu'on pouvait, avant la version 2007, déterminer qui avait le droit de faire quoi dans telle ou telle table, requête ou formulaire. C'était complexe, mais complet, et permettait de sécuriser a fond les bases de données. Voyez cette page si vous désirez en savoir plus. Cette fonctionnalité n'existe plus dans les formats .ACCDB. - Avant, il y avait la gestion de la synchronisation.
Imaginez que vous avez créé une base de données de gestion de n'importe quoi que votre collègue et vous, utilisez : la base de données se trouve sur un lecteur réseau, et donc, vous y accédez en même temps. Mais si votre collègue travaille tout à coup chez lui, à 10KM, il va emporter une copie de la base de données sur une clé USB par exemple ou se l'envoyer par e-mail pour pouvoir continuer à travailler dessus, mais, du coup, il va faire évoluer la base de données d'une certaine façon, et vous aussi, avec votre copie ! Comment fait-on, du coup, pour "synchroniser" les deux bases, de manière à ce qu'elles reflètent les modifications faites par l'un et par l'autre ? Eh bien on utilise La Réplication. Ben oui, mais cet outil de réplication n'existe plus à partir de Access 2007. Voyez cette page pour en savoir plus.
J'ai entendu dire que ces deux fonctionnalités se re-gérent différemment avec SharePoint, mais je n'ai aucune connaissance de SharePoint.
Toujours est-il que ces deux concepts (Sécurité et réplication) sont accessibles depuis Access 2007 ou 2010, mais seulement si vous êtes dans une base de données en format 2000, 2002 ou 2003, comme ceci :
Vous ne verrez pas ces options si vous êtes dans une base de données en format .ACCDB.
Aucun commentaire:
Enregistrer un commentaire