Notre magasin
Rue Albert 1er, 7
B-6810 Pin - Chiny
(/fax: 0032 (0)61/32.00.15

Microsoft Access, la Formation en ligne

FORMATION

Le MAGASIN YBET

PRODUITS et SERVICES

Notre gamme de formations Activités et présentation  
Tutorial et formation INTERNET Plan d'accès  
YBET Nous contacter  

10. Exemple de création de base de donnée ACCESS: la gestion financière d'un club

Dans ce tutorial Access, nous avons vus les différentes parties de création d'une base de données. Voyons un cas plus explicite:la gestion financière d'une petite association: entrées et sorties globales ou par activités . Cette application a été développée pour le comité des fêtes de Lambermont mais vous pouvez l'adapter n'importe quel club sportif ou autre. Elle remplace les applications standards sous Excel qui montre vite ses limites lorsqu'il faut dissocier les différente sources de rentr es et de sortie, notamment si vous voulez réellement suivre les paramêtres par activité . Le logiciel Ciel association peut dans certains cas vous convenir (conforme notamment la législation belge sur les ASBL) Vous pouvez également utiliser des logiciels de comptabilité de type CIEL Compta, mais cette méthode demande des connaissances en comptabilité des entreprises.

Si vous débutez sous Access (et dans les bases de données en général), vous pouvez au préalable lire notre tutorial Access en ligne reprenant les différentes parties de la conception d'une base de donnée. Un autre exercice Access est repris en récapitulatif des formations Access de niveau 1.

2. Création de la table

 Commençons par créer une nouvelle base de donnée appelée club. Créons une table appelée facturier reprenant les champs suivants:

Cette base de donnée va reprendre les entrées et sorties.

 Première modification, pour la date, rentrons en "valeur par défaut" la fonction Maintenant(). Ceci affichera automatiquement la date du jour, mais pourra tre modifiée.

Deuxième modification, pour le champ type, créons une liste de choix.

Sélectionnons "Je taperais les valeurs souhaitées" (la deuxième possibilité sera vue ci-dessous).

Sélectionnons une seule colonne.

Le deuxième onglet est automatiquement modifié. Dans "Contenu", tapons simplement R;S. Le ; sert à séparer les différents choix possibles. Il nous restera mettre sous l'onglet Général, R (Rentrées) comme valeur par défaut, en espérant avoir plus de Rentrées que de Sorties.

Enregistrons notre table, ne créons pas de clé primaire.

Une petite remarque, de par sa conception, cette base de donnée est utilisable les années la suite de l'autre. Il n'est pas nécessaire de recréer une base de donnée chaque année. Ceci permettra de faire des comparaisons sur une activité d'une année l'autre.

3. Les requêtes, formulaire et état, utilisation de la base de données.

Pour la suite de cet exercice, créons une requête basée sur cette table triant les différentes lignes en ordre croissant sur la date appelée "date" l'aide de l'assistant.

Créons maintenant un formulaire reprenant cette requête appelée "facture". Notre formulaire se présentera par exemple comme ci-dessous.

Modifions notre formulaire pour nous faciliter encore un peu plus la vie. La date se met automatiquement - cause de la table, valeur par défaut maintenant(). Ne jouons pas sur le numéro. 

Le type peut- tre R pour rentrée ou S pour sortie. Nous avons bloqué ces 2 possibilités sur la table mais nous pouvons galement bloquer sur ces 2 valeurs l'aide du formulaire. Dans le menu Affichage, sélectionnons propriétés. En sélectionnant le champ type, sélectionnons dans la fenêtre propriété et dans la partie "Valide", tapons ="R" ou "S". Access n'acceptera dans ce champ que r ou s (majuscule ou minuscule). Tapons galement en valeur par défaut R

Nous pourrions faire de même avec le champ payé pour cocher la case par défaut.

Revenons nos activités. Notre but est que pour chaque entrée / sortie, la ligne rentrée  correspond à une activité : la fête, le barbecue, le souper annuel, Pourquoi pas.

Plusieurs possibilités existent. Nous n'en verrons qu'une. Créons une table dé signée par activité reprenant uniquement le champ activité. Dans cette table tapons les activités suivantes:

Reprenons notre table CLUB en modification. Modifions le champ activité. Notre but est de choisir les données dans une zone modifiables et de les reprendre directement dans le champ  Activité. Les différentes possibilités sont inscrites dans la table activité . Cette solution sera plus facile s'il faut rajouter des activités dans la table.

Sélectionnons "Je veux que la liste modifiable et sélectionnons la table "Activités ". Sélectionnons le champ activité et le tour est presque joué.

Sélectionnons uniquement le champ activité.

Nous allons stocker la valeur dans le champ "activité ".

Il nous faut encore organiser le d roulement des opérations par "Ordre de tabulations" dans le menu Affichage. Passons en mode formulaire et rentrons quelques données. Enregistrons notre formulaire et vérifions dans la table si les données sont correctement rentrées. Et non, la table "Facturier" reprend le numéro de l'activité .

Revenons notre formulaire en mode création. Sélectionnons les propriétés de notre zone modifiables et dans la case nbre de colonnes, s lectionnons 2 au lieu de 1. Ca marche.

Un dernier point, nous devons encore rentrer l'année manuellement. Il faudrait néanmoins la modifier chaque année. Utilisons une autre méthode. Dans la table, sélectionnons année et tapons la fonction suivante dans la valeur par défaut: année(maintenant()), en respectant les parenthè ses. Ceci demande de choisir l'année de la date du jour par défaut (l'année est donc modifiable), et ceci sera répercuté dans le formulaire.

Maintenant que nous pouvons rentrer des données, sans trop de problèmes, allons voire dans les états nos différentes possibilités.

Un premier état serait une feuille reprenant les factures payées par la caisse centrale ou non (en utilisant la case payée. Dans Access, nous devons passer par une requ te. Créons là. Sélectionnons tous les champs de la table facturier en sélectionnant d'abord année, puis date, puis tous les autres. Pour les champs date et année, sélectionnons un ordre croissant. Comme année est en premier dans l'année, il sera repris dans le tri en premier. Sous la case "Payé", tapons dans la case critère le chiffre 0. Automatiquement, la requête n'affiche plus que ce qui n'est pas payé. Sauvons cette requête sous le nom "A payer". Passons maintenant notre états. Ce ci va nous permettre d'imprimer les factures en entrées et en sorties non payées.

Créons un état l'aide de l'assistant. Sélectionnons la requête "A payer" comme source et sélectionnons tous les champs. Dans la fenêtre suivante, sélectionnons un ordre de regroupement suivant l'activité, puis suivant le type. Nous n'avons pas besoin de tri, ils sont déjà fait dans la requête de départ "A payer". Cliquons sur le bouton "Options de synthèse". Ceci affiche la fenêtre suivante. Cliquons sur la ligne "montant" dans la case Somme. 

Sélectionnons le mode de présentation qui nous convient. L'aperçu de l' état affiche un tas de texte inutile. Modifions notre état et supprimons le texte "= synthèse" Diminuons galement l'espace réservé. Ceci n'est déjà pas si mal, mais la somme globale en dessous reprend la somme des entres et des sorties, ce que nous souhaiterions modifier. La solution est de rentrer systématiquement les sorties avec un montant négatif. Ceci permet de vérifier les sommes que l'on doit recevoir diminuer des sommes que l'on doit payer.

A ce stade, les activités sont reprises "années mélangées". Les comptes du VTT 2000 sont repris avec les comptes du VTT 2001. Pas très intéressant. La solution est de créer un nouvel ordre de regroupement sur l'année. Dans le menu Affichage, sélectionnons ordre de regroupement, dans la troisième ligne, dans la colonne champ/expression, sélectionnons année. Sélectionnons la ligne et montons avec le curseur jusqu'au dessus de "Activité. Dans les case de propriétés, sélectionnons entête de groupe et pieds de groupe sur Oui. En affichant la liste des champs, glissons le champ annee dans la zone "Ent te de groupe ann e". Faisons de m me dans le pied du groupe ann e, en copiant le champ "Somme ) dans la zone au-dessus et en revenant dans la partie pied, utilisons la fonction copier. Ceci nous donnera une somme par année.

Nous aurions pu utiliser le systême ci-dessous pour regrouper par année. Je vous laisse le loisir de le faire votre grés.

 Il est possible dans une requête de filtrer manuellement les champs. Créons une nouvelle requ te l'aide de l'assistant, en utilisant la table facturier et en reprenant tous les champs les uns après les autres. Dans la zone écriture sous la colonne année, tapons "[Ann e]". Dans la même ligne mais sous la colonne "Activité ", tapons [activité]. Les pseudo champs créés ainsi nous poserons la question. Lorsque nous ex cutons la requête, Access demande d'abord Année?, puis Activité? Et affiche uniquement les données qui correspondent ces 2 critères. Le pseudo champ doit impérativementêtre en 1 seul mot, mais vous pouvez utiliser des "_" entre les mots. [Année_activit ] fonctionne. Par contre [année_de_l'activité ] ne fonctionne pas cause du caractère accentu ('). Sauvegardons cette requête sous le nom de résultat par activité .

Le seul problème vient du fait que cette requête n'affiche que les lignes, pas de totaux. Il nous faut effectivement créer un état. Créons cet état l'aide de cette requête en effectuant un regroupement suivant le type (R ou S) et en utilisant les options de synthêses. Ceci nous donne un état reprenant les entrées et les sorties de chaque activités . Vous pouvez même insérer dans votre état les pseudo champs (idem ceux rentrés dans la requête).

Cette gestion de clubest déjà pas mal mais nous souhaiterions le perfectionner. Ceux qui sont (ou ont été tr sorier d'un club savent que g n ralement on aime bien savoir ce qui se passe au sein m me d'une activit : quel montant le bar a rapport , Nous arrivons au principal problème des bases de donnée es: la modification. En effet, ajouter un champ dans une table n'est pas très compliqué, mais nous allons devoir modifier toutes les requêtes, formulaires et champs. Pour ma part, dans ce cas, je recrée souvent directement toutes les autres parties l'aide des assistants.

Quelques imperfections existent encore. Reprenons notre formulaire en mode Modification. Nous allons créer une zone de liste modifiable. Cliquons sur le bouton associ dans la boîte d'outils et créons notre zone sur le formulaire. Access propose un choix suivant 3 options. Sélectionnons la deuxième, je taperai les valeurs souhaitées. Nombre de colonne: 1, stockons la valeur dans ce champ que nous sélectionnons comme "TYPE"

Donnons le nom type comme tiquette. Chaque fois que nous rentrons une valeur dans la zone modifiable type, la valeur s'insère dans le champ type. Nous souhaiterions n'avoir plus que 2 choix (R pour rentrées et S pour sortie). En modification, sélectionnons notre zone modifiable. Avec la touche droite de la souris, sélectionnons la commande "propriété ". Dans la zone Contenu, tapons "R";"S". En reprenant notre formulaire en mode formulaire, nous n'avons plus que le choix entre R ou S et le champ type est toujours modifié. Nous pouvons dès lors supprimer le champ type du formulaire. Il nous faudra forcément organiser notre écran et ventuellement l'ordre de tabulation dans le menu Affichage.

Notre formulaire semble maintenant complet. Attaquons maintenant les Etats qui permettent d'imprimer les rapports. Le premier va nous permettre de faire les comptes annuels. Nous pourrions directement cr er un état mais nous devons d'abord créer les filtres et dans Access, la seule manière est de travailler sur les requêtes. Créons donc une requête en mode création. Choisissons la table facture avec tous les champs et appelons cette requête "Par année". Modifions-là comme suit. Dans la ligne critère sous le champ année, tapons =[année_des_activités]. attention de bien respecter la syntaxe, pas d'espaces. En ouvrant la requête, Access pose automatiquement la question année? Il suffit de rentrer l'année demandée, par exemple 2020 et seules les entrées sorties de 2020 seront affichées. Pendant que nous y sommes, créons une deuxième requête qui demande l'année et l'activité. Pour cela, sélectionnons la requête "par année" avec la touche droite de la souris et sélectionnons "Copier". Ensuite utilisons la commande "Coller". Access demande un nouveau nom de requête, répondons "par année et activité". Comme critère sous le champ activité, tapons tous simplement =[activit _souhaitée]. Access demandera l'année et l'activité.

Dans la partie gauche, choisissons Etat et dans la partie droite l'aide des assistants. Sélectionnons la requête "par année" et tous ses champs.

S lectionnons année comme regroupement et SUIVANT. En tri, sélectionnons date (par exemple) et montant comme option de synthêse, la somme pour le champ montant. Le résultat sera par exemple comme ci-dessous. Modifions notre état pour parfaire la lecture. Choisissons la difficulté , modifions l'état existant. Nous allons une fois de plus utiliser la barre d'outils.

Dans la zone d'en-tête, insérons une zone de texte et dans cette zone, tapons [année_des_activités]. Nous pouvons éventuellement changer la mise en forme de ce champ (gras, hauteur supérieur. Une deuxième modification possible serait de dissocier par activités les rentrées et les sorties. Nous aurions pu le faire la création, mais faisons-le directement en mode modification. Dans le menu Affichage, s lectionnons "Trier et regrouper". Insérons le champ TYPE et tapons Oui en pied de groupe, d éplaçons TYPE entre activité et date.

Insérons maintenant une zone de texte et remplaçons le terme indépendant par =somme([montant]) dans le pied de groupe TYPE. Nous pouvons créer le même ETAT pour la requête "par annee et activité". D'autres modifications sont possibles, 2 décimales dans les propriétés des sommes, insérer des pieds de page en bas de chaque groupement d'activité, Je vous laisserai le faire.

4. Menu d'entrée

Créons une macro. Dans la partie gauche, sélectionnons "Ouvrir formulaire". Dans les propriétés, sélectionnons le formulaire que nous souhaitons ouvrir. Enregistrons notre macro comme Ouvrir le formulaire. Créons une deuxième macro pour ouvrir l'état "Par année". Sélectionnons la commande ouvrir état et en propriété ETAT par année. Dans la propriété Affichage, sélectionnons aperçu avant impression. Créions la même pour l'é tat 'par année et activité.

Créons maintenant un formulaire en mode création. Notre but n'est pas ici d'afficher des champs, mais de faire un menu de départ.

Créons un bouton, sélectionnons comme choix "Divers", exécuter macro. Sélectionnez la macro Formulaire. Sélectionner soit un texte, soit une image de votre choix.. Tapez Formulaire comme nom de bouton. Faite de même pour les 2 autres macros.

Recréez un quatrième bouton. Sélectionnez la catégorie Applications gauche et Quitter une application droite. Suivant. Sélectionner par exemple le panneau de sortie. Ceci permettra de quitter Access.

Dans le menu OUTIL d'Access, s lectionnez la commande "D marrage".

Comme "Afficher " Sélectionnez Principal. Le reste est de la mise en page. A partir de maintenant, en cliquant sur l'application, le menu principal apparaîtra en premier et les différents états et formulaires seront accessible par les boutons.

 

9 < Table: propriétés avancées

La suite du tutorial Access> 11. Liste de choix Access

Plan du cours

1. Débuter pour l'utilisation d'Access - 2. Table - 3. Requête - 4. Formulaire - 5. Travailler avec une base de donnée Access - 6. Base de donnée relationnelle - 7. Les Etats - 8. Macros et menus de démarrage - 9. Propriétés avancées des champs - 10. Gestion d'un club - 11. Liste de choix - 12. Macros - 13. Formulaires avancés - 14. Procédures événementielles - 15. Champs Calculés - 16. Partage en réseau - 17. Sécurité et accès utilisateur