Notre magasin Rue Albert 1er, 7 B-6810 Pin - Chiny (/fax: 061/32.00.15 |
![]() Le cours ACCESS d'YBET Informatique |
FORMATIONS |
Le MAGASIN YBET |
PRODUITS et SERVICES |
Tutorial et formation INTERNET |
YBET informatique | Nous contacter |
La première partie de cet exercice Access basé sur une facturation va être de déterminer quelles tables sont à créer, quels champs à utiliser. Bref, c'est la partie la plus difficile de Microsoft Access puisque les choix de cette partie de l'exercice vont conditionner tous les développements de notre application de facturation, et même de limiter ou d'étendre les fonctionnalités de notre base de donnée.
Pour cette facturation, nous pourrions utiliser une seule table mais cette solution est peu pratique. En effet, à chaque ligne de facture (produit vendu), nous devrons remplir tous les champs: coordonnées du client, date, ... La solution réside dans une base de donnée relationnelle.
Notre application va rassembler 4 tables qui seront reliées:
Le choix des tables n'est pas du au hasard. Nous pourrions reprendre les tables facture et client dans une même table. Néanmoins, ceci nous obligerait à retaper les coordonnées du client à chaque nouvelle facture.
De même, dans le cas où nous tapons à chaque fois la description, prix, ..., nous pouvons supprimer la table produits. Vous pouvez vous référer au au cours Access en ligne pour les types de champs et pour les propriétés des champs
Cette table est la principale de notre exercice Access, c'est le point central de notre application de facturation. Elle reprend:
Types, contraintes et propriétés des champs.
Taille du champ peut être entier long.
Comme le numéro de facture est obligatoire et unique, plusieurs possibilités possibles:
1. null interdit et indexé sans doublons
2. Clé primaire
Le choix portera à conséquence puisque dans le deuxième cas, le numéro sera automatiquement incrémenté. Par contre, la remise à zéro nécessite la suppression et la reconstruction du champ
Date facture:
Le format date peut être choisi personnellement, il ne gère que l'affichage.
Par facilitée, choisissons la valeur par défaut comme la date actuelle en sélectionnant la fonction Access maintenant()
De nouveau, null interdit
L'indexation n'est pas obligatoire, mais conseillée dans certains cas.
Code Client:
Ce champ va reprendre les mêmes contraintes que dans la table client. Par facilité, sélectionnons la taille à 10 caractères. Je laisse à chacun le soin de créer le masque de saisie en fonction de sa propre entreprise.
Nous devons autoriser les doublons. Par contre, l'indexation fera gagner du temps dans les recherches futures.
Null interdit n'est pas obligatoire mais:
. Null interdit et chaîne vide autorisée NON oblige à rentrer un code client correct
. Dans le cas contraire, vous pouvez utiliser un client vide pour une vente comptoir par exemple.
La deuxième table va reprendre les coordonnées du client. La liaison avec la table facture ci-dessus est le code du client. Les propriétés du champ doivent donc être strictement identiques dans les 2 tables. Vous pouvez donner un nom différent au code client dans chaque table, mais ce n'est pas conseillé. Ils seront distingués par le nom de la table ultérieurement. Pour éviter d'encoder 2 codes client pour la même entreprise , le champ code client sera utilisé comme clé primaire.
Les propriétés des autres champs sont normal, mais vous pouvez imposer que toutes les coordonnées soient remplies (ou non). Pour éviter 2 codes différents pour le même client, vous pouvez utiliser le code TVA comme "indexé sans doublon". Dans ce cas, il ne sera pas possible de rentrer 2 clients différents non assujettis à la TVA. Par contre, vous pouvez utiliser cette propriété pour le nom du client par exemple.
Vous le voyez, les possibilités de contraintes des champs de la table clients sont nombreuses, mais chacune imposera des limitations futures.
Cette table reprend toutes les lignes de la facture. Nous pourrions la relier en relationnelle à notre table client (par le code client), mais finalement, la relation ne se fait que vers l'en-tête de facture. Le numéro de la facture va donc servir de relation avec la facture ne elle-même. Le contenu en lui-même doit obligatoirement reprendre:
Le choix des autres champs est plus délicat, mais les renseignements obligatoires sur le document commercial est: le prix unitaire, le taux TVA, la description.
Ces 3 champs peuvent être repris de la table produits directement ou recopiés lors de la création de la facture de cette table. Si nous reprenons directement les propriétés de la table produit, un changement de prix dans notre table produit influencera directement l'impression d'anciennes factures. De plus, il ne sera pas possible de modifier le prix ou la description en cours de facturation. La solution consiste donc à effectivement créer les champs Prix, description et taux de TVA. Lors de l'introduction de la ligne de facture, nous utiliserons une procédure événementielle pour récupérer les données de la table produits par défaut (mais nous pourrons faire des modifications éventuelles).Changer le prix dans la table produit ne modifiera pas le prix dans les anciennes factures.
Nous utiliserons des champs calculés pour récupérer le total hors TVA de chaque ligne
D'autres champs peuvent être ajoutés, comme la réduction par ligne.
Attention, l'utilisation du format % pose quelques problèmes, mais vous pouvez utiliser un format nombre standard avec des contraintes, ou même une liste de choix pour le taux de TVA. C'est la solution adoptée ici avec une table reprenant les taux de TVA.
Nous reprenons forcément le champ Code produit, avec des propriétés identiques à celui de la table "Contenu facture". Comme le contenu de ce champ doit être unique dans la table et qu'il doit être indexé, nous allons désigner ce champ comme clé primaire.
Le reste des champs reprend la description, le prix et le taux de TVA. Ceux ci sont normalement obligatoires.
Pourquoi avoir utilisé une structure de base de donnée relationnelle dans cet exercice?
Quel est l'avantage d'utiliser le champ "Code client" comme clé primaire dans la table Clients? Pourquoi ne puis-je pas utiliser le numéro de facture comme clé primaire dans la table "Contenu facture"?
Quel intérêt de créer ou non les champs descriptions, prix et taux de TVA dans la table Access "Contenu facture"?
Dans les propriétés du champ "code produit" de la table "Contenu facture", quelle avantages (ou défaut) de ne pas rendre le code produit obligatoire?
La suite > 3. Création des requêtes
YBET Informatique:
Formations informatiques débutants ou avancés
dans notre salle de cours à Pin - Chiny ou en entreprise: Windows, office et gestion
Initiation, Windows - Microsoft Word - Microsoft Excel - Microsoft Access - Internet
logiciel de comptabilité CIEL - Gestion commerciale CIEL - Gestion Point de Vente CIEL
Ciel compta Premium, la référence en comptabilité pour PME et associations
YBET Informatique: formation débutant ou avancé dans notre salle de cours à Chiny ou en entreprise |
Renseignements, tarifs et inscriptions sur notre page formations informatiques |