Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/10/2007, 11h53   #1
Membre du Club
 
Inscription : juillet 2005
Messages : 275
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 275
Points : 58
Points : 58
Par défaut Gestion d'une cantine

Bonjour,

J’aimerai votre avis sur un point de conception. Je dois gérer la restauration (alimentation) des enfants inscrits à des périodes de vacances. Les données relatives aux inscriptions des enfants se trouvent déjà dans une table. Je réfléchis à comment organiser la table alimentation, le formulaire et l’état relatifs à l’alimentation.
Mon souci concerne la gestion de la cantine. Avant, tout était définis à l’avance : nombre de jours de cantine, dates de vacances, prix fixes… Donc tout statique : formulaire avec cases à cocher, état faisant la somme des valeurs des cases à cocher pour faire les factures...
Par contre, maintenant, je dois pouvoir faire cette gestion selon un nombre de jours indéterminés, avec plusieurs types de repas et sortir le tout par enfant inscrit pour la facturation.

Pour des raisons de développement ultérieur, j’aimerai éviter de créer des objets (cases à cocher) selon le nombre de jours de cantine.

Toutes les idées sont les bienvenues.

Merci par avance
kgb1917 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2007, 14h31   #2
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Peux-tu donner d'autres infos sur les champs, ou même sur les autres tables?
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2007, 16h06   #3
Membre du Club
 
Inscription : juillet 2005
Messages : 275
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 275
Points : 58
Points : 58
Bonjour,

Concernant la table existante, rien que du normal :
IdEnfant (NumAuto), Nom, Prenom (Texte), Age (Numérique),…

Je pensais pouvoir relier la table Alimentation et la table Enfant sur IdEnfant ou une clé étrangère à définir (IdAlimentation en numérique par ex).

Où je réfléchis le plus est la manière dont je vais pouvoir rentrer les données. Autrement dit comment je vais pouvoir définir X types de repas (indifférent, kacher, halal, végétarien, diététique… par ex) selon une période non-connue d’avance. C'est-à-dire qu’il faut que je me donne la possibilité de définir le nombre de jours de cantine allant du … au … .
Et que le tout soit réutilisable pour facturation par enfant sur un état… sans utiliser CreatObject pour les cases à cocher.

Sur le formulaire que j’utilisais jusqu’à présent, j’avais une zone de liste déroulante où j’avais le nom des enfants et des cases à cocher relatives aux repas pris ou non sur une période déterminée (2 jours pour le week end, c’était facile).
Je ne peux plus faire comme ça puisque la durée de prise en charge est maintenant indéterminée (je dois rentrer des dates) et que l’on veut pouvoir prendre en compter les contraintes et convictions religieuses (donc plusieurs types d’alimentation).
Sans oublier la facturation…

J’espère être plus clair.

Merci par avance.
kgb1917 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 11h24   #4
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Bonjour,
D'abord, avant de proposer ma solution, je pense que pour plus de clarté dans ton explication, il serait mieux d'aborder tes difficultés point par point. ça permettrait de les resoudre aussi point par point.
Bon voilà!
Si je t'ai bien compris, ton problème se trouve au niveau des données dynamiques.
* Pour le problème de la période, vu qu'une période est definie par une date de début et une date de fin, tu fais deux champs dans ta table pour Date_Debut et Date_Fin, ça permettrait alors d'entrer pour chaque enregistrement (enfant) la période à laquelle il a consommé.
*Pour la réalisation de la facture, tu fais une requête pour compter le nombre de jours pendant lesquels l'enfant a mangé. La requête va compter DiffDate(Date_Debut,Date_Fin), où si tu n'y arrive pas, tu peux faire un petit code VBA pour faire le comptage.
*La gestion des differents plats est ibidem

Merci et courage!
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 13h17   #5
Membre du Club
 
Inscription : juillet 2005
Messages : 275
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 275
Points : 58
Points : 58
Bonjour,

Merci de te pencher sur mon pb.

Pour les 2 points que tu as évoqué, pas de pbs, j’y avais déjà pensé. Pour l’instant, j’en suis là (j’ai bloqué le nombre de types de repas à 5 sinon on ne va jamais s’en sortir) :
- Une table Enfant (IDEnfant, Nom, Prenom,…)
- Une table Vacances (IDVacances, NomVacances, DateDebut, DateFin)
- Une table Cantine (IDEnfant, IDVacances, chk1, chk2, chk3)

Est-t-il possible de créer sur un formulaire, un sous formulaire en mode continu (ne soyez pas trop critique, ce sont des idées en vrac) qui reprendrait la valeur renvoyée par DateDiff (je ne vois pas où stoker ce type d’info) et afficherait les jours correspondants ?

J’avais pensé à un sous formulaire qui aurait cette forme. C’est un ex avec 1 type de repas :


Jours Matin Midi Soir
Lundi 22 Oct □ □ □
Mardi 23 Oct □ □ □
Mercredi 24 Oct □ □ □
Jeudi 25 Oct □ □ □
Vendredi 26 Oct □ □ □
Samedi 27 Oct □ □ □
Dimanche 28 Oct □ □ □


Merci par avance
kgb1917 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 14h35   #6
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Si je t'ai compris, tu veux afficher ton sous-formulaire que tu as présenté sous cette forme, pour chaque plat désigner dans le formulaire. N'est ce pas?
Cela voudra dire que tu devras créer une table pour les plats qui sera aussi en relation avec Cantine. Et c'est cette table qui sera la source de ton formulaire. D'ailleurs ainsi, le nombre de type de plats peut-être autnt qu'on veut.
Si je t'ai mal compris, selon toi, quelle serait la table du formulaire?
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 14h58   #7
Membre du Club
 
Inscription : juillet 2005
Messages : 275
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 275
Points : 58
Points : 58
Dans l’exemple, le sous formulaire prendrait en compte la valeur renvoyée par DateDiff pour créer une ligne par jour à partir de la date de début jusqu’à la date de fin. La première colonne contiendrait la date du jour correspondant. Ensuite, les cases à cocher correspondraient à 1 type de plat servit à chaque moment de la journée (matin, midi, soir).

L’ensemble se trouve sur un formulaire où il y a une zone de liste déroulante (pour la sélection du nom de l’enfant) et le sous formulaire. Ce formulaire aurait pour source une table (Tbl_Cantine par ex).

2 questions à ce niveau :
-Comment faire pour que soient créer (ou afficher) le nombre de jours dans le sous formulaire selon la valeur renvoyé par DateDiff ? Je ne vois pas du tout comment faire...
-Comment Tbl_Cantine doit être construite pour procéder ainsi ?

Ce n’est qu’une hypothèse pour parvenir au résultat. Toute les suggestions sont les bienvenues.

Merci par avance
kgb1917 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 16h09   #8
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Je comprends ce que tu veux faire. Mais je n'arrive pas à cerner comment tu comptes t'y prendre pour gérer les différents types de plats.
Je crois qu'il serait mieux de d'abord reflechir à tout ça, se faire une bonne idée et ensuite réaliser entièrement le formulaire.
POur l'heure, je voudrais savoir: comment comptes-tu insérer les differents types plats?
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Mes tutos || Mon blog || Développeurs ivoiriens
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 17h38   #9
Membre du Club
 
Inscription : juillet 2005
Messages : 275
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 275
Points : 58
Points : 58
Et bien dans la table, j'ai une série de 3 cases à cocher (matin, midi, soir) par type de plat. Comme je limite le type de plat à 5 (ça devient compliqué au delà avec les fournisseurs), ça me fait 15 cases à cocher par jour contenu dans DateDiff.
Ces cases sont nommées de façon générique, ce qui fait que je peux réutiliser pour la facturation ce que j'avais fait quand le nombre de jours était définis à l'avance.

Merci par avance
kgb1917 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 18h29   #10
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Le nombre de type de plats étant limité à 5, pas besoin de créer une table pour les types de plats à moins que ceux là soient sujets à des modifications régulières.
Il faudra donc revoir la disposition des cases à cocher. Faire sous forme tableaux serait bien.
Reflechissons à un meilleur design avant d'adapter les requêtes, et le reste.
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Mes tutos || Mon blog || Développeurs ivoiriens
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 11h44   #11
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Où es-tu? As-tu trouvé autre chose comme design?
Sinon on fera avec ce qui est là...
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Mes tutos || Mon blog || Développeurs ivoiriens
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 19h10   #12
Membre du Club
 
Inscription : juillet 2005
Messages : 275
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 275
Points : 58
Points : 58
Bonsoir Danjos,

c'est un avis personnel mais il me semble que le design est bien (avec les cases à cocher). Pour le reste...
kgb1917 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 19h54   #13
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Pas de problème! Si c'est toi qui le dis!
Où en es-tu alors? AS-tu progressé?
Plus de difficultés?
Sinon lesquelles?
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Mes tutos || Mon blog || Développeurs ivoiriens
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h51.


 
 
 
 
Partenaires

Hébergement Web