0% ont trouvé ce document utile (0 vote)
12 vues14 pages

Documentation Application Access

Transféré par

Divy MOUKALA
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues14 pages

Documentation Application Access

Transféré par

Divy MOUKALA
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Méthodologie pour documenter

votre application Access

Par Denis Hulo

Date de publication : 3 juin 2021

Objectif : présenter une méthodologie permettant de créer facilement une documentation


pour votre application Access.

Niveau requis : débutant.

Commentez cet article : Commentez


Méthodologie pour documenter votre application Access par Denis Hulo

I - Introduction..............................................................................................................................................................3
II - Quelques conseils avant de commencer...............................................................................................................3
II-A - Respecter une norme pour les noms de vos objets.....................................................................................3
II-B - Utiliser des schémas et des captures d'écran..............................................................................................3
II-C - Respectez certaines règles pour l'écriture de votre code source.................................................................4
II-D - Mettre à jour votre documentation régulièrement.........................................................................................4
III - Présenter les fonctions et la structure générale de l'application.......................................................................... 4
III-A - Fonctions principales................................................................................................................................... 4
III-B - Structure globale.......................................................................................................................................... 4
IV - Décrire le rôle et la structure des objets de l'application..................................................................................... 6
IV-A - Rôle et structure des tables........................................................................................................................ 6
IV-A-1 - Table T_Materiel..................................................................................................................................7
IV-A-2 - Table T_Fournisseur........................................................................................................................... 7
IV-A-3 - …......................................................................................................................................................... 7
IV-B - Rôle et structure des requêtes....................................................................................................................8
IV-B-1 - Requête R_Liste_Fournisseurs...........................................................................................................8
IV-B-2 - …......................................................................................................................................................... 8
IV-C - Rôle et structure des formulaires................................................................................................................ 8
IV-C-1 - Formulaire F_Sommaire..................................................................................................................... 8
IV-C-1-a - Bouton de commande Cmd_Liste_Materiels............................................................................. 9
IV-C-1-b - Bouton de commande Cmd_ajout_Fiche_Fournisseur.............................................................. 9
IV-C-1-c - …................................................................................................................................................ 9
IV-C-2 - Formulaire F_Liste_Materiels..............................................................................................................9
IV-C-2-a - Liste déroulante Cmb_Categorie_Materiel............................................................................... 10
IV-C-2-b - Sous-formulaire SF_Liste_Materiels........................................................................................ 11
IV-C-3 - ….......................................................................................................................................................11
IV-D - Documentation des modules.....................................................................................................................11
IV-D-1 - Module M_Automation_Outlook........................................................................................................11
IV-D-1-a - Fonction isOpenOutlook........................................................................................................... 12
IV-D-1-b - Procédure sendEmail............................................................................................................... 12
IV-D-2 - Module M_Alertes_Garanties............................................................................................................12
IV-D-2-a - Fonction SendAlertes............................................................................................................... 12
IV-D-3 - ….......................................................................................................................................................14
V - Documentation générée à partir du xml..............................................................................................................14
VI - Remerciements................................................................................................................................................... 14

-2-
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

I - Introduction

Si vous souhaitez faciliter la maintenance de votre application, pour par exemple corriger certaines erreurs
d'exécution, pour améliorer certaines fonctions, ou simplement pour la faire évoluer, vous aurez intérêt à bien la
documenter au fur et à mesure de son développement et de son utilisation.

De cette façon, si par la suite vous souhaitez passer le relai à une autre personne, avec cette documentation, elle
sera normalement en mesure d'assurer sa maintenance.

Malheureusement, le logiciel Access ne propose pas de vrai outil pour documenter sa base de données. Il y a bien une
documentation de disponible pour les différents objets, mais sans table des matières ni possibilité de personnaliser
son contenu avec par exemple des illustrations.

Cependant, on peut déjà facilement récupérer dans Access de l'information et des vues sur les différents objets de
la base de données, puis réaliser cette documentation à l'aide d'un logiciel de traitement de texte classique (Word,
LibreOffice, etc.), ou comme dans notre cas, avec un éditeur XML. Cet outil va permettre de présenter les différents
objets de l'application à l'aide d'une table des matières, et de documenter le code avec des balises dédiées.

Pour réaliser cette documentation, je vous propose donc une méthodologie décomposée en trois étapes principales :

• Quelques conseils avant de commencer ;


• Présenter les fonctions et la structure générale de l'application ;
• Décrire le rôle et la structure des objets de la base.

Pour illustrer cette démarche, on se propose de documenter une gestion de stock du matériel informatique utilisé
dans une société de conseil et d'expertise aux entreprises.

L'objectif n'est pas d'expliquer comment concevoir et développer une application à l'aide de
méthodes type UML, mais juste de fournir les éléments permettant d'assurer sa maintenance.

II - Quelques conseils avant de commencer

Commençons par donner quelques conseils pratiques pour tenir une bonne documentation.

II-A - Respecter une norme pour les noms de vos objets

Pour faciliter l'identification des objets de votre base de données et donc la lecture de votre documentation, faites
en sorte que leur nom respecte une norme :

• Tables : T_Fournisseur, T_Materiel, etc. ;


• Requêtes : R_Fournisseurs, R_Liste_Materiels, etc. ;
• Formulaires : F_Fournisseur ;
• Colonnes ou champs : Id_Fournisseur, Nom_Fournisseur, etc. ;
• …

Pour plus d'information sur le sujet, je vous invite à consulter Normalisation des noms des
objets des bases de données.

II-B - Utiliser des schémas et des captures d'écran

Pour garder une vision d'ensemble de l'application et mieux comprendre le fonctionnement de tous ses composants,
accompagnez vos explications de schémas et de captures d'écran.

-3-
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

II-C - Respectez certaines règles pour l'écriture de votre code source

Pensez à bien indenter votre code et à choisir des noms de variables et de fonctions explicites pour faciliter sa
relecture.

Utilisez des fonctions génériques pour éviter les redondances dans le code et ainsi simplifier sa maintenance.
Idéalement, ces fonctions peuvent être regroupées dans des modules séparés, de manière à pouvoir éventuellement
les « transporter » rapidement d'une appli à l'autre.

Si vous souhaitez, par exemple, piloter une autre application (Excel, Word, etc.), optez pour des variables objet à
liaison anticipée (early binding), c'est-à-dire déclarées dans un type d'objet spécifique, car elles offrent plusieurs
avantages :

• les objets à liaison anticipée permettent au compilateur d’allouer de la mémoire et d’effectuer d’autres
optimisations avant l’exécution d'une application. Ils sont donc plus rapides que les objets à liaison tardive ;
• l'utilisation du early binding rend également votre code plus lisible et facilite sa gestion. En effet, cette solution
permet d'afficher les membres (propriétés, méthodes…) de vos objets au fur et à mesure de l'écriture de votre
code (complétion - CTRL + Espace), et vous donne accès à l'aide dynamique sur la syntaxe.

Enfin, pour une meilleure compréhension du code, commentez-le à bon escient, en donnant le rôle de chacune des
fonctions et en décrivant ses parties importantes.

II-D - Mettre à jour votre documentation régulièrement

Mettez à jour la documentation à chaque fois que vous modifiez le code source ou les objets de la base de données.
Si vous enregistrez plusieurs versions de votre application, prévoyez une documentation par version.

III - Présenter les fonctions et la structure générale de l'application

Commencez votre documentation en décrivant le logiciel de façon globale.

III-A - Fonctions principales

Présentez tout d'abord votre application, en énumérant brièvement ses fonctions principales.

Dans notre exemple, notre base Access permet de :

• gérer le matériel informatique de l'entreprise par catégorie (ordinateur, imprimante, serveurs, claviers, etc.) ;
• gérer le stock du matériel : en prêt, en réparation, en stock, hors service, obsolète ;
• gérer les alertes de fin de garantie du matériel ;
• enregistrer et visualiser le journal d'activité des utilisateurs.
• …

III-B - Structure globale

Pour avoir une vue d'ensemble de l'application, vous pouvez ensuite ajouter un schéma montrant les interactions
entre les différents formulaires, accompagné d'une copie d'écran du formulaire d'accueil avec ses différents menus.

Pour notre gestion de stock, nous présentons tout d'abord sa structure générale :

-4-
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

Structure de l'application

Puis, le sommaire permettant d'accéder aux différents formulaires :

Formulaire d'accueil

Et enfin, le formulaire permettant le suivi du stock des matériels informatiques, accessible depuis le sommaire :

-5-
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

Formulaire F_Liste_Materiels

Si votre application est utilisée en mode multiutilisateur, vous pouvez également donner ici
un schéma de l'architecture frontale/dorsale.

IV - Décrire le rôle et la structure des objets de l'application

Décrivez ensuite plus en détail ses différents composants.

IV-A - Rôle et structure des tables

Dans cette partie, commençons par afficher la fenêtre Relations d'Access pour avoir une vue d'ensemble des tables
de notre base de données (Onglet Outils de base de données, puis Relations).

-6-
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

Fenêtre Relations

Puis décrivons le rôle et la structure de ces tables. Pour cela, on utilise des tableaux comportant trois colonnes pour
indiquer le nom des champs, leur type de données et leur description.

IV-A-1 - Table T_Materiel

Elle permet d'enregistrer les informations relatives aux matériels informatiques utilisés dans l'entreprise.

Nom du champ Type de données Description


Id_Materiel Numéro-auto Identifiant du matériel
informatique
Id_Interne Texte Numéro identifiant le
matériel en interne
Id_Modele Texte Numéro identifiant le
modèle de matériel
… … …

IV-A-2 - Table T_Fournisseur

Elle permet d'enregistrer les informations relatives aux fournisseurs.

Nom du champ Type de données Description


Id_Fournisseur Numéro-auto Identifiant du fournisseur
Nom_Fournisseur Texte Nom du fournisseur
Adresse Texte Adresse du fournisseur
… … …

IV-A-3 - …

On poursuit notre description des autres tables de la base de données…

-7-
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

IV-B - Rôle et structure des requêtes

Détaillons ensuite le rôle et la structure des requêtes. Pour mieux décrire leur composition, on va réaliser des copies
d'écran de chaque requête affichée en mode création. Vous pouvez pour cela utiliser la touche « Impression écran »
de votre clavier, puis coller votre image dans Paint ou Photoshop, pour ensuite la modifier comme vous le souhaitez.

IV-B-1 - Requête R_Liste_Fournisseurs

Basée sur la table T_Fournisseur, elle permet d'afficher la liste des fournisseurs classée par ordre croissant de leur
nom :

Requête R_Liste_Fournisseurs

Formule pour afficher le nom du fournisseur en majuscules


Fournisseur: Majuscule([Nom_Fournisseur])

IV-B-2 - …

Poursuivre la description des autres requêtes…

IV-C - Rôle et structure des formulaires

Décrivons ensuite les formulaires. Pour nous aider, on va réaliser des copies d'écran de chaque formulaire affiché
en mode création.

IV-C-1 - Formulaire F_Sommaire

Ce formulaire de démarrage comporte un certain nombre de boutons de commande permettant d'accéder aux
différents formulaires :

-8-
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

Formulaire d'accueil

Nous décrivons ensuite ces différents boutons de commande et leur procédure associée

IV-C-1-a - Bouton de commande Cmd_Liste_Materiels

Ce bouton permet d'ouvrir la liste des matériels pour identifier ceux qui sont en stock, en réparation, ou hors service.

Procédure événementielle exécutée sur clic


Private Sub Cmd_Liste_Materiels_Click()
[Link] "F_LISTE_MATERIELS"
End Sub

IV-C-1-b - Bouton de commande Cmd_ajout_Fiche_Fournisseur

Ce bouton permet d'ouvrir le formulaire F_Fournisseur en mode ajout.

Procédure événementielle exécutée sur clic


Private Sub Cmd_Ajouter_Fiche_Fournisseur_Click()
[Link] "F_FOURNISSEUR", , , , acFormAdd
End Sub

IV-C-1-c - …

Poursuivre la description des autres boutons de commande…

IV-C-2 - Formulaire F_Liste_Materiels

Il s'ouvre depuis le sommaire :

-9-
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

Formulaire F_Liste_Materiels

On remarque qu'il comporte un sous-formulaire et des listes déroulantes pour filtrer les données de ce sous-
formulaire.

On présente ici un exemple de liste déroulante en plus du contrôle sous-formulaire.

IV-C-2-a - Liste déroulante Cmb_Categorie_Materiel

Elle permet de filtrer le sous-formulaire en fonction de la catégorie de matériel choisie.

Elle a comme source de données la table T_Categorie_Materiel :

Propriétés de la liste déroulante

- 10 -
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

Procédure événementielle exécutée sur l'événement afterUpdate


Private Sub Cmb_Categorie_Materiel_AfterUpdate()
' rafraîchit la liste des matériels en fonction des choix effectués sur les listes
déroulantes
RefreshListeMateriels
End Sub

IV-C-2-b - Sous-formulaire SF_Liste_Materiels

Le contrôle sous-formulaire est lié au formulaire SF_Liste_Materiels comme vous pouvez le voir sur sa feuille des
propriétés :

Formulaire d'accueil

IV-C-3 - …

Décrire de la même manière les autres formulaires…

IV-D - Documentation des modules

On présente dans cette partie les fonctions et les procédures, et on commente leur code. On utilise pour cela la balise
de code disponible dans l'éditeur XML.

IV-D-1 - Module M_Automation_Outlook

Il contient les fonctions génériques permettant d'interagir avec Outlook. Comme conseillé précédemment, on utilise
des variables objet à liaison anticipée (early binding) qui nécessitent de référencer la librairie Microsoft Outlook
XX.X Object library.

- 11 -
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

IV-D-1-a - Fonction isOpenOutlook

Indique si l'application Outlook est déjà chargée en mémoire.

Fonction isOpenOutlook
Public Function IsOpenOutlook() As Boolean
Dim olkApp As [Link] ' variable objet pour faire référence à l'application
Outlook

On Error Resume Next ' passe à la ligne suivante en cas d'erreur


Set olkApp = GetObject(, "[Link]")
On Error GoTo 0 ' annule la gestion d'erreur

If olkApp Is Nothing Then ' si outlook n'est pas ouvert


IsOpenOutlook = False
Else ' sinon
IsOpenOutlook = True
End If

End Function

IV-D-1-b - Procédure sendEmail

Elle permet d'envoyer un e-mail avec Outlook à l'utilisateur dont l'adresse e-mail est enregistrée dans la base :

Procédure SendEmail
Sub sendEmail(olkApp As Object, emailAddr As String, subj As String, msg As String)
' envoie l'e-mail d'objet subj et de contenu msg à l'adresse emailAddr
Dim emailItem As olMailitem ' variable objet pour faire référence à l'objet MailItem

' Création de l'objet olMailitem


Set emailItem = [Link](olMailItem)

With emailItem ' mise à jour des propriétés de l'objet olMailItem


.To = emailAddr ' adresse e-mail du destinataire
.Subject = subj ' objet du message
.BodyFormat = olFormatRichText ' format texte enrichi pour le message
.HTMLBody = msg ' contenu du message
.Send ' envoi du message
End With

' on libère la variable objet


Set emailItem = Nothing

End Sub

Vous pouvez constater que les variables sont bien déclarées dans un type d'objet spécifique.

IV-D-2 - Module M_Alertes_Garanties

Il contient les fonctions permettant d'envoyer des messages d'alertes de fin de garantie aux utilisateurs du matériel.

IV-D-2-a - Fonction SendAlertes

Elle permet d'envoyer une alerte aux utilisateurs dont la garantie du matériel arrive à échéance.

Déroulé de la fonction :

• ouverture du jeu d'enregistrements basé sur la requête R_Liste_Alertes_Garanties ;


• ouverture d'Outlook, si pas chargé ;

- 12 -
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

• parcours de la liste des alertes de garantie ;


• pour chacune des alertes de garantie, envoi de l'e-mail correspondant à l'utilisateur.

Fonction SendAlertes
Public Function SendAlertes(obj As" String, msg As String) As Boolean
' fonction permettant d'envoyer une alerte aux utilisateurs dont la garantie du matériel
arrive à échéance
On Error GoTo err_SendAlertes ' gestion d'erreur
Dim db As [Link] ' variable pour faire référence à la base de données
Dim rsAlertes As [Link] ' variable pour faire référence au recordset lié à la requête
affichant la liste des alertes
Dim olkApp As Object
Dim msg2 As String

Set db = CurrentDb ' référence à la base courante


Set rsAlertes = [Link]("R_Liste_Alertes_Garanties", dbOpenDynaset) ' ouverture du
recordset basé sur la requête R_Liste_Alertes_Garanties

If Not IsOpenOutlook() Then ' teste si Outlook est ouvert


Dim wsShell As Object
Set wsShell = CreateObject("[Link]")
Call [Link]("outlook", 1, True) ' lance Outlook si pas ouvert
End If

Set olkApp = CreateObject("[Link]") ' crée l'objet application d'Outlook

Do Until [Link] ' on parcourt les alertes

If Nz(rsAlertes!E_MAIL) <> "" Then ' si l'utilisateur a une adresse e-mail de renseignée

msg2 = Replace(msg, "FABRICANT_MATERIEL", rsAlertes!FABRICANT)


msg2 = Replace(msg2, "MODELE_MATERIEL", rsAlertes!MODELE)

sendEmail olkApp, rsAlertes!E_MAIL, obj, msg2 ' envoi de l'e-mail à l'utilisateur

End If

[Link]
rsAlertes!ALERTE_GARANTIE = True ' on met la valeur du champ ALERTE_GARANTIE à True
[Link]

[Link] ' on passe à l'alerte suivante

Loop

SendAlertes = True ' on renvoie True pour indiquer que tout s'est bien passé

err_SendAlertes:

If ([Link] <> 0) And (SendAlertes = False) Then ' en cas d'erreur


MsgBox ([Link]) ' affichage du message d'erreur
End If

On Error Resume Next


' on ferme et libère les variables
If Not rsAlertes Is Nothing Then
[Link]
End If
Set rsAlertes = Nothing

Set db = Nothing

Set olkApp = Nothing

End Function

- 13 -
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]
Méthodologie pour documenter votre application Access par Denis Hulo

IV-D-3 - …

Décrire de la même manière les autres modules…

Pensez à mettre à jour régulièrement la documentation du code source.

V - Documentation générée à partir du xml

Lien vers un extrait de la documentation ayant servi d'exemple pour le tutoriel.

VI - Remerciements

Je tiens à remercier Pierre Fauconnier de m'avoir conseillé pour la réalisation de cet article, ainsi que Claude Leloup
pour sa relecture.

- 14 -
Copyright ® 2021 Denis Hulo. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse
de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.
[Link]

Vous aimerez peut-être aussi