Access- pb de calcul dans un champs

Résolu/Fermé
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 - 15 févr. 2010 à 19:05
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 - 19 févr. 2010 à 18:33
Bonjour,

J'ai une table "T-Plat" avec un champs "N°client" et un champs "N°plat" entre autres.
J'ai créé un champs "nombre de plat" car j'aimerai, lorsqu'un client prend un plat, que son plat soit compter, et afficher ce nombre en même temps que le champs "N°client" en permanence sur mon formulaire.

Or, je ne sais pas comment faire pour incrémenter le champ "nombre de plat" qui est dans ma table.

Quelqu'un peut-il m'aider SVP?

Merci
A voir également:

43 réponses

mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
15 févr. 2010 à 22:17
Il semble que ce que je veux soit un contrôle calculé d'après ce que j'ai lu.
Je n'ai donc pas besoin de créer le champs "nombre de plat" dans la table "T-Plat".

Quelqu'un serait-il me dire, maintenant que c'est plus clair, comment je peux compter le nombre de plat pris par le client SVP ?
Je ne vois pas sur quoi me baser pour compter, puisqu'un "N°client" aura à chaque fois un "N°plat" différent.

Merci à vous.
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
16 févr. 2010 à 10:10
Salut,

dans l'idéal, on fait une requête select count(*) from T_plat inner join ... where ...

Mais maintenant, il faut savoir si tu as des relations entre tes tables, ce sont elles (les relations) qui vont conditionner l'écriture de la requête.

Peux-tu faire une copie écran et mettre le lein sur www.cjoint.com ?
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
16 févr. 2010 à 16:34
Bonjour,

Voici le lien aux tables:
https://www.cjoint.com/?cqqHc7sxBp

Merci de ton aide.
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
16 févr. 2010 à 17:03
Je ne saisis pas l'utilité de la relation 1-1 entre table et plat...

Peux-tu expliquer ce modèle de données ?

Dans la logique, on aurait une table 'plats' avec la liste de tous les plats servis à table. Pour un repas donné, on aurait un client en relation avec la table à laquelle il se rattache et relation de plusieurs à plusieurs entre table et plats (matérialisée par une table supplémentaire).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
16 févr. 2010 à 18:28
Bonjour,

Ca parait un peu confus mais en fait j'essaie plein de configuration différente.
J'ai d'abord essayé de mettre les plats dans la table client et ensuite j'ai créé une table plat pour y mettre les plats.

Mais pour partir sur la même base on efface la dernière table (T-Plat) si c'est mieux.

L'objectif restant de compter les plats.

Merci
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
16 févr. 2010 à 22:25
Non, il faut garder la table des plats. Simplement, elle aura une vie plus longue, puisqu'elle servira d'historique de tous les plats proposés (boeuf sauce piquante, ris de veau morilles...).

Elle sera reliée à la table 'table', avec une relation de n-n, c'est-à-dire qu'il faudra une table intermédiaire entre les deux puisqu'on peut servir un plat à plusieurs tables et qu'une table pourra commander plusieurs plats...
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
17 févr. 2010 à 18:32
Bonsoir,


J'ai quelque peu modifié mes tables et relations:

https://www.cjoint.com/?crssxj40Yy

C'est plus clair maintenant. Dans la table "T-table" il y a ce que le client a choisi "entrée" "plat" ou "dessert" en oui/non
Dans la table "Repas" j'ai mis les doc des "entrée" "plat" et "dessert" en Objet OLE.
Ainsi, à chacune des tables que réserve le client j'aurai le type de repas pris et la doc.

Mais comment savoir le nombre de repas commandé ? sur quoi baser le contrôle calculé je ne vois toujours pas?

Merci
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
18 févr. 2010 à 08:48
Ca ne va pas aller non plus, tu vas te retrouver avec plein de fois la même information OLE dans la table plat et de plus tu auras des soucis si tu veux faire des statistiques plus complètes.

Je peux te proposer autre chose, mais il faut que tu répondes à ces questions :

- un client est-il de passage ou a-t'il un numéro de client 'à vie' ?
- un client s'installe-t'il toujours à la même table ?
- plusieurs client peuvent-ils manger à la même table ? et des plats différents ?
- souhaites-tu conserver l'historique de ce qu'a mangé telle ou telle table (et donc tel ou tel client) ?
- souhaites-tu conserver l'historique de tous les plats que tu as cuisiné et à qui tu les as servi ?
- ton repas sera-t'il toujours composé de entrée-plat-dessert (ou y aura-t'il des extras : apéro, café, digeo...) ?
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
18 févr. 2010 à 10:44
Bonjour,

- un client est-il de passage ou a-t'il un numéro de client 'à vie' ?
il a un n° a vie

- un client s'installe-t'il toujours à la même table ?
Non, c'est pour ça qu'il y a un N°table mais aussi parce qu'il peut réserver plusieurs tables

- plusieurs client peuvent-ils manger à la même table ? et des plats différents ?
Non un client une table.
l'objectif n'est pas de savoir ce qu'il mange, mais uniquement, si le client a prit une entrée, un plat et/ou un dessert.

- souhaites-tu conserver l'historique de ce qu'a mangé telle ou telle table (et donc tel ou tel client) ?
Oui, le fait d'avoir des cases d'options permet de savoir ce qu'il a pris.

- souhaites-tu conserver l'historique de tous les plats que tu as cuisiné et à qui tu les as servi ?
Hors sujet

- ton repas sera-t'il toujours composé de entrée-plat-dessert (ou y aura-t'il des extras : apéro, café, digeo...) ? il y a toujours entrée, plat, dessert. Pas de détail.
C'est comme un questionnaire pour de statistiques ce que je veux, tu vois?! c'est juste connaitre la fréquentation et les préférences. C'est pourquoi, lorsque les choix sont fait, la table T-repas lie des OLE pour des questionnaires sur l'entrée, le plat ou le dessert fait sous excel.

Merci à toi
0
garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 406
18 févr. 2010 à 11:04
tu compte gérer les insert, select et autre via vba ou tu compte utiliser les outils de access ?
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
18 févr. 2010 à 11:05
Donc, le plus simple, c'est ça :

Client(Num_Client,Nom, Prénom,....)
Table(Num_Repas,Num_Table,Num_Client,Date_Repas,Entree,Plat,Dessert)

Avec une relation de 1-n entre Client et Table.

Le Num_table dans la table 'table' sert à identifier physiquement la table, mais si tu n'en a pas besoin, tu peux supprimer (mais ça peut peut-être de permettre de voir que la table 12 est en face du tableau 'plats du jour' et qu'elle en consomme plus que les autres, des plats du jour, prouvant que le tableau fait son boulot...) et entree, plat, dessert sont des champs de type oui/non.

Par contre, je n'ai pas saisi la subtilité OLE avec EXCEL...
0
garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 406
18 févr. 2010 à 11:10
c'est peut etre que la liste des plats dispo seront généré via un autre fichier
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
18 févr. 2010 à 11:16
Paradoxal avec ce que tu as répondu précédemment :
l'objectif n'est pas de savoir ce qu'il mange
0
garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 406
18 févr. 2010 à 11:39
j'ai pas répondu ca ^^ j'ai juste fait une supposition sur l'objet OLE

bon et sinon pour les requètes ca fait ca:
nombre de client ayant pris une entrée, un plat principal et un dessert
select count(*) from t_table where entree="1" and plat="1" and dessert="1"

après pour les variantes du nombre de client qui a pris tel ou tel type de plat tu met un 0 ou un 1

il me semble que sur access les booléen (case a cocher) est un string 0 pour false et 1 pour true, ca reste a tester
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
18 févr. 2010 à 12:57
Non, c'est true et false :
entree = true...
0
garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 406
18 févr. 2010 à 12:59
en vba, j'ai galéré pour trouver parce que true et false m'ouvrai une fenetre type inputbox
0
Palinos Messages postés 3 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 18 février 2010
18 févr. 2010 à 13:05
Bonjour,
Il ne faut pas oublier un champ avec les Dates pour historique, en cas si le même client sur la même table a commandé la même chose .

Je veux bien voir ton Formulaire avec les données que tu veux avoir.
Je pars toujours de création d'un formulaire et description de ces fonctions.
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
18 févr. 2010 à 13:22
Dans table, il y a un champ 'date_repas'...
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
18 févr. 2010 à 16:45
Bonjour,

Que de messages, c'est sympa, merci à vous tous!

Je vais ajouter le champs date-repas à T-Table mais du coup je ne sais pas où je dois mettre le select count. je vais re-regarder ou j'avais vu ça!

A+
Merci
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
18 févr. 2010 à 17:53
J'ai oublié quelque chose dans les réponse aux questions de Blux:

-plusieurs client peuvent-ils manger à la même table ? et des plats différents ?

l'objectif n'est pas de savoir ce qu'il mange, mais uniquement, si le client a prit une entrée, un plat et/ou un dessert. ET COMBIEN DE TABLE IL A RESERVE => c'est en fait cela que je voulais compter.
Cette info est importante aussi, car les places sont limitées à certaines heures.

garion28,

je n'ai pas trouvé où mettre ta formule
select count(*) from t_table where entree="1" and plat="1" and dessert="1"
peux-tu me le dire STP?

Merci
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
18 févr. 2010 à 19:37
Donc avec le modèle que j'ai proposé, ça colle...

Quant à la requête (qu'il faudra modifier pour mettre des true et des false), elle est à rentrer au niveau des requêtes access...
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
18 févr. 2010 à 21:22
Oui ça colle tout a fait.
Mais, excuse moi d'insister, je ne sais toujours pas comment compter les repas et tables réservées.
J'ai constaté que dans mon formulaire T-table, c'est le nombre qui figure dans le bas du formulaire qui m'interesse en tant que nombre de table réservées.

Merci
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
19 févr. 2010 à 08:20
Les repas, c'est quoi : un ensemble entree-plat-dessert ?

Tu veux les compter par client ?
0
garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 406
19 févr. 2010 à 08:35
je trouve que tu te complique la vie pour pas grand chose mod77 :/
tu as juste a faire une table "client" et une table "table", a mettre un booléen pour entrée,plat,dessert dans "table", relier les 2 tables grace a l'identifiant du client
et ensuite tu fait tes requètes d'interrogations
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
19 févr. 2010 à 08:50
C'est exactement ce que j'ai proposé :-)
0
garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 406
19 févr. 2010 à 09:11
je sais, mais je dis ca pour résumé et l'inviter a passer directement aux requètes xD (ca sert a rien de passer 3 heures sur la structures de 2 tables
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
19 févr. 2010 à 11:20
Bonjour,

J'ai fais tout ce que vous avez dit, vous voyez bien que j'ai bien une table "client", une table "table", j'ai la troisième table "repas" car il faut bien que je mette mes questionnaires quelque part .
Si le client ne prend pas d'entrée pourquoi je lui donnerai un questionnaire?

C'est pourquoi ma question de départ était uniquement de savoir comment je dois faire pour compter le nombre de plat mais qui s'avère maintenant de vouloir compter le nombre de table réservé.

Je ne me complique pas la vie, d'autant que je vois ce chiffre apparaitre grâce au bouton de déplacement affiché mais je ne sais pas le faire apparaitre autrement c'est a dire sur mon formulaire sans avoir a afficher ce bouton de déplacement.
J'ai joint mon formulaire peut-être que vous me comprendrez mieux, j'ai entouré ce que je voudrais.
C'est vrai que c'est pas grand chose pourtant.

https://www.cjoint.com/?ctloXnTyBh

Merci à vous
0
blux Messages postés 26859 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 mai 2025 3 340
19 févr. 2010 à 11:24
Tu n'a jamais dit que tu voulais donner des questionnaires...

Tu veux compter le nombre de tables réservées, mais pour qui : le restaurant, un client particulier, pendant une durée, pour un jour donné, qui ont une entree-plat-dessert ?

Et c'est quoi, pour toi, une table 'réservée', car aucune notion de réservation dans aucune table ?
0