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 :

Calcul dans un formulaire [AC-2007]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 22
    Points : 8
    Points
    8
    Par défaut Calcul dans un formulaire
    Bonjour à tous,

    Je recontres un petit soucis de calcul dans un formulaire. Mais d'abord laissé moi vous décrire l'environnement:

    J'ai un formulaire "Students" qui comporte un sous formulaire "Marks"

    Dans le formulaire "Students" j'ai mis une textbox qui à pour but d'afficher la somme des notes de l'étudiant (dans mon cas je n'ai pas besoin de faire la moyenne) qui sont détaillé dans le sous formulaire "Marks".

    Pour ce faire, j'ai créé une requête sql qui fait la somme des notes par étudiants:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Sum(Marks.Mark) AS Total
    FROM Student LEFT JOIN Marks ON Student.ID_Student = Marks.ID_Student
    GROUP BY Student.First_Name, Student.Last_Name;

    Ensuite j'ai spécifié dans le contrôle source de la texbox les parmètres suivant: =[SUM_Marks]![Total]

    mais au lieu d'avoir la somme j'ai : #Name? qui s'affiche dans la Textbox

    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonsoir,
    pour aller chercher une information dans une requête ou une table, tu dois utiliser les fonctions de domaine. sur un formulaire et dans le contrôle sur sa propriété source contôle clic sur .... ouvril le générateur d'expression, clic sur fonctions, regroup.domaine-RecDom voir l'aide pour remplir avec condition dans ton cas tu dois entrer le nom du champ, le nom de la requête et comme critère la ref de l'étudiant "valeur du champ de ton formulaire ouvert".

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par LE VIEUX Voir le message
    bonsoir,
    pour aller chercher une information dans une requête ou une table, tu dois utiliser les fonctions de domaine. sur un formulaire et dans le contrôle sur sa propriété source contôle clic sur .... ouvril le générateur d'expression, clic sur fonctions, regroup.domaine-RecDom voir l'aide pour remplir avec condition dans ton cas tu dois entrer le nom du champ, le nom de la requête et comme critère la ref de l'étudiant "valeur du champ de ton formulaire ouvert".
    Bonjour merci d'avoir répondu,

    Cependant, apres avoir avoir ouvert le générateur d'expression je clic sur "Functions" (J'ai une version anglaise de access) "Built-In Functions" puis "Domain Aggregate" ce qui doit correspondre à "regroup domaine" mais ensuite que dois-je faire ??? car dans la colonne de j'ai différentes fonction d'aggrégation que je dois selectionner. j'avoue que je suis un peu perdu là.

    merci pour votre aide

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonjour,
    la fonction est probablement RechDom,
    Si dans le formulaire le contrôle est de type Texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = RechDom («NomColonneTotalDelaRequete»; «NomDeLaRequête»; «NomColonneIdentifiantL’élève ‘»& NomDuControleIdentifiantl’élèveDansLeFormulaire&  « ‘ »)
    S’il est de type Numérique :
    = RechDom («NomColonneTotalDelaRequete»; «NomDeLaRequête»; «NomColonneIdentifiantL’élève»& NomDuControleIdentifiantl’élèveDansLeFormulaire)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par LE VIEUX Voir le message
    bonjour,
    la fonction est probablement RechDom,
    Si dans le formulaire le contrôle est de type Texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = RechDom («NomColonneTotalDelaRequete»; «NomDeLaRequête»; «NomColonneIdentifiantL’élève ‘»& NomDuControleIdentifiantl’élèveDansLeFormulaire&  « ‘ »)
    S’il est de type Numérique :
    = RechDom («NomColonneTotalDelaRequete»; «NomDeLaRequête»; «NomColonneIdentifiantL’élève»& NomDuControleIdentifiantl’élèveDansLeFormulaire)
    Bonjour,

    J'ai appliqué ce que vous m'avez dit mais j'ai toujours #Name dans la textbox.

    Puis-je vous mettre la base en lien (elle est très petite) ? Peut être que j'ai rater une étape.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonsoir,
    pas de problème mets la base en lien zipée cela nous permettra d'aller probablement plus vite pour t'aider.
    à+

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Merci pour votre aide voici la base en lien.
    Fichiers attachés Fichiers attachés

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Bonjour,
    J’ai un peu de mal à suivre la construction de ta base, mais honnêtement je manque un peu te temps pour le moment :
    Le problème vient probablement d’une part de la syntaxe il manque des " et sur le fait d’avoir renommé des champs de requête.
    Tu peux avoir le même résultat sans passer par une requête en basant la fonction de ton champ directement sur la table Marks et en utilisant la fonction SomDom :
    Mets ce code dans ton champ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SomDom("[Mark] ";"Marks";"ID_Student=" & [ID_Student])
    je regarde d'un peu plus près dés que je peux, mais j'ai testé tu auras déjà le résultat.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par LE VIEUX Voir le message
    Bonjour,
    J’ai un peu de mal à suivre la construction de ta base, mais honnêtement je manque un peu te temps pour le moment :
    Le problème vient probablement d’une part de la syntaxe il manque des " et sur le fait d’avoir renommé des champs de requête.
    Tu peux avoir le même résultat sans passer par une requête en basant la fonction de ton champ directement sur la table Marks et en utilisant la fonction SomDom :
    Mets ce code dans ton champ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SomDom("[Mark] ";"Marks";"ID_Student=" & [ID_Student])
    je regarde d'un peu plus près dés que je peux, mais j'ai testé tu auras déjà le résultat.
    Je viens de tester en faisant un copier coller du code sur le contrôle mais toujours #Name dans la textbox

    J'y comprends rien ca marche chez toi mais pas de mon côté

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 335
    Points : 19 575
    Points
    19 575
    Billets dans le blog
    65
    Par défaut
    Salut,

    Peut-être un problème d'espace à supprimer dans le nom du champ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SomDom("[Mark]";"Marks";"ID_Student=" & [ID_Student])
    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  11. #11
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonsoir,
    salut user - l'espace dans le nom du champ n'avait pas l'air de poser problème par contre dans le nom de la table cela n'aurait pas été le cas, mais le problème vient d'ailleurs, conception probablement à revoir.
    à fady01
    j'ai revu un peu tas base rapidement et rajouté un formulaire classique, car celui en place a un comportement bizarre, la mise a jour du contrôle se fait après mise a jour du champ "Mark" dans le sous formulaire Marks.
    les règles de validation du champ TEST semblaient également poser problème mais je ne connait pas tes contraintes en la matière regardes en retour ta base avec quelques modifs et le nouveau form cela fonctionne chez moi.
    bon courage et continuation.
    Fichiers attachés Fichiers attachés

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par LE VIEUX Voir le message
    bonsoir,
    salut user - l'espace dans le nom du champ n'avait pas l'air de poser problème par contre dans le nom de la table cela n'aurait pas été le cas, mais le problème vient d'ailleurs, conception probablement à revoir.
    à fady01
    j'ai revu un peu tas base rapidement et rajouté un formulaire classique, car celui en place a un comportement bizarre, la mise a jour du contrôle se fait après mise a jour du champ "Mark" dans le sous formulaire Marks.
    les règles de validation du champ TEST semblaient également poser problème mais je ne connait pas tes contraintes en la matière regardes en retour ta base avec quelques modifs et le nouveau form cela fonctionne chez moi.
    bon courage et continuation.
    Merci beaucoup !

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

Discussions similaires

  1. Calcul dans un formulaire
    Par mikaloop dans le forum Access
    Réponses: 4
    Dernier message: 18/04/2006, 15h24
  2. disparition des calculs dans un formulaire
    Par OBIWAN64 dans le forum Access
    Réponses: 6
    Dernier message: 24/03/2006, 12h05
  3. problème de calcul dans un formulaire
    Par Bray02 dans le forum IHM
    Réponses: 1
    Dernier message: 07/12/2005, 11h45
  4. Calculs dans sous-Formulaire
    Par Bernjean dans le forum Access
    Réponses: 5
    Dernier message: 17/11/2005, 18h29
  5. Pb champ calcule dans sous formulaire
    Par Brial dans le forum Access
    Réponses: 6
    Dernier message: 12/11/2005, 18h33

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