Académique Documents
Professionnel Documents
Culture Documents
PRO J E T D E
BA S E D E D ON N E E S
S O U S M I C R O S O F T A C C E S S
ALAOUI-SOSSI GAËL
MASTER MIPS
FEVRIER 2011
Sommaire
INTRODUCTION ................................................................................................................... 3
a. Introduction .............................................................................................................................. 4
g. Les Formulaires........................................................................................................................ 12
3. CONCLUSION .............................................................................................................. 13
2
GESTION DES RESERVAT IONS CLIENTS
DANS UN CAMPING
I N T ROD U C T I ON
D’une manière générale une base de données est un ensemble structuré et organisé permettant le
stockage d’un nombre important d'informations.
Ceci étant et d’un point de vue informatique, (et spécifiquement du Logiciel Microsoft Access) la
base de données nous donne la possibilité, en plus de stocker ces informations, de les combiner
entre elles, de sorte d’obtenir des applications plus au moins complexes, le but étant de pouvoir
exploiter ces données selon le besoin de l’utilisateur.
Données A
Données
Données 1
Combinées A1(%)
Les requêtes permettent justement d’extraire et de combiner les données de façon pertinente.
La base est constituée de tables (tableaux de données) reliées entre elles par des relations.
J’ai souhaité orienter le sujet de création d’une base de données sur un sujet me tenant à cœur, et
qui permettra d’assurer une réelle fonction. Le sujet ainsi choisi est la création d’une base de
données pour la gestion des réservations d’un camping qui se trouve être en cours de
construction dans le nord du Maroc
L’aboutissement d’une telle base de données nous permettra l’économie d’un logiciel de gestion
de camping professionnel (au moins au début).
L’autre avantage et non des moindre, de la création de cette application est qu’elle aura été conçu
en fonction de réelle problématique identifié.
« Mon but est que cette base dépasse sa fonction première de simple projet scolaire »
A la suite du rapport je vais tenter d’apporter les meilleurs explications quand aux choix
effectués pour construire la base en mettant en évidence les étapes clés de réalisation.
3
1. M OD E L I S A T I O N D E L A B A S E
A. INTRODUCTION
Avant d’entreprendre tout travail sur le logiciel Access, il est primordial de définir le cahier des
charges régissant les fonctionnalités de la base avant de la conceptualiser. En effet ceci permettra
d’éviter de perdre du temps à chercher les fonctions désirées, mais aussi car à un certains niveau
d’avancement il sera très difficile de revenir en arrière sans tout modifier/supprimer sur Access,
je pense notamment au format des différents champs de tables.
Compte tenu que le besoin pour la gestion d’un camping est relativement complexe, j’ai
volontairement axé le travail sur des fonctions essentielles de la base.
Besoins à assurer :
Gérer les -Vérifier client existant -Pour vérifier que le client existe avant
réservations clients réservation
Gérer les types -Ajouter Type Emplacement -Pour ajouter un nouveau type
d’emplacements d’emplacement/hébergement, ex :
Tente aménagée, Bungalow
Gérer les clients -Voir info client -Pour visualiser la liste client et les
informations rattachées
4
Gérer les - Liste fournisseurs -Pour visualiser la liste fournisseurs
fournisseurs
-Ajouter fournisseur -Pour ajouter un nouveau fournisseur
Je souhaite donc à partir de la base de données pouvoir ajouter un client à la liste client, consulter
cette même liste.
Voir la liste des emplacements du camping et leur type (bungalow, emplacement nu, etc…)
Pouvoir lors d’une réservation, contrôler que le client existe bien, et si oui, vérifier que le type
d’emplacement est disponible aux dates choisies.
C. SCHEMA CONCEPTUEL
Je vais maintenant matérialiser les entités qui correspondront vraisemblablement aux tables sur
Access en fonction des éléments vue ci-dessus.
Reservation
Client
N° de Client Les Clients : Cette table comportera toutes les informations liées aux
N° Passeport/CI clients du camping. Ceci dans l’optique de récupérer les numéros de
Civilité téléphone, les adresses mail, voir les adresses afin de faire du mailing à
Nom des fins marketing à plus long terme. De la même manière que pour le
Prénom numéro de réservation, il y a il y a un identifiant unique par client.
E-mail
Téléphone
Adresse
Code postal
Ville
Pays
Immatriculation du véhicule
5
Les pays : La question du bien fondé de cette table s’est posée à
Pays plusieurs reprises, mais il est apparu que sa présence présentera des
opportunités si l’application est compléter avec de nouvelles fonctions.
Identifiant Pays Ceci étant cette table permet de générer la liste des pays lors de la
Nom du pays
création d’un fournisseur ou d’un client. Dans l’esprit, il y sera stocké
tous les pays du monde
Emplacement
Type Emplacement
Fournisseur
Les fournisseurs : Contient la liste de tous les fournisseurs ainsi
N°Fournisseur
que leurs coordonnées et le types de fourniture (similaire à la table
Nom
Adresse Client)
Téléphone
Ville
Pays
Type fourniture
Info complémentaire
Service/Option
Les Services : Contient les options auxquelles le client peut souscrire
N°Service/option durant son séjour
Nom du service
Détails
Prix
6
Facture
N°Facture
Les factures : En fait la table facture est en quelque sorte le transfert
N°Réservation de la réservation vers la facture. Elle servira d’archive pour le camping, et
servira de base pour la facture client.
Type Emplacement
Code du Type emplacement
Type d'emplacement
Emplacement Tarif
N° d'Emplacement
Type Emplacement
Info complémentaire
Client
Reservation N° de Client
N° Passeport/CI
N° de Réservation Civilité
N° d'Emplacement Nom
N° de Client Prénom
Date du début séjour E-mail
Date de fin séjour Téléphone
N° de Service/option souscrit Adresse
Code postal
Ville
Service/Option Pays Pays
N°Service/option Immatriculation du véhicule
Nom du service Identifiant Pays
Détails Nom du pays
Prix
Facture Fournisseur
N°Facture N°Fournisseur
N°Réservation Nom
Adresse
Téléphone
Ville
Pays
Type fourniture
Info complémentaire
Pas dévelloppé
A chaque table on définira par la suite une clé primaire qui permettra d’identifier chaque
entité. Par exemple pour la table Client, on prendra N° de Client que l’on nommera par
convention ID_Client. Cet ID_Client est un élément unique à la table, alors que tous les autres
champs de la table peuvent eux être redondant.
7
2. M OD E L I S A T I O N S U R A C C E S S
D. LES TABLES
Nous avons donc a priori 8 tables plus ou moins lié entre elles.
Je n’en présenterai que 3 pour l’instant, les autres suivant le même principe.
1) La table Réservation
2) La table Client
3) la table Emplacement
8
E. LES RELATIONS
Nous avons ici donc huit tables et six relations. Une relation est le lien reliant une table
MERE à une table FILLE, ce qui implique que les enregistrements Père de la table Mère seront
plus ou moins liés aux enregistrement Fils de la Table FILLE. Ces liaisons, ou plutôt ces relations
sont générées via cette boite de dialogue.
La création des relations engendre que des attributs soient dédiés aux tables.
La première relation, précise que l’ « ID_Reservation » devient l’attribut de la table Facture.
On peut remarqué sur l’image des relations du projet, que le sens de la relation « T_Reservation »
et « T_Facture » est différent des autres relations en effet on pourrait dire par simplicité, que la
table facture extrait des données de la table « T_Reservation », mais non l’inverse. Ceci se vérifie
avec toutes les autres relations.
Par exemple la table « T_Emplacement » se sert des données de la table
« T_TypeEmplacement » pour ses enregistrements, qui elle-même sera utilisé par la table
« T_Reservation ».
Un fois les relations terminées on peut se charger de créer les requêtes ou alors des
formulaire, ou encore les deux simultanément. Pour ma part, j’ai exécuté certaines des fonctions
via macro et non pas avec des requêtes et j’ai commencé le travail de création de formulaires en
même temps que les requêtes.
9
F. LES REQUETES
J’ai créé un certain nombre de requêtes plus ou moins complexes qui permettent de générer
une simple liste ou qui peuvent permettre de comparer des valeurs. Par exemple sur la base
rendue il y a une requête qui permet d’afficher tous les enregistrements entre les deux dates,
malheureusement je n’ai pas réussi à lui faire vérifier les enregistrements entre deux dates pour un
type d’hébergement parmi tous les emplacements disponibles.
Exemple de requête :
Comme dit précédemment, j’ai réussi à réaliser des fonction obtenus directement en code
vba, comme sur n’importe quel logiciel de la suite Microsoft Office, nous avons accès à Visual
Basic avec lequel on peut coder en VBA.
J’ai utilisé cette solution à la place des champs de type « numerauto » avec lequel je
rencontrais des problèmes d’affichage.
10
Voici le code :
Seulement ce code ne fonctionne pas sans créer une nouvelle fonction que l’on place dans un
module sous VBA
Bien évidemment je n’ai pas créer ce code, mais je m’en suis inspiré pour créer une nouvelle
trame que j’ai adapté à mon utilisation à savoir récupérer les caractères de plusieurs champs pour
en générer un nième.
11
G. LES FORMULAIRES
La première qui est la plus courante est d’avoir un affichage agréable des données ou des champs
à remplir.
La deuxième consiste via les boutons de contrôle formulaire, d’ajouter un code VBA
« [Procédure événementielle] ».
- Macro
Sur cet exemple de formulaire, les champs nom et prénom sont contrôlés par le bouton vérifier
(via un code vba) qui contrôle que le client existe bien avant toute réservation.
Le bouton « vérifier la disponibilité » lance une procédure qui compare les champs début-fin
séjour et type emplacement pour ensuite attribuer si il y a une disponibilité un numéro
d’emplacement.
Avec tous les essais que j’ai mené, j’ai trouvé que pour arriver à un même résultat il y avait
plusieurs moyens, sans parler du langage SQL avec lequel ont peut aussi programmer sous
Access.
12
3. C ON C L U S I O N
D’un point de vue général je pense avoir bien cerné mon sujet et les problématiques que cela
soulevait, mais je suis déçu des résultats obtenus d’autant que j’aurais voulu que l’application soit
viable afin d’être complété pour une utilisation pratique. Pour rappel je souhaitais utiliser ce
projet de base de données pour un projet familial de création de camping écologique au Maroc.
Peut-être que le projet était surestimé, mais la logique d’Access ne m’est pas apparu des plus
évidente. J’ai presque préféré passer par le codage sous VB, et même s’il y a un lexique important
à connaître la logique à suivre est beaucoup plus évidente..
Ceci étant je pense avoir parcourus un certain nombre des possibilités qu’offre Access, et la vue
de ce logiciel ne m’est plus étrangère. Je suis capable maintenant de comprendre la construction
d’une base, que ce soit les requêtes, les états, les formulaires, les tables ou leurs liaisons.
13