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

WinDev Discussion :

Editeur de requête : utilisation des formules [WD15]


Sujet :

WinDev

  1. #1
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut Editeur de requête : utilisation des formules
    Bonjour, j'ai une petite question sur l'éditeur de requête , dans une table je voudrais afficher une liste de bons cadeaux selon un client et afficher le solde des bons.

    Pour gérer cela j'au une table "Bons" et une table "Bons_utilisations", donc rien de compliqué.

    J'arrive a trouver les montants débités sur chaque bon avec une requête de regroupement (SUM) sur Montant_debite du fichier "Bons_Utilisation".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    SELECT 
    	Bons.Bons_ID AS Bons_ID,	
    	Bons.Bon_Client AS Bon_Client,	
    	Bons.Bon_Montant AS Bon_Montant,	
    	Bons.Bon_Date AS Bon_Date,	
    	SUM(Bons_utilisation.Bons_Utilisations_Montant) AS Montant_Debite
    FROM 
    	Bons LEFT OUTER JOIN Bons_utilisation ON Bons_utilisation.Bons_Utilisations_IDBon	=	Bons.Bons_ID
    WHERE 
    	(
    	Bons.Bon_Client = {nIDClient}
    )
    GROUP BY 
    	Bons.Bons_ID,	
    	Bons.Bon_Client,	
    	Bons.Bon_Montant,	
    	Bons.Bon_Date
    Le truc c'est que je voudrais simplement ajouter un colonne solde via SQL qui serait le montant du bon - somme(montant_debite) , mais quand j'essaie d'ajouter une formule de style "Bon_montant - Montant_Debite , ou que je tape SUM(Bons_Utilisations_Montant) j'ai une erreur :
    ---------------------------
    WinDev 15
    ---------------------------
    Erreur sur l'expression que vous avez saisie :
    Les fonctions agrégats (COUNT, AVG, SUM, MIN, MAX) ne sont pas autorisées en dehors des clauses SELECT ou HAVING
    Veuillez vérifier la syntaxe.
    je voudrais simplement faire la différence entre le montant du bon et la somme des utilisation .. pourquoi il m'eng... le WD

    Excellentejournée à tous

    Olivier

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    SELECT 
    	Bons.Bons_ID AS Bons_ID,	
    	Bons.Bon_Client AS Bon_Client,	
    	Bons.Bon_Montant AS Bon_Montant,	
    	Bons.Bon_Date AS Bon_Date,	
    	SUM(Bons_utilisation.Bons_Utilisations_Montant) AS Montant_Debite,
            Bons.Bon_Montant - SUM(Bons_utilisation.Bons_Utilisations_Montant) as TOTO
    FROM 
    	Bons LEFT OUTER JOIN Bons_utilisation ON Bons_utilisation.Bons_Utilisations_IDBon	=	Bons.Bons_ID
    GROUP BY 
    	Bons.Bons_ID,	
    	Bons.Bon_Client,	
    	Bons.Bon_Montant,	
    	Bons.Bon_Date
    Normalement (d'un point de SQL) je vois pas pourquoi la requête ci-dessus ne passerait pas... maintenant sur une base HF rien ne m'étonne ! (d'ailleurs en WD15 je ne sais plus où il en était niveau implémentation du SQL....)

    Peut être essaye d'ajouter la nouvelle expression dans le Group By (TOTO)... mais je pense pas que ça soit ça....

    Reste plus qu'à le faire par programmation...
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  3. #3
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    effectivement , WD 15 n'aime pas trop le truc

    Même en entrant une requête directement en SQL il n'accepte pas

    Bon alors je vais faire un boucle avec un remplissage à la main.

    C'est dommage , il me semble que ce n'est pas une requête trop tarabiscotée.

    Bon le Père Noel doit m'apporter la 19 , on verra si c'est mieux pour la suite

    Merci pour ton aide et bon w-end

    Olivier

  4. #4
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Citation Envoyé par wd_newbie Voir le message
    Bon alors je vais faire un boucle avec un remplissage à la main.
    Si c'est pour l'affichage dans la table tu dois pouvoir faire le calcul pour chaque ligne dans la section de code "Affichage d'une ligne de la table..."
    Ça évite de faire un boucle... mais ça marche aussi avec une boucle...
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  5. #5
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    Oui , c'est vrai que je n'y pense pas souvent a ce type de code au chargement de la table, merci du conseil

    Olivier

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

Discussions similaires

  1. Utilisation des formules sur les attributs Date
    Par rdmontreal dans le forum W4 Express
    Réponses: 2
    Dernier message: 26/10/2011, 00h37
  2. Réponses: 2
    Dernier message: 08/05/2008, 20h41
  3. Requête utilisant une formule stockée dans une table
    Par alexiisme dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 23/01/2008, 07h01
  4. [EXCEL][VBA] Utilisation des formules Excel en VBA
    Par Amanck dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/12/2005, 15h08
  5. [CR 9] Utilisation des formules
    Par Joleroy dans le forum Formules
    Réponses: 9
    Dernier message: 13/09/2004, 08h11

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