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 :

Comment faire une addition ou une différence avec un champ vide ?


Sujet :

Bases de données Delphi

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 0
    Points
    0
    Par défaut Comment faire une addition ou une différence avec un champ vide ?
    Bonjour,

    Je programme avec Delphi 7 et un SGBD DB5.
    J'ai un problème d'addition lorsqu'un champ est vide.
    Comment faire l'addition ou la différence des champs vides sous une requête sql ?
    Un champ qui est vide ne donne pas de résultat.
    Par exemple, avec un champ qui contient un numéro =5 et un champ vide, la différence entre les deux ne donnera rien.
    Je veux que le champ vide devienne un zéro pour que l'opération démarre.
    Y a-t-il quelqu'un pour m'aider ?

    Nom : ch.jpg
Affichages : 412
Taille : 176,4 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FDATAS.QLSBR.SQL.Text:='SELECT date_ent,cd_pc,desg,um,sum(qte_ent) qte_ent,sum( qte_delv) qte_delv,sum( qte_ent )-sum(qte_delv ) qte_final,fournss '+' FROM bonrecp full OUTER JOIN bsort '+'ON cd_pc=cd_pcs GROUP BY cd_pc,desg,um,fournss,date_ent ';
    fdatas.QLSBR.Open;

  2. #2
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Il s'agit plus d'une question de SQL que de Delphi.

    C'est normal une opération impliquant une valeur NULL va retourner NULL.
    Par exemple : 1 + NULL = NULL

    A toi de faire en sorte que tes champs soit correct, je sais pas quel SGBD tu utilises mais sur SQL Server tu as le ISNULL(MonChamp, 0).

    D'autres exemple pour les SGBD, cherche dans la doc la version pour ton SGBD :
    http://www.w3schools.com/sql/sql_isnull.asp

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Points : 133
    Points
    133
    Par défaut
    salut,
    en ms-sql il y a une fonction isnull(x,0) qui affecte 0 a x si x est null
    d'ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum( qte_ent )-sum(qte_delv )
    s'écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum( isnull(qte_ent,0) )-sum( isnull(qte_delv,0) )
    tu as peut être l’équivalent de cette fonction sous DB5

Discussions similaires

  1. Message d'erreur dans mon sql
    Par khaladi ali dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/12/2016, 18h28
  2. Message d'erreur dans mon tableau
    Par SlimEmShady dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2015, 12h37
  3. message d'erreur dans SSIS sql server 2008 R2
    Par le sportif dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 25/04/2014, 16h34
  4. erreur dans mon sql update
    Par Salsaboy60 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 23/02/2014, 20h55
  5. message d'erreur dans mon code
    Par linda deb dans le forum Langage
    Réponses: 2
    Dernier message: 21/05/2012, 11h37

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