Voir le flux RSS

User

Afficher la disponibilité du matériel de location dans une liste de choix

Noter ce billet
par , 18/09/2020 à 23h27 (1202 Affichages)
Objectif : afficher la disponibilité du matériel de location avant de le choisir dans une liste déroulante.

Après avoir saisi dans un formulaire les dates de début et de fin de la location, on souhaiterait savoir quel matériel est disponible en magasin durant cette période.

Pour cela, on va l'indiquer dans la liste de choix du matériel. On réduira ainsi les risques d'erreurs de saisie.


I. Tables nécessaires


I-A. T_Materiel

Table permettant d'enregistrer les informations concernant le matériel.

Nom du champ Type de données Description
IdMateriel NuméroAuto Identifiant du matériel
RefMateriel Texte Référence du matériel
DesignationMateriel Texte Désignation du matériel
PrixHT Monétaire Prix hors taxe
... ... ...


I-B. T_Location

Table permettant d'enregistrer les informations relatives à la location, comme la période d'emprunt de l'article ou l'identifiant du client.

Nom du champ Type de données Description
IdLocation NuméroAuto Identifiant de la location
DateDemande Date/Heure Date de la demande du client
IdClient Entier long Identifiant du client
DateDebut Date/Heure Date de début de la location
DateFin Date/Heure Date de fin de la location
... ... ...


I-C. T_Detail_Location

Les données concernant le détail de la location, comme la liste des matériels empruntés et leur prix, sont enregistrées dans une table supplémentaire.

Nom du champ Type de données Description
IdDetailLocation NuméroAuto Identifiant du détail de la location
IdLocation Entier long Clé étrangère liée au champ IdLocation de la table T_Location
IdMateriel Entier long Clé étrangère liée au champ IdMateriel de la table T_Materiel
... ... ...


II. Requêtes nécessaires


II-A. R_Materiel_Loue

Commençons par décrire la requête permettant de sélectionner le matériel non disponible durant la période saisie dans le formulaire.

Elle est basée sur les tables T_Location et T_Detail_Location, reliées entre elles par les champs IdLocation. Elle sélectionne uniquement le matériel dont la période de location est comprise entre les dates de début et de fin saisies dans le formulaire.

Nom : r_materiel_loue.png
Affichages : 101
Taille : 18,3 Ko

Paramètres de la requête permettant de filtrer les données sur une période donnée

Paramètre Type de données Description
Forms!F_Location!DateDebut Date/Heure Zone de texte située sur le formulaire F_Location liée au champ DateDebut de la table T_Location
Forms!F_Location!DateFin Date/Heure Zone de texte située sur le formulaire F_Location liée au champ DateFin de la table T_Location

Expressions conditionnelles

Expression Colonne Description
<=nz(Forms!F_Location!DateFin;#01-01-3000#) DateDebut nz renvoie une date très lointaine si le paramètre est à null. Cela revient donc à ne pas mettre de condition.
>=nz(Forms!F_Location!DateDebut;#01-01-1000#) DateFin nz renvoie une date très ancienne si le paramètre est à null. Cela revient donc à ne pas mettre de condition.


II-B. R_Materiel

Décrivons maintenant la requête permettant d'afficher la disponibilité du matériel durant la période choisie sur le formulaire.

Elle comporte une jointure gauche entre la table T_Materiel et la requête R_Materiel_Loue, et affiche une croix en face de chaque matériel loué.

Nom : r_materiel.png
Affichages : 96
Taille : 17,1 Ko

Le champ calculé permettant d'afficher une croix en face de chaque matériel loué :

Loué: VraiFaux(EstNull([R_Materiel_Loue].[idMateriel]);"";"X")

Si la valeur de la colonne idMateriel, du côté de la table T_Materiel, n'est pas présente dans la requête R_Materiel_Loue, le champ idMateriel de cette requête est à null, et dans ce cas on affiche une chaîne vide, sinon, on affiche une croix.


III. Liste de choix du matériel

La liste de choix cmbMateriel située dans le sous-formulaire affiche les disponibilités du matériel pour la période choisie sur le formulaire.

Nom : liste_choix_materiel.png
Affichages : 101
Taille : 187,9 Ko


Propriétés principales de la liste déroulante :


Propriété Valeur Description
Source contrôle IdMaterie Champ de la table T_Detail_Location lié à la liste déroulante
Contenu R_Materiel Requête alimentant la liste
Nbre colonnes 4 Nombre de colonnes pris en compte dans la liste
Colonne liée 1 Indice de la colonne liée au champ source de la liste
Largeurs colonnes 0cm;3cm;10cm;2cm Largeurs des colonnes, la 1re colonne étant masquée
Vaide si [cmbMateriel].[Column](3)="" La saisie est acceptée si le matériel choisi n'est pas marqué d'une croix.
Message si erreur Matériel indisponible ! Si le matériel choisi est marqué d'une croix on affiche "Matériel indisponible !".

La 1re colonne étant masquée, on est contraint pour ne pas effacer l'information concernant la référence de l'article choisi, d'afficher tous les matériels dans la liste.


On prévoira également de rafraîchir cette liste de choix après la mise à jour des dates de début et de fin de la location, mais aussi sur activation d'un enregistrement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Private Sub Form_Current()
    Me.SF_Detail_Location.Form!cmbMateriel.Requery
End Sub
IV. Conclusion

Ce type de liste est donc relativement facile à réaliser et offre en plus une indication importante à l'utilisateur. A noter que suivant le même principe on aurait pu aussi afficher la disponibilité de chambres d'hôtel ou de voitures de location.

Envoyer le billet « Afficher la disponibilité du matériel de location dans une liste de choix » dans le blog Viadeo Envoyer le billet « Afficher la disponibilité du matériel de location dans une liste de choix » dans le blog Twitter Envoyer le billet « Afficher la disponibilité du matériel de location dans une liste de choix » dans le blog Google Envoyer le billet « Afficher la disponibilité du matériel de location dans une liste de choix » dans le blog Facebook Envoyer le billet « Afficher la disponibilité du matériel de location dans une liste de choix » dans le blog Digg Envoyer le billet « Afficher la disponibilité du matériel de location dans une liste de choix » dans le blog Delicious Envoyer le billet « Afficher la disponibilité du matériel de location dans une liste de choix » dans le blog MySpace Envoyer le billet « Afficher la disponibilité du matériel de location dans une liste de choix » dans le blog Yahoo

Mis à jour 01/10/2020 à 15h26 par User

Catégories
Access

Commentaires