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

ASP Discussion :

[ASP-MSSQL]Afficher zéro si champ null


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Par défaut [ASP-MSSQL]Afficher zéro si champ null
    Salut,

    je débute en ASP donc ma question peut vous paraitre banale. Le contexte est le suivant, j'utilise une base de données SQL Server 2000 qui stocke plusieurs informations que j'affiche grâce à des pages ASP.
    Dans une de ces pages je dois afficher - € si le champ est à null sinon afficher la valeur du champ avec la fonction FormatNumber() qui me permet d'afficher les valeurs float avec 2 chiffres aprés la virgule. Or j'ai un souci dans mon code, l'erreur est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur d'exécution Microsoft VBScript error '800a000d' 
    Type incompatible: 'FormatNumber'
    Voici mon bout de code :


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <!-- #include file="_connexion.asp"-->
     
    ' Requête sur la table TBResultat
    SQL2="SELECT SUM(MontantCATTC) AS MeilleurCA, SUM(NbOperation) AS NbVente, SUM(NbVenteArticle) AS NbArticle" _ 
    & " FROM TBResultatJour WHERE MONTH(DateDebut) = MONTH(getDate())-1"
     
    'Ouverture de l'objet Recordset
    Set RS2 = server.createobject("ADODB.Recordset")
    RS2.Open SQL2,Conn , 3, 3
     
    while not RS2.eof %>
    <center><b>Résultats du mois dernier : </b></center><br>
       <center><TABLE border="1"> 
      <TR>  
        <TD> Chiffre d'Affaire </td>
        <TD> Nombre de Vente </td>
        <TD> Nombre d'Articles </td>  
      </tr> 
      <TR>  
        <%if RS2("MeilleurCA")=null then
        return%> <TD>- € </td>
        <%else%>
    	<TD><%=FormatNumber(RS2("MeilleurCA"),2)%> € </td>
    	<%end if%>
        <TD> <%=RS2("NbVente")%> </td>
        <TD> <%=RS2("NbArticle")%> </td>
      </tr> 
    </table></center><br>
       <%RS2.MOVENEXT ' fiche suivante
    wend
     
    'Fermeture de l'objet Recordset
    RS2.Close
    Merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Par défaut
    Salut,

    le message parait clair, tu tentes de formater une variable qui n'est pas un nombre

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Par défaut
    Mais si, ma variable est un float, le problème c'est que si il n'y a rien dans le champ alors la fonction FormatNumber() plante car effectivement null n'est pas un nombre. C'est pour cela que je voudrais utiliser FormatNumber() que si il y a une valeur dans mon champ.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Par défaut
    Ha tu veux dire que c'est on If qui ne fonctionne pas ?

    tentes avec ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if len(RS2("MeilleurCA")) = 0 or IsNull(RS2("MeilleurCA")) then
    Et puis c'est pour quoi faire le return ?

    je ne vois pas de "End if" dans ton code

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Par défaut
    Un grand merci

    c'est bon ça roule, sisi il y a bien un end if, mais c'est vrai que mon indentation n'est pas terrible. Le return c'est une erreur

    Merci encore

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Par défaut
    salut,
    je sais que ton probleme est resolu mais je peut te proposé une autre solution
    Ce que tu cherche a faire peut se faire du coté SQL malheureusement, je ne connais pas la syntaxe pour SQL server. mais dans ta requete tu peut faire quelque chose du style:
    si ma valeur = NULL alors j'affiche "-"

    voila c'etait juste une suggestion qui demande des recherches sur google

    Bonne continuation

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

Discussions similaires

  1. Requête n'affiche pas les champs null
    Par souf_87 dans le forum Oracle
    Réponses: 6
    Dernier message: 04/03/2011, 17h11
  2. Ne pas afficher un champ null
    Par Florent Coulon dans le forum iReport
    Réponses: 4
    Dernier message: 09/02/2007, 13h24
  3. Format champ: Afficher "No production" si null
    Par catoucat dans le forum Access
    Réponses: 6
    Dernier message: 22/06/2006, 09h05
  4. Afficher NC si champ numérique Null
    Par mioux dans le forum Access
    Réponses: 4
    Dernier message: 18/11/2005, 13h08
  5. afficher les champs null de deux tables dans un select
    Par poil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/09/2005, 15h05

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