Trucs et astuces
Exporter une table Access vers Excel
- 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).
- Sous l’onglet Données externes, groupe Exporter, sélectionnez l’option Excel
- Dans la boîte de dialogue, utilisez le bouton Parcourir pour donner le nom du fichier à créer, et son emplacement.
- 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.
- Cochez les cases à cocher qui suivent (elles sont explicites).
- Terminez en cliquant sur le bouton OK.
Mémoriser la procédure
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
- Activez l’onglet Données externes.
- Cliquez sur Exportations enregistrées.
- Une boîte liste vos exportations : cliquez sur celle qui vous intéresse, puis faites Exécuter.
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
- Activez l'onglet Outils de base de données, sur le ruban
- Cliquez sur le bouton Documentation de la base de donneés
- Cochez les objets qui vous intéressent
- Effectuez éventuellement quelques choix complémentaires via le bouton Options
- Validez par OK
Sur Access 2003 et inférieur
- Cliquez sur le menu Outils / Analyse / Documentation
- Cochez les objets qui vous intéressent
- Effectuez éventuellement quelques choix complémentaires via le bouton Options
- 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)
Imprimer des numéros de pages dans un état
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
- Cliquez sur le menu Fichier
- Choisissez Options
- Sélectionnez la catégorie Base de données active, à gauche de votre écran
- Activez l'option Documents à onglets
- Fermez la base de données et rouvrez pour que les réglages prennent effet
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
Ouvrir une base Access 97 dans un Access 2013
- Ouvrez la base dans une version plus ancienne d’Access (par exemple Access 2003).
- 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“.
- Ouvrez la base dans Access 2013.
- Ouvrez la base de données dans Access 2013.
- Cliquez sur l’onglet Fichier, puis sur Enregistrer en tant que.
- Sélectionnez Base de données Access (*.accdb), puis cliquez sur Enregistrer sous.
- Cliquez sur l’option Enregistrer la base de données sous, choisissez le format Bases de données Access (*.accdb).
- Cliquez sur le bouton Enregistrer sous.
- Donnez un nom à votre fichier, et choisissez le dossier de destination.
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.