IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Etat, Calcul [AC-2010]


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut Etat, Calcul
    Bonjour à tous,

    J'aimerais créer dans une table (ou une requête), un champ qui serait la somme du nombre d'enregistrements selon une condition précise, d'après 2 champs (= le nombre de présents dans la formation xxx). Seulement je ne sais pas comment m'y prendre. Comment je fais pour créer un champ dans une table avec une formule pour calculer le nombre d'entrées selon des critères dans une autre table?

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux(TestLogique;ValeurSiVrai;ValeurSiFaux)
    On peut utiliser cela dans un champ calculé d'une requête, d'un formulaire ou d'un état

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Merci pour ta réponse. Je me rends compte avoir posé cette question ya 6 mois et j'avais complètement zappé et j'en suis navré.

    Mais là dessus j'ai une question bien précise et pratique

    Ce calcul, je ne peux le mettre dans l'état, vu qu'il n'y a qu'une seule ligne pour tous les enregistrements. Et je ne sais pas dans quoi ce serait plus logique de mettre ce champ (car c'est un champ vu que ca va s'afficher dans un état

    Est-il + logique de la mettre dans une table (Table formation où chaque formation a son enregistrement), dans une requête (mais pour faire un champ dans une requête il faut déjà qu'elle existe comme champ d'une table, ou bien comme champ d'un formulaire? Je ne sais pas vraiment où placer le champ de calcul qui va me sortir le résultat qui sera affiché pour chaque formation. Pour chaque formation je dois avoir des nombres selon les inscriptions, le type de public, ... etc et ces informations se trouvent dans les champs (inscriptions = total par formation, présent = total/f avec statut présent, nombre de 0-3 (cette info est dans une case à cocher dans les inscriptions), etc..

    Grâce à toi je sais comment avancer mais je ne sais pas comment avancer (sur quelle route)

  4. #4
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Bonjour Zoliver,


    Ta question ne me semble pas très claire,

    Tu peux bien sur rajouter le champ calculé dans ta requête, en utilisant la fomule que t'a communiquée Rjamin.
    La question que je me pose : est-ce que le résultat de ta requête découle d'une fonction de regroupement ? est-ce que tu souhaites mettre au même niveau le détail de de tes enregistrment et des infos de calcul sur l'ensemble de ta population ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Je suis conscient que ce n'est pas évident alors je vais essayer d'expliquer, par rapport à ce que j'avais mis en place dans Excel

    Dans excel j'avais, entre autre, un onglet avec la liste des formations, et un onglet avec la liste des inscriptions

    Je vous mets ici une capture d'écran sur une formation bien précise.
    Ce dont je suis en train de rechercher comment, et ce qui me fait arracher les cheveux, c'est les valeurs qui se trouvent dans les colonnes allant de 0-3 à Annul

    Ces valeurs diffèrent selon la formation, car dans excel j'ai une formule qui m'affiche le nombre d'inscriptions selon le type de public (0-3 à ATL) et selon le statut de leur inscription (Inscrit, Présent, en liste d'attente, annulé)

    Chaque formation a donc des valeurs différentes, donc je ne vois pas comment faire pour, dans un état, avoir une information différente pour chaque entrée dans la table de formation, ou alors je dois créer dans la table un champ qui calcule ces données

    Si vous avez besoin des formules excel utilisées, je vous les donne volontiers mais je ne pense pas que le problème se situe là.
    Moi ce donc j'ai du mal c'est comment faire en sorte que dans un état je puisse intégrer ces infos, étant donné que dans mon état je n'ai qu'un seul champ par formation selon le type de données que je veux faire et je ne sais vraiment pas comment m'y prendre, où je dois mettre cela, dois-je créer un champ dans une table, etc, je ne sais vraiment pas comment m'y prendre. Avec Excel c'était tellement facile vu que je roule là dessus mais Access c'est nouveau pour moi

    Je vous mets 2 autres images en attach, de l'état en mode création, et de l'état final, pour que vous voyez où je veux en venir
    Images attachées Images attachées    

  6. #6
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Quelle est la structure de la (ou des) table(?)

    Je veux bien regarder d'un peu plus près, mais il me faut un peu plus d'infos.

    A priori, il faut au moins 2 tables :
    - 1 pour le descriptif des formations
    - 1 pour les inscriptions
    - éventuellement 1 pour les lieux de formations.

    A partir de ces données, je serai plus à même de vous conseiller

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Bonjour, désolé pour le retard, j'ai fait des recherches avant


    Voila j'ai fait pas mal de recherches mais en fait cela ne correspond pas à ce que je cherche mais pourtant c'est simple
    Voila dans ma DB j'ai plein de tables-requêtes-... etc mais en fait concernant le problème qui m'occupe cela correspond à 2 tables, la table T_FE_Formation1011 et la table T_FE_Inscription1011

    La première contient les infos sur les formations, la 2ème contient les infos sur les inscriptions pour ces formations

    Je te mets plusieurs captures d'écran comme ca tu vois


    J'ai donc une table Inscription, une table Formation
    Une formation peut biensûr accueillir plusieurs inscriptions, et chaque inscription se fait pour une seule formation à la fois.

    J'ai créé un état avec la liste des formations, avec les infos qui sont présents dans la table
    Mais voilà il manque les infos essentielles, à savoir le nombre d'inscrits (=nombre d'entrées de la table Inscriptions par rapport à chaque formation), nombre de présents/en liste d'attente/annulé (=nombre pour chaque formation selon le statut d'inscription), et le nombre pour chaque type de public (0-3, 3-12, ATL, ce sont des cases à cocher, j'aurais pu faire via une liste déroulante mais j'ai maintenu l'ancien système)

    Il faut savoir qu'avant, j'avais ces infos sur Excel, et qu'on a décidé de passer sur Access. Sur Excel j'avais un onglet pour les formations, un pour les Inscriptions, un pour les Données Perso, etc

    Je ne sais pas si ca peut vous aider mais j'ai les formules pour excel...
    Pour les inscrits j'avais =NB.SI('Ins 10-11'!$H$2:$H$1759;'For 10-11'!$A2)
    A2 étant le numéro de la formation
    Pour les présents: =SOMMEPROD(('Ins 10-11'!$H$2:$H$1759='For 10-11'!$A2)*('Ins 10-11'!$G$2:$G$1759=$I$1))*1
    I1 étant le statut d'inscription repris dans le titre de la colonne
    Et pour le 0-3 3-12-ATL c'était 3 colonnes donc c'était assez simple...
    =SOMMEPROD(('Ins 10-11'!$H$2:$H$1759='For 10-11'!$A2)*('Ins 10-11'!$D$2:$D$1759="X")*1)


    Pour Access je tâtonne à chaque fois. Dès que j'ai trouvé comment faire un truc, je crie "Eurékà", mais là je sèche, étant donné que dans un état en mode création je sais pas comment m'y prendre pour afficher les infos que je veux afficher

    Pour l'instant quand je veux savoir le nombre d'inscrits/présents/... par formation, j'utilise un état que j'ai créé (je ne sais même plus comment j'y fait pour y arriver), mais évidemment ya pas la formule que je veux, vu qu'il ne compte que les enregistrements dans CET état, formule que je ne peux transposer ailleurs. Je vous mets aussi une capture d'écran de cet état

    Je ne sais pas vraiment ce que vous avez besoin d'autre comme info, mais je serais ravi de vous les donner. Avant de poster ce message j'ai fait des recherches, mais ca n'a pas abouti, et je ne sais pas du tout comment m'y prendre, si je peux faire ce calcul directement via un état, ou si je dois créer une requête avec le champ de calcul, ou... et je ne sais même pas le code pour calculer conditionnellement par rapport à 2 champs...

    Et comme je suis pressé par le temps, et qu'après les progrès que j'ai fait ce serait bête que je sois le seul à "décrypter" la base de données, alors qu'elle est censée servir à toute l'équipe

    La capture 6: http://img43.imageshack.us/img43/3419/cap06p.jpg

  8. #8
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Bonjour ZoliveR, J'espère que tu as passé de bonne fêtes.

    J'ai lu attentivement ton post.
    Ta démarche me parait bonne, mais il faut que tu essaye de t'affranchir de la logique d'Excel.
    C'est le piège acec Access2007 (et 2010), qui te permet des manipulations complexes au sein de tables. D'un côté, ça permet aux utilisateurs non familiarisés aux bases de données de faire des manipulations puissantes, mais d'un autre côté, ça masque la logique de fonctionnement propre à ce type d'application.

    Je te propose de revenir aux fondamentaux, si tu le veux bien. Ne te formalise pas si tu as l'impression que je répète ce que tu sais depuis toujours. Mais si tu as bien intégré le principe, alors tout sera plus facile ultérieurement.

    1) les tables
    Elles doivent posséder un caractère d'unicité dans les informations qu'elles contiennent. Les seules informations communes doivent uniquement servir à mettre ces tables en relations. Ces informations doivent être facile à manipuler et peuvent éventuellement être manipulées sans intervention manuelle. Elles sont souvent numériques (identifiant unique) car dépourvues d'aucune signification métier car uniquement techniques.

    2) les requêtes
    Ces sont elles qui sont à la base de toutes les manipulations de données. Elle permettent, non seulement de faire des sélection, mais aussi de créer des données calculées et de faire de calculs sur les agrégation (sommes, dénombrement ...)

    Conclusion
    Tes tables doivent être aussi simple que possible, et accessibles facilement avec des identifiants.
    Une fois que celles-ci seront bien définies, on pourra s'attaquer aux requêtes.

    J'ai créé un état avec la liste des formations, avec les infos qui sont présents dans la table
    Mais voilà il manque les infos essentielles, à savoir le nombre d'inscrits (=nombre d'entrées de la table Inscriptions par rapport à chaque formation), nombre de présents/en liste d'attente/annulé (=nombre pour chaque formation selon le statut d'inscription), et le nombre pour chaque type de public (0-3, 3-12, ATL, ce sont des cases à cocher, j'aurais pu faire via une liste déroulante mais j'ai maintenu l'ancien système)
    C'est typiquement les données que l'on manipule avec les requêtes, car ce sont des informations déduites car calculées

    Voila comme je vois les choses dans un premier temps

    La table Formation :
    Elle me parait bien faite : présence d'un identifiant et inforamtions non redondantes dans les enregistrement. Tu peux la laisser telle quelle.

    La table inscription :
    Celle-ci pourrait être remaniée.
    En fait, tu traites dans la même table 2 fonctions différentes :
    - D'une part le public qui assiste aux formations
    - d'autre part l'inscription aux formations elles-mêmes

    De plus, je ne comprends pas bien la signification du type de public. S'agit-il d'une caractéristique attachée à la formation, ou à la personne qui y assiste ?
    Dans le premier cas, il faut rattacher cette infomation à la table formation. Dans le second, plutôt à la table du public

    Enfin, une question me vient naturellement à l'esprit : est-ce que les personnes peuvent venir à plusieurs formations ?

    La solution que je propose serais d'éclater la tables des inscriptions en 2 (voire 3) :
    Table 1 : le public assistant à la formation
    Il contient les coordonnées de la personne (nom, prénom, adresse ...) et sa fonction (directrice de crèche, infirmière ..)
    On peut aller plus loin, en créant une table des fonctions car ces personnes ont bien un profil commun. De plus, les formations sont destinées à une fonction, et non à une personne.

    Table2 : L'inscription proprement dite
    Elle contient : le code de la formation (clé étrangère) (1ère possibilité si pas d'évolution comme indiqué ci-après)
    Le code de la personne assistant à la formation (clé étrangère)
    La date de la formation

    Evolution souhaitable
    Il me semble que la même formation peut être dispensée à plusieurs endroits et à plusieurs dates. Il faudrait donc créer une table qui recense les mises à disposition de ces formation :
    - identifiant du lieu de dispensiation de la formation (clé unique)
    - identifiant de la formation (clé étrangère)
    - lieu de la formation
    - Date de la formation

    Si cette évolution est prise en compte, il faudra plutôt mettre dans la table 2le code de dispensiation au lieu du code de la formation.

    Voici un premiet jet auquel je te propose de réfléchir. Ensuite, on passera à la conception des requêtes.

    N'hésite pas à revenir vers moi, et bon courage

    Jean-Yves

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Bonjour Jean-Yves
    Merci de ta réponse

    1) Les tables:
    C'est ce que j'essaie de faire, je me suis mis une logique, de mettre des champs externes dans les tables lorsque ce sont des informations que je peux trouver dans d'autres tables (c'est le cas un peu partout)

    J'ai créé la BD et la structure depuis l'année passée déjà, il y a une table pour les formations, une table pour les inscriptions, et une table pour les données perso.
    Comme c'est une BD qui est destinée à accueillir de nouveaux secteurs, et que la notion 0-3 - 3-12 - ATL est seulement pour UN secteur, j'ai réparti aux tables qui me semblaient bonnes. Cette notion peut être multiple pour une même formation (pour faire bref, nous avons comme public des accueillant(e)s dans le 0-3 ans et le 3-12, et idem pour les responsables de projet, mais aussi des Coordinateurs ATL. Et d'autres secteurs utilisent d'autres fonctions (animateurs pour le secteur BACV, permanents/bénévoles/... pour un autre secteur, d'où la fonction qui sera mise dans Données Perso pour tout ce qui est global, et plus précisément dans les Inscriptions, vu que dans le bulletin d'inscription elles peuvent entrer des fonctions plus précises. Et même si ca peut sembler redondant, je préfère ce système vu que ca permet aussi de se rendre compte s'il y a des incohérences (c'est comme de dire que les betteraves sont des fruits...)
    Les fonctions dans Inscriptions sont définissables par listes déroulantes et celles par Données perso sont en format texte, vu qu'il peut y avoir myriades de fonctions.

    2) Requêtes
    Cela veut-il dire que pour chaque table je dois faire une requête, que je dois lier au formulaire, ou bien je peux directement passer de la table au formulaire?
    Donc ca veut dire aussi que pour le calcul je dois utiliser des requêtes. Mais je ne sais pas vraiment comment faire ce calcul que je t'ai expliqué ci dessus. Tu pourrais déjà passer par là, car je suis un peu pressé par le temps et si j'ai la solution assez rapidement je pourrai dire à ma chef "I did it" plutôt que de lui faire part de mes problèmes

    Je ne sais pas concrètement comment faire ce calcul, de savoir compter le nombre d'entrées selon tel ou tel critère dans un champ. je me doute que c'est faisable mais je ne sais pas comment. J'ai un peu farfouillé dans le NWind fourni par Access mais sans trouver la solution.

    3) Conclusion:
    Oui je pense que mes tables sont assez bien constuites, j'ai suivi une formation de quelques jours (pour débutants) sur la logique des BD, avec la structure et tout, avec des exercices concrets sur des situations précises, et j'ai vraiment tout fait pour réduire la redondance au minimum.

    Le public qui assiste aux formations sont stockées dans Données Perso
    Toute personne peut s'inscrire à plusieurs formations, donc on peut trouver 2 inscriptions pour une même personne mais on a une et une seule personne dans la DP.

    Pour ce qui est des dates et des lieux, j'ai une table Salle_Lieux et Salle_Locaux (afin d'éviter la redondance vu qu'il y a plusieurs locaux pour une même salle.

    Je ne sais pas ce que tu as besoin d'autre pour m'aider mais j'aimerais bien que tu passes directement au code, histoire que je teste ca cette semaine et voir si ca marche. Je ne pense pas avoir de problèmes niveau structurel, mais plutôt concernant le code que je dois mettre dans la requête pour qu'elle m'affiche le calcul que je lui ai demandé, car actuellement je suis obligé de faire les calculs à la main d'après une liste des inscriptions de plusieurs pages que j'ai créé, hors ce serait bien que je puisse l'avoir sous forme de tableaux

    Je connais l'équivalent sous Excel mais je ne sais pas comment m'y prendre sous Access pour faire des calculs selon des criitères sur plusieurs champs dans les requêtes.

    Merci à toi (je mets souvent longtemps à progresser sous Access et quand j'y arrive je dis WAW et Eureka, mais là je sèche, et en fait je n'ai pas spécialement besoin d'aide concernant la structure, que je trouve assez bonne, mais concernant les codes.

  10. #10
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Bonjour ZoliveR et bonne année.

    J'ai rapidement regardé ton post. Je te réponds aussi rapidement car tu semble être pris par le temps.

    1) sur les tables
    Comme il me semble que le critère du type de public est primordial pour tes statistiques, il me semblerait pertinent d'externaliser cette donnée dans une table indépendante. Peut-être pas dans l'immédiat, mais peut avoir un impact immédiat dans les caluls.

    2) sur les requêtes.
    Bien sur, les formulaires / états peuvent être basés, soit sur les tables directement, soit sur les requêtes.
    En général, je base mes formulaires sur les tables à partir du moment ou ceux-ci sont utilisés pour faire des ajouts / suppression / mises à jour. Car le problème du verouillage des données peut rapidement apparaitre lorsque on base les formulaires sur des requêtes.
    Dans les autres cas, je préfère baser mes formulaires sur des requêtes, car i les sources des données proviennent de plusiurs tables, la conception du formulaire en sera grandement facilité (on n'a plus besoin de faire de jointure à partir du formulaire).

    3) conclusion,

    La question est de savoir comment tu souhaite présenter tes calculs.

    Souhaites-tu présenter une liste détaillée, avec des calculs récapitulatif en bas de document ? Dans ce cas, les calculs peuvent être effectués dans un formulaire ou un état, et le(s) résultat(s) placés en bas de formulaire/état.

    Si tu souhaites faire des statistiques globales et ne présenter que ces chiffres (ex : le nombres de personnes sur telle formation, répartie par telle cible ...), alors l'utilisation des requêtes me parait plus indiqué.

    Ceci pour t'expliquer que cela peut influer sur le codage.
    La plupart de tes calculs peuvent être directement être effectuées par les requêtes, donc en utilisant les fonctions natives du SQL; c'est à dire directement par les requêtes.

    Si l'on passe à partir des formulaires/états, il y a de fortes chance que l'on doive passer par du codage VBA, ce qui n'évitera pas forcément d'y englober du SQL.
    Personnellement, je préfère utiliser le VBA en dernier recours, et commencer d'abords par le SQL. Là, c'est toi qui fais comme tu le sens.

    Dans l'immédiat, pour répondre à ton besoin, peux tu me communiquer la structure de tes tables ?
    En effet, on peut sortir facilement tes calculs par une requête, mais celle-ci va nécessairement être basée sur des jointures et des fonctions de regroupement.
    Avec ça, tu devrait pouvoir rapidement dire à ta chef "i did it" et tu pourras aussi lui lui annoncer "Yes, we can" à la manière de ...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Merci beaucoup pour ta réponse, et bonne année

    Externaliser le 0-3 3-12 ATL ou la fonction?
    Je te mets d'emblée la structure comme ca tu as un coup d'oeil
    http://img217.imageshack.us/img217/2710/cap07h.jpg

    J'espère que la capture d'écran te convient
    Pour les fonctions c'est une table que j'utilise pour afficher la liste déroulante ^^

    Donc utiliser des formulaires sur des tables quand c'est juste de la modif, et sur les requêtes quand recoupement sur plusieurs tables, quand calcul, quand tri sur un champ, et quand filtre, tout ca me parait logique

    J'ai notamment réussi, précédemment, le tour de force d'avoir un formulaire avec liste déroulante où je sélectionne la formation, et avec des boutons, pour m'afficher un état avec la liste des participants pour la formation sélectionnée, et aussi un état om j'utilise du publipostage. Je n'ai pas encore abordé le publipostage Access > Word alors je fais du tout Access en attendant ^^

    Mais revenons à nos moutons


    3) Pour les calculs, ce serait des calculs dans un tableau (je te remets la capture d'écran en question

    http://www.developpez.net/forums/att...cul/cap04.jpg/

    Le calcul sur les présents se base sur le nombre de "Présent", pour chaque formation, dans le champ Inscription_Statut (idem pour LA: "En liste d'attente" et Annulé: "Annulé")

    Le calcul sur 0-3 ; 3-12 ; ATL correspond au nombre de Vrai (case cochée), pour chaque formation, dans le champ 0_3 ; 3_12 ; et ATL

    Le nombre d'inscrits c'est tout simplement le nombre total d'enregistrements, pour chaque formation, peu importe le statut d'inscription et peu importe le 0_3/3_12/ATL


    Le plus simple donc pour moi c'est que tu me donne déjà le code pour ce dernier, et puis ce sera une base pour moi pour les autres.

    Car sous Access je ne sais pas comment m'y prendre. Sous Excel, chaque ligne pouvait avoir son code, et je pouvais le recopier le code à partir de B2 pour faire avec B3, B4,... etc. Mais sous access il n'y a qu'une seule ligne pour la requête, et un seul champ dans état, donc je soupçonne que le Bx sera l'ID de la formation, qu'il faut aller récupérer dans le champ Formation de la table T_FE_Inscription_1011, mais je ne sais pas comment traduire tout ca. Mais je pressens déjà que je préfère le faire via requête, j'ai déjà vu que je devais faire comme ca NomChamps: Code , mais pour le code je sais pas comment traduire pour le calcul que je demande ^^

    Un tout grand merci pour dénouer le schmilblick! Une fois que j'aurai le code sous les yeux je pourrai dire "WAW", "Eurêka" et avancer


    J'essaie déjà en attendant d'avancer dans ce que je peux
    Avant Office 2010 j'avais créé un menu de démarrage automatique, que j'ai abandonné pour le Volet, que je trouve excellent car avec le volet on peut utiliser des noms différents comme raccourcis (simplification pour tous) et créer des catégories par secteurs

    Créer une base de données, c'est une chose, la perfectionner pour répondre aux besoins, et l'expliquer à tous, c'est une autre chose ^^

  12. #12
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    "Un petit exemple vaut mieux qu'un grand discours"

    Je t'envoie donc un exemple que j'ai fait en m'inspirant de ta base
    Pièce jointe 71337
    Je te laisse découvrir et j'attends tes questions

    Bon courage,

    Jean-Yves

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Waw! Je ne pensais pas que c'était si simple! Merci beaucoup pour ton exemple, je vais m'en inspirer pour faire mes requêtes et intégrer ca dans mon état ^^

    Un tout tout tout tout tout grand merci pour ton aide!
    Je te tiens au courant par la suite pour te dire que tout se passe bien

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Voilà je t'apporte de mes nouvelles

    Ca maaaaarche!

    Voici le résultat ici:
    http://img213.imageshack.us/img213/668/cap08e.jpg

    Donc voila, parfait à 95%
    Dernière petite chose (mais si tu sais pas c'est pas grave)
    Y a t'il moyen de mettre des 0 quand c'est blanc? Est ce que ca se fait via la mise en forme conditionnel ou via autre chose, dans l'état?

    Un grand grand grand merci!
    Youpie I did it, grâce à toi

    Prochaine étape, faire des requêtes personnalisées

  15. #15
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Bonjour Zoliver,

    Heureux que tu aies pu t'en sortir.

    Pour afficher les 0, rien de plus simple. Ca se fait dans le SQL.
    Tu as pu noter dans mon exemple que j'avait fait des jointures ouvertes (ce qui se traduit par des LEFT JOiN ou des RIGHT JOIN au lieu de INNER JOIN).
    Cette notion est fondamentale pour faire apparaitre dous les enregistrements d'une tables même ci ceux de la table liée n'existe pas. Tu as pu donc remarquer que cela restituait des blancs dans ces lignes. Ce qui dans le SQL se traduit pas des valeur nulles.

    Il te suffit donc, pour les champs qui sont susceptible de restituer la valeur nulle, de coder dans ta requête de la maniere suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT ...., IIF(ISNULL([ma_table].[ma_valeur]),0,[ma_table].[ma_valeur]) 
    AS ma_valeur... FROM ma_table ....
    ,

    soit, dans le mode construction

    Pièce jointe 71418

    Ce Qui se traduit par exemple dans le SQL de la requête "Statistiques" que je t'avais envoyé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT T_FE_Formation_0910.FOrmation_nom, T_FE_Formation_0910.Dates, T_FE_Formation_0910.lieu, iif(isnull(Présents.Présents),0,Présents.Présents) as Présents,  iif(isnull([0-3].[0-3]),0,[0-3].[0-3]) AS [0-3], iif(isnull([3-12].[3-12]),0,[3-12].[3-12]) AS [3-12], iif(isnull(ATL.ATL),0,ATL.ATL) AS ATL, iif(isnull([Nombre d'inscrits].Inscrits),0,[Nombre d'inscrits].Inscrits) AS Inscrits, iif(isnull(LA.LA),0,LA.LA) AS LA, iif(isnull(Absents.Absents),0,Absents.Absents) AS Absents
    FROM (((((([Nombre d'inscrits] LEFT JOIN Présents ON [Nombre d'inscrits].formation=Présents.formation) LEFT JOIN [0-3] ON [Nombre d'inscrits].formation=[0-3].formation) LEFT JOIN [3-12] ON [Nombre d'inscrits].formation=[3-12].formation) LEFT JOIN ATL ON [Nombre d'inscrits].formation=ATL.formation) LEFT JOIN LA ON [Nombre d'inscrits].formation=LA.formation) LEFT JOIN Absents ON [Nombre d'inscrits].formation=Absents.formation) INNER JOIN T_FE_Formation_0910 ON [Nombre d'inscrits].formation=T_FE_Formation_0910.FE_Formation_Id;
    Tu pourras voir directement le résultat dans la requête.
    (Fait un copier-coller du SQL dans la requete de la base exemple que je t'avais fait parvenir et ré-éxécute l'état)


    Attention de bien respecter l'alias AS ma_valeur et de garder exactement le même nom d'origine, afin de ne pas être obligé de modifier l'état

    Bonne chance et dis nous quoi pour la suite

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Ok je vais essayer. Comme je n'y suis pas encore parvenu je laisse ca pour plus tard en attendant, c'est pas vraiment une de mes priorités

    Vu que j'ai un mal de tête je vais pas tenter le diable

    Un grand merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/02/2013, 09h54
  2. [Etat]Calcul dans un Etat
    Par uskiki85 dans le forum IHM
    Réponses: 3
    Dernier message: 30/03/2007, 12h41
  3. calcul dans un etat
    Par aujero dans le forum Access
    Réponses: 3
    Dernier message: 21/02/2006, 12h43
  4. Etat de progression d'un calcul.
    Par méphistopheles dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 23/12/2005, 12h44
  5. Plusieurs CALCULS somme dans un ETAT
    Par dynxd dans le forum IHM
    Réponses: 2
    Dernier message: 28/09/2005, 16h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo