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

Requêtes et SQL. Discussion :

Utiliser un champ calculé d'un formulaire dans une requete


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut Utiliser un champ calculé d'un formulaire dans une requete
    Bonjour,

    Mon formulaire est constitué :
    -1 table adhérent
    -1 sous formulaire qui répertorie les activités des adhérents avec le tarif etc...


    Je calcule la Somme due par adhérents dans un champ calculé du sous formulaire. = Somme[tarif]-(Somme[Acompte]+Somme[Solde])

    Je souhaite réaliser une mise à jour de la table ActivitésAdhérents basé sur ce champ "SommeDue" qui se trouve dans mon formulaire.

    Comment faire ?

    MERCI

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut suite
    La mise à jour consiste à mettre le champ "TotalPayé" à Vrai si le champ calcul du formulaire "SommeDue" est égal à 0 !



    Merci.

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,

    Pour pouvoir te répondre, il faudrait connaître :

    - l'événement qui doit déclencher la mise à jour ;
    - le nom du contrôle du formulaire principal qui doit recevoir la valeur ;
    - le nom du conteneur de ton sous-formulaire ;
    - le nom de contrôle du sous-formulaire qui contient le total.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    La mise à jour consiste à mettre le champ "TotalPayé" à Vrai si le champ calcul du formulaire "SommeDue" est égal à 0 !
    ... et le nom du contrôle (éventuellement non visible) qui contient cette colonne de la table.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut suite
    Bonjour,

    - l'événement qui doit déclencher la mise à jour ;
    => lorsque je quitte le formulaire

    - le nom du contrôle du formulaire principal qui doit recevoir la valeur ;
    => je l'ai deja c'est "SommeDue2" qui va chercher la valeur contenu ds le controle du ss formulaire

    - le nom du conteneur de ton sous-formulaire ;
    => "Activités sous-formulaire"

    - le nom de contrôle du sous-formulaire qui contient le total.
    =>je l'ai deja c'est "SommeDue"

    Maintenant ds une requete je veux que le champ "TotalPayé" de la table Adhérent se mette vrai lorsque le champ "SommeDue2" ou "SommeDue" (ils renvoient la meme valeur, j'affiche juste le controle du ss form dans le form principal) est égal à 0

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Procédons dans l'ordre :

    Le code pour transférer la valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SommeDue2 = Me.Activités_Sous_Formulaire.Form!SommeDue
    Mais on ne peut pas déclencher un tel processus à la fermeture par la croix du coin supérieur droit du formulaire (événement Sur fermeture).

    À la rigueur, tu pourrais avoir un bouton Nommé "btSortir", avec ce code associé au clic :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub BtSortir_Click()
    Me.SommeDue2 = Me.Activités_Sous_Formulaire.Form!SommeDue
    DoCmd.Close acForm, Me.Name
    End Sub
    Pour ce qui est de la colonne "TotalPayé", je ne comprends pas très bien.

    Dans ta table Adhérant tu as
    - une colonne "SommeDue" (numérique)
    - et une autre "TotalPayé" (Oui/Non), que tu mets à "Oui" si "SommeDue" = 0 ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut suite
    En ce qui concerne récupérer la valeur du controle ([SommeDue]=somme[tarif]-[solde]) du sous formulaire pour l'afficher dans le controle (SommeDue2) du formulaire principale il n' y a aucun probleme cela fonctionne et il le fait en temps réel !

    Je te site
    "Pour ce qui est de la colonne "TotalPayé", je ne comprends pas très bien.

    Dans ta table Adhérant tu as
    - une colonne "SommeDue" (numérique)
    - et une autre "TotalPayé" (Oui/Non), que tu mets à "Oui" si "SommeDue" = 0 ? "

    Ma colonne "SommeDue" dans la table adhérents correspond uniquement à une activité de l'adhérents vu qu'un adhérent peut faire plusieurs activités !
    Donc je cherche à récupérer la valeur du controle contenu dans le formulaire "SommeDue2" qui lui récupere bien les sommes dues de chaque activités de l'adhérents !

    De plus je souhaite justement que la case Total soit dynamique et se mette à vrai lorsque l'utilisateur quitte le formulaire et que le controle [SommeDue2] = 0.

    J'ai l'impression que je m'exprime mal, je te réexplique si on se comprend pas.

    MERCI !

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Les explications que tu donnes dans le billet N° 7, ne m'apportent pas plus de compréhension !

    Ne peux-tu pas poster une db compatible Access2000), avec un cas concret cela devrait être plus clair.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut suite
    Je ne suis pas admin sur mon poste je ne peux pas télécharger d'application pour le transformer en zip .

    Ma question pour faire le plus simple possible c'est d'utiliser une valeur d'un controle d'un formulaire dans une requete...
    Car cette valeur ne peut pas etre calculée ds la requete...

    MERCI

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    À supposer que le formulaire (ouvert) s'appelle "LeFormulaire" et le contrôle qui contient la valeur s'appelle : "LeControle", la syntaxe est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![LeFormulaire]![LeControle]
    Vois l'exemple "rExemple" en annexe.
    Fichiers attachés Fichiers attachés

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut suite
    Ah je peux mettre ça dans une colonne de la requete ?!!! Je ne savais pas !!!!
    Je vais voir ça ! Merci.

  12. #12
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Peut-être devrais-tu commencer par lire ceci, je crois que cela pourrait accélérer ton démarrage avec Access.

    Access - Les Bases Maxence HUBICHE

    Créer des requêtes simples (Jean Ballat)

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut suite
    Re:

    J'ai deja suivi ces cours mais en fait ça ne correspond pas à ce que je recherche... .
    Dans ma requete je veux qu'il y ai un champ qui corresponde au controle [Formulaires]![LeFormulaire]![LeControle] et mettre en critere dessus <>0.
    Pour exécuter la requete lorsque ce champ est différent de 0...

    Il faut que le controle devienne un champ ds ma requete sur lequel je peux effectuer un critrere...

    Merci.

  14. #14
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    J'essaie encore une dernière fois de comprendre.
    Dans ton formulaire, tu voudrais déclencher l'exécution d'une requête lorsqu’un contrôle de ce formulaire est différent de zéro.

    C'est ça ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut suite
    Il y aura un bouton "Relancer l'adhérent" pour chaque adhérent qui apparaitra à chaque fois que la valeur du contole [SommeDue] sera supérieur à 0.
    Dans la requete il faudra que j'arrive à récupérer ce controle pour lui mettre en critere > 0. Pour récupérer l'adhérent en cours dont le controle est supérieur à 0....

    MERCI

  16. #16
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 591
    Points
    3 591
    Billets dans le blog
    8
    Par défaut
    Salut à vous.
    Claude, si je peux me permettre...
    Citation Envoyé par eliottgiraudo Voir le message
    La mise à jour consiste à mettre le champ "TotalPayé" à Vrai si le champ calcul du formulaire "SommeDue" est égal à 0 !
    Je croie que l'objectif est de signaler qu'un adhérent à fini de payer.
    Il faudrait gérer cela en amont c'est à dire lors d'insertion, mise à jour ou suppression dans le sous formulaire.
    Mais pour une base access je pense que le meilleur choix est d'inclure la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE (Somme[tarif]-(Somme[Acompte]+Somme[Solde])=0
    dans la requête.
    @+

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut Oui c'est exactement ça
    Oui c'est exactement ça que je recherche à faire. Par contre dans la requete au niveau de quel champ je mets le critere ?

    Where : Somme([tarif])-(Somme([Acompte])+Somme([Solde]))=0

    MERCI !!! (on est sur le bon chemin ^^)

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut suite
    je suis bete au niveau de SommeDue bien sur ! Comme ça il va faire la somme de chaque activité ! Je teste !!!

    Encore merci.

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 149
    Points : 48
    Points
    48
    Par défaut suite
    Non ça me met l'erreur suivante "Impossible d'avoir une fonction d'agrégat dans la clause "WHERE Sum([Tarif] etc....

  20. #20
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 591
    Points
    3 591
    Billets dans le blog
    8
    Par défaut
    Salut
    Peux-tu nous donner la structure des tables cibles?
    Entre temps tu peux voir ici.
    @+

Discussions similaires

  1. Utilisation de la valeur d'un champ d'1 table MySQL dans une requete Oracle
    Par jj4822 dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 11/03/2013, 15h58
  2. [AC-2002] Intégrer un champs calculer d'un formulaire dans un état
    Par WEIDER dans le forum IHM
    Réponses: 2
    Dernier message: 27/10/2010, 14h41
  3. [AC-2007] Champs calculé d'un formulaire vers une table
    Par pfou69 dans le forum IHM
    Réponses: 1
    Dernier message: 24/09/2009, 16h05
  4. Réponses: 1
    Dernier message: 27/05/2009, 17h06
  5. Réponses: 26
    Dernier message: 11/06/2007, 11h57

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