Planifier des menus sur un cycle de quatre semaines avec Access

Reste à faire

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Le cahier des charges

On voudrait un formulaire avec des listes déroulantes qui permettent de composer des menus du lundi au vendredi pour un cycle de quatre semaines.

Le menu journalier comporte :

  • une entrée 
    avec féculent, avec protéines ou une combinaison des deux ;
  • le choix entre trois plats principaux
    deux « poils/plumes » : bœuf, veau, porc, agneau, volaille, œufs…
    un « poisson » ;
  • un féculent ;
  • un légume ;
  • un fromage ou yaourt ;
  • le choix entre deux desserts ;
  • un yaourt ou un fruit ;
  • un bar avec quatre salades.

Pour l'entrée et les plats « poils/plumes », l'utilisateur pourra définir pour chacun des vingt jours, la caractéristique des mets qui figureront dans les listes déroulantes.
Exemple, pour le mardi de la 2e semaine : une entrée avec protéines, le plat1 avec bœuf et le plat2 avec œufs.

Les listes déroulantes ne proposeront que les mets dont tous les ingrédients sont disponibles à cette période de l'année.
Le programme contrôlera pour chaque jour, l'absence de doublon dans les mets sélectionnés.

Image non disponible
Cliquez sur l'image pour l'agrandir

II. Pour exprimer qu'un ingrédient est disponible

Image non disponible

On convient que l'ingrédient est disponible en tout temps si la colonne Disponibilite est vide.

Les numéros des mois pendant lesquels l'ingrédient est disponible sont séparés par un espace.

III. Pour exprimer que tel plat relève de tel type et contient tels ingrédients

Image non disponible
Cliquez sur l'image pour l'agrandir

Le formulaire fPlats (père) contient sfIngredients (fils).

Si la technique des formulaires pères/fils ne vous pas familière, voyez ce tutoriel : Comment classer les données dans des tables liées et construire un formulaire père/fils.

N.B. Les fonctionnalités de ce formulaire sont rudimentaires. Au besoin, on pourrait y ajouter :

- des notions de prix de revient ;

- une photo du plat ;

- la progression de la recette ;

- des filtres pour faciliter la consultation ;

- etc.

Voyez un exemple de réalisation dans ce tutoriel : Outils pour la gestion d'un restaurant.

IV. Pour déterminer qu'un plat est disponible durant tel mois

IV-A. Une 1re requête pour déceler les ingrédients NON disponibles

Image non disponible
Cliquez sur l'image pour l'agrandir

IV-B. Une 2e requête pour en déduire les plats NON disponibles

Image non disponible

IV-C. Et enfin la requête qui ramène les plats disponibles

Image non disponible

V. Un formulaire pour planifier le type (variable) de plat

Dans le menu journalier, l'entrée et les deux plats « poils/plumes » relèvent de plusieurs types :
Entrée : « avec féculent », « avec protéines » ou « avec féculents et protéines » ;
Plat 1 et Plat 2 : « bœuf », « veau »…

Par contre, les autres items n'ont chacun qu'un seul type :
Plat 3 : toujours « Poisson » ; Féculents : toujours « Féculents »…

Le formulaire fParam permet de planifier le type pour chacun des 20 menus du cycle :

Image non disponible
Cliquez sur l'image pour l'agrandir

VI. Le formulaire fPrepaMenu

VI-A. La structure

Image non disponible
Cliquez sur l'image pour l'agrandir

Le formulaire fPrepaMenu est indépendant : il n'a pas de source.

Image non disponible À l'ouverture, la zone de texte txtDateDepart affichera soit ce lundi, soit le lundi le plus récent.

Image non disponible Les deux boutons Image non disponible permettent de reculer ou d'avancer d'un lundi.

Image non disponible Cinq zones de texte NumJouri (i = 1 à 5) contiennent la valeur 1 à 5, correspondant au rang du jour dans une semaine.

Image non disponible Les contrôles CNTRsfMenui (i= 1 à 5) sont des conteneurs de sous-formulaires qui seront chacun fils de fPrepaMenu.
Remarquez que les sous-formulaires ne sont pas encore désignés. Par contre les propriétés Champs fils et Champs pères sont déjà définies.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2018 Claude Leloup. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.