![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Conception Le forum qui vous aide à résoudre vos questions relatives à la modélisation de votre base de données sous Access. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité régulier
![]() Date d'inscription: septembre 2006
Messages: 12
|
Bonjour tout le monde,
Voila ma sœur tiens un restaurant, et elle utilise actuellement une feuille excel gérer ses commandes clients. C'est un peu la galère car la feuille est mal conçue et moi perso je voudrais lui faire une BDD sous Access 2003 mais je manque de notions et de pratique. Voici donc mes besoins. Lorsque le serveur va prendre la commande d'un clients il note tout sur son calepin, il vient ensuite sur l'ordinateur ou un formulaire Access est ouvert avec plusieurs onglets (un pour chaque table en salle, véranda et terrasse). Il clique donc sur l'onglet S1 pour la table 1 en salle. Dans la fenêtre qui apparait il y a plusieurs champs qui apparaissent : - Un N° de commande unique - La date du jour qui s'est mise automatiquement - Le Nombre de couverts à cette Table (champs qui servira à calculer le nombre de couvert servi pour une journée) - Plusieurs zone de liste déroulante dans laquelle il pourra sélectionner les plats choisi par les clients, à droite de chaque Zone de liste déroulante se trouvera un champs dans lequel aparraitra automatiquement le prix de l'article sélectionné, à droite du prix de vente il y aura un champs dans lequel le serveur devra saisir une quantité, et encore à droite il y aura un dernier champs dans lequel apparaitra le total (Prix de vente de l'article x Qté). - Le serveur doit bien entendu pourvoir mettre à jour la fiche si le client souhaite reprendre une bouteille de Badoit en plus, - Un dernier champ indiquera en temps réel le Total global de la commande client. J'ai déjà pour ma part crée la Table article avec les champs suivants : - id_article (Numérotation automatique / Clé Primaire) - nom (Texte) - type (Texte) [Entrée, Menu, Digestifs,...] - pa (Texte) [Prix d'achat pour plus tard] - pv (Texte) [Prix de vente]] - pr (Texte) [Prix de revient pour plus tard] - description (Mémo) - info (Mémo) Maintenant il me reste à créer une table pour stocker les informations de chaque commande mais la je sèche, Qui pourrait m'aider SVP ? Par avance je vous remercie |
|
|
|
|
|
#2 (permalink) |
|
Expert Confirmé Sénior
![]() Date d'inscription: octobre 2005
Messages: 2 545
|
Suggestion 1 : il existe sur le marché des logiciels dédiés aux restaurants, les as-tu regarder cela pourrait prendre moins de temps à faire.
Sinon j'ajouterai les tables suivantes : Table des Serveurs ou des personnes avec un rôle de serveur. Là cela dépend un peu de ta philosophie. La patronne est-elle une serveuses si elle fait le service, est-il nécessaire de distinguer des catégories de personnel (plongeur, garçon de salle, serveur, maître d'hotel, sommelier, etc ...). Table des Tables, qui référence les tables physques du restaurant. Là aussi voir comment on traite le cas où on mets 2 tables côte à côte pour accuiellir un groupe par exemple. Une commande c'est la liaison entre une tables, un client, un produit, une quantité donc cela te prend un table pour cela aussi. Ton système est-il destné à la cuisine ? Si oui, une indication de cuisson, accompagnement, spécificité pour le plat (ex : sans fromage, bien cuit) serait peut-être utile. Je suggère de numéroter les clients sur une table de 1 à n, cela me parait le plus facile à vivre. Table Commande ClefCommande (NumSeq) ClefServeur DateHeure Table DetailCommandes ressemblerai à cela : ClefDetailCommande (numSeq) ClefCommande ClefTable NoSeqDeClient ClefProduit Qté Renseigne toi aussi pour savoir s'il n'y a pas de contrainte fiscale (ex : pas possible de supprimer une commande, numéro de commande sans rupture, etc...) A+
__________________
Merci de ne pas poster pour des pb techniques dans les messages privés. |
|
|
|
|
|
#3 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: novembre 2006
Localisation: Walcourt BELGIQUE
Âge: 63
Messages: 562
|
Bonjour Silverscott,
Ton sujet m'intéresse (Ma fille tient aussi un resto!) J'ai développé une application (Access 2000) dans laquelle - on calcule les prix de revient des recettes - on vérifie si le coefficient (Prix de vente/Prix des matière) est 'normal' - on saisit la quantité de plats vendus par jour (a posteriori) - on gère le stock permanent des principaux ingrédients - on vérifie les prix des fournisseurs - on gère la carte - on gère la confection d'offres pour composition de menus spécifiques (Anniversaires, mariages ...) J'ai aussi un autre application (non intégrée à la précédente) pour les vins. (notre carte est présentée sous 3 formes : par appellation, par millésime pour les bordeaux et par prix. Il n'y a pas actuellement de module pour établir le bon de cuisine, ni la note du client. Nous avions à l'époque considérer que l'encodage en temps réel des commandes était un travail trop fastidieux, avec dans notre cas, peu de valeur ajoutée. Cela demande une bonne dose de connaissance du VBA. |
|
|
|
|
|
#4 (permalink) | |||||
|
Invité régulier
![]() Date d'inscription: septembre 2006
Messages: 12
|
Citation:
Citation:
Citation:
Citation:
Citation:
Pas de contrainte fiscale, on veut pouvoir faire ce qu'on veut (édition, modification, suppression) avec les commandes. |
|||||
|
|
|
|
|
#5 (permalink) |
|
Expert Confirmé Sénior
![]() Date d'inscription: octobre 2005
Messages: 2 545
|
Table Commande
ClefCommande (NumSeq) ClefServeur DateHeure Table DetailCommandes ressemblerai à cela : ClefDetailCommande (numSeq) ClefCommande ClefTable NoSeqDeClient ClefProduit Qté C'est l'architecture classique pour se genre de problème : Tu as une entête de commande qui regroupe les éléments fixes, ceux qui ne doivent être présent qu'une seule fois (ex : date, no de commande) et tu as des détails de commandes qui te donne la liste des produits commandés par le client. Ex : Table Commande : Commande 1, date 2008-06-20 Table détail de commande : ClefDetailCommande (numSeq) ClefCommande = 1 (pour la liaison avec l'entête) ClefTable = S1 NoSeqDeClient = 1 ClefProduit = TourteAuPomme Qté = 1 ClefCommande = 1 (pour la liaison avec l'entête) ClefTable = S1 NoSeqDeClient = 1 ClefProduit = PinardMaison Qté = 1 ClefCommande = 1 (pour la liaison avec l'entête) ClefTable = S1 NoSeqDeClient = 2 ClefProduit = SaladeDuChef Qté = 1 Dans ton cas qui est très simple on pourrait répéter la date dans chaque enregistrement de détail et du coup ne plus avoir besoin de l'entête mais ce n'est pas une pratique recommandée. Et dès que tu vas avoir 2 serveurs, ou un extra pour les périodes de vacances par exemple, tu vas avoir des problèmes. Donc je te recommande fortement la version entete-detail. A+ A+
__________________
Merci de ne pas poster pour des pb techniques dans les messages privés. |
|
|
|
|
|
#6 (permalink) |
|
Invité régulier
![]() Date d'inscription: septembre 2006
Messages: 12
|
ça à l'air tellement simple... mais je comprends rien
Je mets ma BDD ici : http://www.orangerie-de-connelles.fr/tempo si vous pouvez y jeter un oeil |
|
|
|
|
|
#7 (permalink) |
|
Membre Expert
![]() Date d'inscription: octobre 2007
Localisation: Dunières 43220
Âge: 48
Messages: 1 052
|
hello Bienvenue SilverScott
je viens de regarder ta base: - attention à tes noms de table, tu vas avoir de gros problèmes si tu dois passer par (ne serais ce qu'un petitpeu) VB (la programmation) - je te conseille soit Articles soit T_Articles - ensuite il me semble que la table "tables" ne sert à rien, en effet S01 est une aussi bonne clef que 1 et en plus j'aime pas les numéros auto (je ne m'en sert qu'en dernier recours) A moins que dans cette table, tu ne stocke d'autres renseignements, ce qui alors la justifie pleinement. - ensuite, à moins que les invités changent de table à chaque plat, le numéro de table a bien sa place dans l'en tête (@marot_r: tu as écrit "ClefTable = S1" à chaque détail) - de plus, il me semble qu'il peut être interressant de noter le nom (et l'adresse?) des clients pour plusieurs raisons: . . - analyser leurs préférences . . - leur envoyer des voeux . . - leur faire des factures personnalisée (indispensable pour repas d'affaire des entreprises) - et dans ce cas, le numéro client se retrouve dans l'entête - enfin, si tu met le type en clair dans la table des articles, il n'est pas nécessaire de numéroter la table type, à l'inverse, il vaudrait mieux ne stocker que le numéro de type dans la table articles Pour faire les formulaires de remlissage de ces tables tout autant que pour les formulaires d'exploitation, il faut bien analyser la méthodr de travail actuelle, ses qualités, ses défauts et ensuite reproduire au plus près le fonctionnement désiré. Pour moi, soit je choisi le plat et je l'affecte à une table soit j'ai la table sous les yeux et je cherche les plats dans la liste. Sachant que le choix de la table peut être pseudographique, la première solution devient pas si con que ça, en effet, si je donne le même plat à plusieurs tables, avec une sélection de la table qui est plus rapide que la sélection du plat, je vais gagner du temps, mais bon, je m'aventure...! (je voulias juste attirer l'attention sur les solutions trop vite rejetées...?) Courage, a bientôt
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
|
|
|
#8 (permalink) |
|
Expert Confirmé Sénior
![]() Date d'inscription: octobre 2005
Messages: 2 545
|
Simplfi, j'identifie un client par un numéro de table et numéro séquentiel dans la table donc c'est pour cela que je répéte le code table. Cela permet aussi simplement de gérer les commandes qui comportent plusieurs tables.
Silverscott, pour ce qui est de l'architecture, je ne sais comment te l'expliquer plus simplement. Dans une BD, on fait toujours très attention de ne pas dupliquer de l'information. Donc dès qu'on peut on regroupe dans une table les infos redondante et on s'y réfère. Ceci justifie la structure 1 entête + n détails que je t'ai suggérée. Je pense qu'il y a un tutorial sur ce site sur la création de BD. Je t'invite à le lire avant d'investir plus de temps dans ton appli. A+
__________________
Merci de ne pas poster pour des pb techniques dans les messages privés. |
|
|
|
|
![]() |
![]() |
||
Une BDD pour mon restaurant
|
||
| Outils de la discussion | |
|
|