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

Bases de données Delphi Discussion :

Problème de somme par Query


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2014
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 187
    Par défaut Problème de somme par Query
    Salut a tous
    Voila mon code pour calculer le nombre d'absence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dbgrid1.DataSource:= datasource1;
    query1.active:= false;
    Query1.SQL.clear;
    Query1.SQL.add(' select Nom,Prenom,absence."Nombre Dabsence",sum (absence."Nombre Dabsence") as resultat from table1,absence where table1.Numero=absence.Numero ');
    Query1.SQL.add(' and Nom like "%"+ :P2 +"%"');
    Query1.SQL.add(' group by Nom,Prenom,absence."Nombre Dabsence"');
    query1.Params.parambyname('P2').value:=edit1.text;
    query1.active:=true;
    edit2.text:=query1.FieldByName('resultat').Value;
    Voila le résultat: Normalement le resultat= 31
    Nom : 1.png
Affichages : 883
Taille : 52,8 Ko
    je voulez que le résultat soit afficher dans (edit2.text) mais ça marche pas
    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Par défaut
    Bonjour,

    Je corrige ma réponse. J'avais mal compris la question. Quelle est la structure de la table ? La requête me semble bizarre.

    Cordialement.

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 599
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    si le résultat escompté est 31 c'est votre requête qui est fausse
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT SUM("Nombre Dabsence") as Resultat from absence
    suffit

    si vous voulez le nombre d'absence par personne alors votre requête devrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Nom,Prenom,sum (A."Nombre Dabsence") as resultat FROM table1 T LEFT JOIN absence A ON T.Numero=A.Numero
    WHERE  Nom like "%"+ :P2 +"%"
    group by Nom,Prenom

  4. #4
    Membre très actif
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2014
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 187
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    si le résultat escompté est 31 c'est votre requête qui est fausse
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT SUM("Nombre Dabsence") as Resultat from absence
    suffit

    si vous voulez le nombre d'absence par personne alors votre requête devrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Nom,Prenom,sum (A."Nombre Dabsence") as resultat FROM table1 T LEFT JOIN absence A ON T.Numero=A.Numero
    WHERE  Nom like "%"+ :P2 +"%"
    group by Nom,Prenom
    oui jai bien compris
    remarque:
    j'ai utiliser cette requette seulement pou afficher le résultat dans (edit2.text)
    je veut pas l'afficher dans le dbgrid
    ya t'il un moyen

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    Pourquoi pas un second Query pour cette seconde requête ? Avec un simple SELECT SUM(...) as Resultat ...
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  6. #6
    Membre très actif
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2014
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 187
    Par défaut
    Citation Envoyé par tourlourou Voir le message
    Pourquoi pas un second Query pour cette seconde requête ? Avec un simple SELECT SUM(...) as Resultat ...
    alors vous me dite que c'est pas la peine d'utiliser la 1er requête
    mais toujours on a besoins de faire la relation entres les 2 tables
    et le résultat doit êtres affecter dans (Edit2.text)

  7. #7
    Membre très actif
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2014
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 187
    Par défaut
    Merci mais le calucule de resultat ne ce fait pas normale
    c'est bizare
    il prend les valeurs des nombre seulement

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

Discussions similaires

  1. Somme dans un TCD par mois
    Par YOSRA.BA dans le forum Programmation système
    Réponses: 0
    Dernier message: 16/02/2012, 14h11
  2. Modification dans DBgrid avec sélection par Query
    Par vitch8 dans le forum Bases de données
    Réponses: 9
    Dernier message: 05/12/2009, 10h22
  3. Réponses: 1
    Dernier message: 22/06/2009, 22h55
  4. Réponses: 1
    Dernier message: 12/05/2009, 15h31
  5. Probleme de somme par annees
    Par wanagro dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/11/2007, 15h53

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