Trucs et astuces

Exporter une table Access vers Excel

  1. Dans le volet de navigation, à gauche de votre écran Access, sélectionnez l’objet à exporter (il s’agit en principe d’une table ou d’une requête).
  2. Sous l’onglet Données externes, groupe Exporter, sélectionnez l’option Excel



  3. Dans la boîte de dialogue, utilisez le bouton Parcourir pour donner le nom du fichier à créer, et son emplacement.
  4. Choisissez aussi le format du fichier Excel à créer : “Classeur Excel” pour les versions 2007 et plus, “Classeur Excel 97-2003” pour la génération d’avant.
  5. Cochez les cases à cocher qui suivent (elles sont explicites).
  6. Terminez en cliquant sur le bouton OK.

Le fichier Excel est créé à l’emplacement choisi, et si vous avez coché la deuxième option, il est même directement ouvert dans Excel.

Mémoriser la procédure

A la fin de l’exportation, une autre boîte de dialogue vous propose de mémoriser ces étapes. De cette façon, vous n’aurez plus à faire les réglages de la boîte précédente (chemin, format Excel, cases à coche.
1.   De cocher la case “Enregistrer les étapes d’exportation“.
2.   De décrire votre exportation par un titre et une description. Ce sera pratique pour vous y retrouver, le jour où aurez stocké x exportations différentes.
3.   De valider la boîte.

Rejouer une exportation

Si vous avez mémorisé une exportation, vous pouvez la rejouer en quelques clics seulement :
  1. Activez l’onglet Données externes.
  2. Cliquez sur Exportations enregistrées.

  3. Une boîte liste vos exportations : cliquez sur celle qui vous intéresse, puis faites Exécuter.

Dans cette même boîte vous pouvez modifier une exportation (en cliquant sur son nom ou son chemin), et supprimer une exportation .



Gérer les valeurs Null

Les valeurs vides (Null) peuvent poser problème dans les calculs.
Imaginez le calcul suivant dans une requête :
Visual Basic

Si l’un des 2 champs est vide (donc Null), le total ne vaudra pas 0… mais Null (il sera donc strictement vide). Ceci n’est pas un bug d’Access, mais le comportement normal des Null dans toute base de données.

Les solutions

Convertissez-les en 0 grâce à la fonction Nz(). Cette fonction transforme une valeur Null en autre chose (une valeur numérique, un texte, une date). Le calcul de départ donnera donc :
Visual Basic
= Nz([Légumes]; 0) +  Nz([Fruits]; 0)
Et, dans ce cas, si l’un des 2 champs vaut Null, il est remplacé par 0.

Une autre formule en employant la fonction vraifaux :
= vraifaux(not isnull([Légumes]);[Légumes];0) + vraifaux(not isnull([Fruits]);[Légumes];0)
(traduction : si le champ [Légumes] n'est pas vide, alors placer [Légumes] sinon placer Zéro). Attention à respecter les parenthèses !

Une autre solution est de forcer la valeur 0 dans le champ de la table.

Lors de la saisie des données, le champ contiendra déjà la valeur 0.
Cette solution s'applique également sur les propriétés du champ dans chaque formulaire. 

Par précaution, lors de la saisie, et pour éviter que l'utilisateur vide complètement le champ, vous avez la possibilité d'y placer un contrôle de validité "Valide si", voire un message d'erreur "Message si erreur".

Mise en forme dans un champ Mémo

A partir d’Access 2007, les champs Mémo peuvent être mis en forme (avec par exemple du gras, de l’italique, des polices, des couleurs…).
Pour utiliser cette possibilité :

1.   Ouvrez la table concernée en mode Création.
2.   Sélectionnez ou ajoutez un champ Mémo (Texte long dans les dernières versions Access).
3.   Dans les propriétés du champ, réglez Format du texte sur “Texte enrichi” (par opposition à “Texte brut” qui est un champ Mémo simple). 

Formater le texte

1.   Enregistrez votre table.
2.   Passez en mode saisie.
3.   Tapez du texte dans le champ Mémo.
4.   Sélectionnez une partie de ce texte (une lettre, un mot, une phrase…).
Une barre d’outils flottante apparaît, vous pouvez vous en servir pour appliquer votre mise en forme. 

Compacter votre base de données

Le compactage d'une base de données est une opération importante qu'il convient d'effectuer de temps en temps. En effet, avec le temps, vos données peuvent se déstructurer, le volume de votre fichier peut augmenter de manière inattendue, des données temporaires peuvent s'accumuler, votre base de données peut perdre de sa vitesse. Il existe un outil appelé Compactage. Il refait de l'ordre dans votre base, restructure les informations, répare des erreurs le cas échéant et vous permet généralement de gagner de la vitesse d'exécution.
Vous pouvez l'exécuter manuellement :
1.   Cliquez sur le menu Outils de base de données.
2.   Cliquez sur Compacter et réparer une base de données.
Si vous souhaitez l'exécuter de façon automatique à chaque fermeture de la base ;
1.   Cliquez sur le menu Fichier.
2.   Cliquez sur Options.
3.   Choisissez Base de données active et cochez Compacter lors de la fermeture.

La macro Autoexec

A l'ouverture d'une base de données, vous souhaitez que plusieurs opérations automatiques s'effectuent avant de proposer le menu de base à l'utilisateur.
1.   Créez une nouvelle macro que vous nommerez Autoexec
2.   Dans cette macro, placez-y toutes les commandes souhaitées. Enregistrez-la. Votre application effectuera alors au démarrage, toutes les opérations que vous aurez placées dans la macro.

Documentez votre base de données

Dès que vos structures prennent une certaine importance, il devient important d'y mettre de l'ordre en la documentant. Avec le temps, on oublie les détails et les procédures. Une bonne documentation vous permet de retrouver rapidement le fil de votre programmation.

Sur Access 2007

  1. Activez l'onglet Outils de base de données, sur le ruban
  2. Cliquez sur le bouton Documentation de la base de donneés
  3. Cochez les objets qui vous intéressent
  4. Effectuez éventuellement quelques choix complémentaires via le bouton Options
  5. Validez par OK

Sur Access 2003 et inférieur

  1. Cliquez sur le menu Outils / Analyse / Documentation
  2. Cochez les objets qui vous intéressent
  3. Effectuez éventuellement quelques choix complémentaires via le bouton Options
  4. Validez par OK

Double-clic sur les feuilles de propriétés

Dans Access, il y a plein de réglages qui se font par double-clic lorsque vous choisissez les propriétés d'un objet Access:

  • Choisir un tri croissant ou décroissant dans une requête
  • Choisir les barres de défilement d’un formulaire (barre verticale, barre horizontale, les deux, aucune)
  • Régler des propriétés de table (Null interdit = Oui ou Non)
Juste un petit truc rapide : au lieu de dérouler la liste, vous pouvez généralement double-cliquer dedans. Ce qui a pour effet de sélectionner la valeur suivante dans la liste.


Par exemple, si vous double-cliquez dans la zone "Visible", ci-dessus, vous obtenez “Non”. Un autre double-clic donne “Oui”. Parfois un troisième double-clic donne la 3ème possibilité.

Imprimer des numéros de pages dans un état

Lorsque vous créez un nouvel état, il est peut-être intéressant d’y afficher les numéros de pages surtout lorsqu’elles sont en grand nombre.
En mode création d'état, faites apparaître la section « En-tête et pied de page » : Bouton droite de la souris / En-tête et pied de page.
Dans l’onglet « Création », cliquez sur le bouton « ab » et ouvrez une zone de texte à l’endroit souhaité. Pour afficher le numéro de page, tapez  =[Page]  . Les numéros de pages s’afficheront alors automatiquement sur toutes les pages de votre document.
Vous pouvez y a jouter des fioritures telles que : = " Page " & [Page]   , ce que donnera Page 1
Ou alors  = " – " & [Page] & " – "  , ce qui donnera  - 1 -
Tout élément tapé entre guillemets sera considéré comme texte fixe. 

Fenêtres à onglets et fenêtres superposées

Depuis Access 2007, les différentes fenêtres (tables, requêtes, formulaires…) de la base de données s’ouvrent sous forme d’onglets ou de manière superposée. Dans Access 2013 ou 2016, deux formulaires s’ouvrent de cette façon : 
Si vous souhaitez afficher des onglets:
 
  1. Cliquez sur le menu Fichier
  2. Choisissez Options
  3. Sélectionnez la catégorie Base de données active, à gauche de votre écran
  4. Activez l'option Documents à onglets
  5. Fermez la base de données et rouvrez pour que les réglages prennent effet

Sinon:
6.   Cliquez sur le menu Fichier
7.   Choisissez Options
8.   Sélectionnez la catégorie Base de données active, à gauche de votre écran
9.   Activez l’option Fenêtres superposées
10. Fermez puis rouvrez votre base pour que les réglages prennent effet
Une fois le réglage appliqué, vos fenêtres (pour cette base de données) s'ouvrent séparément, comme ceci:


Ouvrir une base Access 97 dans un Access 2013

Il n’est pas possible d’ouvrir une base Access 97 dans Access 2013. Si vous vous trouvez dans ce cas, une astuce vous est offerte par Access :
  1. Ouvrez la base dans une version plus ancienne d’Access (par exemple Access 2003).
  2. Convertissez la base Access 97 au format Access 2000-2003, au minimum. Cette conversion vous sera en principe proposée dès l’ouverture de la base. Si ce n’était pas le cas, cliquez sur le menu Utilitaires de base de données / Convertir la base de données, et sélectionnez l’option “au format de fichier Access 2002-2003“.
  3. Ouvrez la base dans Access 2013.
Si vous souhaitez transformer cette base de données MDB au format ACCDB (Access 2013 et supérieur) :
  1. Ouvrez la base de données dans Access 2013.
  2. Cliquez sur l’onglet Fichier, puis sur Enregistrer en tant que.
  3. Sélectionnez Base de données Access (*.accdb), puis cliquez sur Enregistrer sous.
  4. Cliquez sur l’option Enregistrer la base de données sous, choisissez le format Bases de données Access (*.accdb).
  5. Cliquez sur le bouton Enregistrer sous.
  6. Donnez un nom à votre fichier, et choisissez le dossier de destination.
Attention ! ces opérations ne sont naturellement pas réversibles. Nous vous suggérons de conserver la copie de vos anciennes bases de données, au cas où vous devriez les ouvrir à nouveau dans une version antérieure.

Filtrer le volet de navigation

Depuis Access 2007, le volet de navigation (à gauche de la fenêtre d’Access) remplace la fenêtre Base de données des versions antérieures.
Ce volet affiche simultanément tous les objets de votre base. Mais quand vous avez de nombreux objets dans la base, la liste peut devenir très longue.
Access vous  propose une zone de recherche qui peut filtrer cette liste. Dans l’exemple ci-contre, la recherche “clients” vous permet d’obtenir rapidement tous les objets (tables, requêtes, formulaires, états, macros, modules) qui contiennent ce mot.

  • Cliquez sur l’icône de filtre à droite de la zone de recherche pour vider le critère.
  • Pour faire apparaître la zone de recherche, cliquez du bouton droit sur le titre du volet (ici : “Tous les objets Access“). Cliquez ensuite sur l’option Volet de recherche

Le Twip

En Access VBA (Visual Basic), certaines mesures sont données en twips : les coordonnées et les mesures d’objets, notamment.
Le twip est un “twentieth of a point“, donc 1/20ème de point typographique. Pas de rapport avec les pixels.
Concrètement, un twip vaut :

  • 1/1440ème de pouce. Sachant qu’un pouce fait 2,54 cm.
  • 1/567ème de centimètre (soit environ 0,001763 cm).

Si vous devez redimensionner un objet et en changer sa valeur en Twips, n’hésitez pas à y ajouter 1000 twips au moins, 5 twips, par exemple, ne changeront rien visuellement.

Logo de démarrage

Pour remplacer le logo d’Access au démarrage, créez une image au format BMP.
Nommez-le du même nom que celui de votre base de données. P. ex. (Facturation.bmp si votre base s’appelle Facturation.mdb).
Placez l’image dans le même dossier que celui de votre base de données. 

Créer une liste des dépendances d'objets

Vous travaillez avec une base de données relationnelle. Les tables et requêtes sont donc liées afin de créer des dépendances contribuant ainsi aux principes mêmes de ce genre de structures, soit : l’évitement des redondances, les sécurités à l’effacement et la gestion en cascades de vos données.

Un clic sur « Dépendances d’objet vous renseignera sur toutes les relations existantes de l’objet en question. Par objet, nous entendons une des éléments de base d’Access, soit une table, une requête, un formulaire ou un état.
Lors de la première ouverture de cette option, Access vous demandera peut-être de mettre à jour les objets de la base. Cette procédure peut s’avérer relativement longue.
Vous obtiendrez ainsi une nouvelle fenêtre affichant toutes les relations telles que l’exemple ci-contre.