Location (fin)
location3.zip
Cette page constitue la dernière des pages concernant la location.htm.
On reprend la base de données location2.mdb comme elle était à la fin de la page précédente.
Introduction de la durée de la location dans la table T_location
Champs de début et fin de location dans le formulaire F_location
Disponibilité du véhicule
Récapitulatif du fonctionnement de la base de données
Introduction de la durée de la location dans la table T_location
Dans la table T_location, qui comprend les 3 champs:
- Location (numéro auto désignant la réfférence de la location),
- matricule (provenant de T_employes) ett
- immatriculation (provenant de T_vehicuule)
on rajoute 2 champs au format date, abrégé.
- debut_duree
- fin_duree
Champs de début et fin de location dans le formulaire F_location
Prendre le formulaire F_location en mode création, faire 1 clic droit sur le coin en haut à gauche (au dessus de en-tête de formulaire, et cliquer sur propriétés.

Cliquer sur l'onglet "Données", et copier le champ Source:
SELECT [T_location].[Location], [T_location].[Matricule], [T_location].[Immatriculation], [T_employes].[Nom], [T_employes].[Prenom], [T_employes].[Date_Naissance], [T_employes].[Service], [T_service].[Description], [T_vehicule].[Marque], [T_vehicule].[Modele], [T_vehicule].[Couleur] FROM (T_service INNER JOIN T_employes ON [T_service].[Service]=[T_employes].[Service]) INNER JOIN (T_vehicule INNER JOIN T_location ON [T_vehicule].[Immatriculation]=[T_location].[Immatriculation]) ON [T_employes].[Matricule]=[T_location].[Matricule];
Cela signifie:
SELECT : on sélectionne
[T_location].[Location], : le champ Location provenant de la table T_location
[T_location].[Matricule], : le champ Matricule provenant de la table T_location
[T_location].[Immatriculation], : le champ Immatriculation provenant de la table T_location
[T_employes].[Nom], : le champ Nom provenant de la table T_employes
[T_employes].[Prenom], : le champ Prenom provenant de la table T_employes
[T_employes].[Date_Naissance], : le champ Date_Naissance provenant de la table T_employes
[T_employes].[Service], : le champ Service provenant de la table T_employes
[T_service].[Description], : le champ Description provenant de la table T_service
[T_vehicule].[Marque], : le champ Marque provenant de la table T_vehicule
[T_vehicule].[Modele], : le champ Modele provenant de la table T_vehicule
[T_vehicule].[Couleur] : le champ Couleur provenant de la table T_vehicule
FROM
(T_service INNER JOIN T_employes ON : la table T_service est liée à la table T_employes
[T_service].[Service]=[T_employes].[Service]) : le champ Service de T_service correspond au champ service de T_employes
INNER JOIN
(T_vehicule INNER JOIN T_location ON : la table T_vehicule est liée à la table T_location
[T_vehicule].[Immatriculation]=[T_location].[Immatriculation])
ON
[T_employes].[Matricule]=[T_location].[Matricule];
On rajoute les champs debut_duree et fin_duree
SELECT : on sélectionne
[T_location].[Location], : le champ Location provenant de la table T_location
[T_location].[Matricule], : le champ Matricule provenant de la table T_location
[T_location].[Immatriculation], : le champ Immatriculation provenant de la table T_location
[T_location].[debut_duree],
[T_location].[fin_duree],
[T_employes].[Nom], : le champ Nom provenant de la table T_employes
[T_employes].[Prenom], : le champ Prenom provenant de la table T_employes
[T_employes].[Date_Naissance], : le champ Date_Naissance provenant de la table T_employes
[T_employes].[Service], : le champ Service provenant de la table T_employes
[T_service].[Description], : le champ Description provenant de la table T_service
[T_vehicule].[Marque], : le champ Marque provenant de la table T_vehicule
[T_vehicule].[Modele], : le champ Modele provenant de la table T_vehicule
[T_vehicule].[Couleur] : le champ Couleur provenant de la table T_vehicule
FROM
(T_service INNER JOIN T_employes ON : la table T_service est liée à la table T_employes
[T_service].[Service]=[T_employes].[Service]) : le champ Service de T_service correspond au champ service de T_employes
INNER JOIN
(T_vehicule INNER JOIN T_location ON : la table T_vehicule est liée à la table T_location
[T_vehicule].[Immatriculation]=[T_location].[Immatriculation])
ON
[T_employes].[Matricule]=[T_location].[Matricule];
Cela donne:
SELECT [T_location].[Location], [T_location].[Matricule], [T_location].[Immatriculation], [T_location].[debut_duree], [T_location].[fin_duree], [T_employes].[Nom], [T_employes].[Prenom], [T_employes].[Date_Naissance], [T_employes].[Service], [T_service].[Description], [T_vehicule].[Marque], [T_vehicule].[Modele], [T_vehicule].[Couleur] FROM (T_service INNER JOIN T_employes ON [T_service].[Service]=[T_employes].[Service]) INNER JOIN (T_vehicule INNER JOIN T_location ON [T_vehicule].[Immatriculation]=[T_location].[Immatriculation]) ON [T_employes].[Matricule]=[T_location].[Matricule];
On copie ce code et on le colle dans l'onglet Données, dans le champ Source (dans les propriétés du formulaire). On peut maintenant ajouter les champs de début et de fin de durée dans le formulaire.

Disponibilité du véhicule
On crée maintenant un formulaire, qui va permettre de voir si un véhicule est déjà réservé aux dates choisies pour la location.
Formulaire, mode création, insertion d'une liste modifiable basée sur T_vehicule, sélectionner le champ immatriculation. Nommer la liste modifiable Immatriculation". Enregistrer le formulaire sous le nom F_dispo_auto. Insérer deux zones de texte pour les champs debut_duree et fin_duree de la table T_location, et nommer les champs. Laisser le formulaire ouvert.
On crée un nouvelle requête R_dispo_auto basée sur T_location.
En mode création, on clique droit dans la zone critères du champ Immatriculation, Créer, et on insère la valeur du formulaire ouvert.
Formulaires![F_dispo_auto]![Immatriculation]
De cette façon, on a toutes les locations ayant réservé le véhicule dont on a sélectionné l'immatriculation dans le formulaire F_dispo_auto.

On a les cas suivants:
A: le véhicule est disponible pour la durée de location souhaitée - ok
B: le véhicule est réservé avant et pendant la durée de location souhaitée - à chercher
C: le véhicule est réservé avant, pendant et après la durée de location souhaitée - à chercher
D: le véhicule est réservé pendant la durée de location souhaitée - à chercher
E: le véhicule est réservé pendant et après la durée de location souhaitée - à chercher
F: le véhicule est disponible pour la durée de location souhaitée - ok
Dans la requête, on va indiquer qu'on veut afficher les locations si le véhicule choisi est déjà réservé :
- soit la location commence avant la datte de début, et finit après la date de début (B, C)
- soit la location commence après la datte de début, et finit avant la date de fin (D)
- soit la location commence avant la datte de fin, et finit après la date de fin (E)

On trie les champs debut_duree et fin_duree par ordre croissant, on ferme la requête et on revient sur le formulaire qu'on a laissé ouvert. On insère un bouton qui permet d'exécuter la requête R_dispo_auto.

On ferme ce formulaire. F_dispo_auto.
Sur le formulaire F_auto_choisie et F_auto_choisie2, on place un bouton de commande pour ouvrir le formulaire F_dispo_auto
Récapitulatif du fonctionnement de la base de données
A l'ouverture, le formulaire F_location permet de:
- créer une nouvelle location (bouton noouveau)
- choisir le clieent à partir de sa référence client
- choisir le véhicuule de location
- indiquer la durée de la location (débuut et fin de location)

Choisir le client à partir de sa référence client
Une fois qu'on crée une nouvelle location, la liste déroulante "référence client" permet de sélectionner la personne qui effectue la location. Si le client n'est pas encore référencé (si il s'agit d'un nouveau client), on clique sur le bouton "Gestion client".

Le bouton "Gestion client" fait apparaître le formulaire F_client. On a la possibilité de modifier les informations concernant les clients déjà inscrits, ou alors d'en inscrire de nouveaux.

Une fois que la référence client est choisie dans la liste déroulante, les informations concernant le client s'affichent automatiquement dans la zone client, à gauche.

Choisir le véhicule
On clique sur le bouton "Choisir le véhicule".

On obtient le formulaire F_choix_auto. On peut indiquer la marque du véhicule, le modèle et la couleur choisie. On peut faire une recherche avec tous les critères, ou certains critères seulement.

En cliquant sur le bouton "Recherche..." on obtient la liste des véhicules correspondant aux critères souhaités, c'est le formulaire F_auto_choisie, et F_auto_choisie2.

En cliquant sur le bouton "Vérifier si le véhicule est disponible", on obtient le formulaire F_dispo_auto. Dans ce formulaire, on indique l'immatriculation du véhicule choisi, ainsi que les dates auxquelles on souhaite le louer.

En cliquant sur le bouton "Vérifier si le véhicule est déjà réservé", on affiche la requête R_dispo_auto. Si le véhicule est déjà réservé aux dates souhaitées, on voit les locations correspondantes.
Enfin, si on vuet voir l'historique d'un véhicule ou d'un client, on clique sur le bouton "Historique Client et Auto".
Retour
MAJ 13.08.2003