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

Access Discussion :

Problème de valeur nulle


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 34
    Points : 18
    Points
    18
    Par défaut Problème de valeur nulle
    je dispose d'une table où l'on trouve le n° de l'abonné, le service de l'abonné, la somme qu'il a dépensée et le mois où il a dépensé cette somme.
    j'ai fais une requête qui me donne tous les abonnés avec le service correspondant ainsi que les sommes regroupées par trimestre.
    Mon problème est que si un agent change de service, par exemple, à la fin du 2e trim, la valeur des sommes pour le 3e trim du premier service, auquel il appartenait, est nulle. Il n'y a aucune valeur.
    En fait, il faudrait mettre un critère lors du calcul de la somme du trimestre qui dit que si la valeur est null alors c'est égal à 0€.
    Pouvez vous m'aider à développer ce critère?
    Ou peut etre est ce une autre solution.

    Si je me suis mal expliqué dites le moi.

    Je travaille sur Access 2000.

    Merci par avance de votre aide

  2. #2
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Tout d'abord pour le NULL à 0, il suffit d'utiliser la fonction "IIF(Condition, si vrai, si faux).

    Par contre, ton raisonnement me parait erroné : que deviennent les montants des 2 premiers trimestres ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    les valeurs des 2 premiers trimestres sont gardés afin que sur l'année on sache combien le service a dépensé.
    Mais le fait qu'un trimestre n'ai aucune valeur, les valeurs des autres trimestres ne sont pas comptabilisés dans le montant de l'année.

    je vais essayer ta fonction merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    Est ce que cette fonction IIf peut etre intégré dans la requête?
    Si oui pouvez vous me dre comment?
    merci

  5. #5
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      SELECT iif([Chp] is null, 0,[Chp]) 
      from table;

  6. #6
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Est-ce que la fonction Nz() ne peut pas répondre à ton besoin (consulter l'aide).
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    Merci à tous pour vos réponses.
    Donc j'ai essayé la fonction Nz() dans ma requête analyse croisée.
    Les valeurs nulles sont bien remplaçées par la valeur que je souhaîte leur donner.
    Mais le fait de rajouter cette fonction engendre un autre problème : toutes les valeurs de mes montants n'ont plus de format :

    avant de rajouter la fonction : 250.25 €
    aprés avoir rajouté la fonction : 250.2586

    voici la fonction dans ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nz(Sum([POSTE].[COUT_POSTE]),"0,00")
    y a t-il une solution pour conserver cette fonction ainsi que les formats des valeurs?

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    il existe des formats dans le qbe clic drit sur le champ
    Elle est pas belle la vie ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    vi en effet j'ai essayé, je met le format en euro ou monétaire je ferme et sauvegarde, mais aucun changement. Et si je reviens dans la requête la valeur du format a disparue.
    Je ne comprends vraiment pas pourquoi le format change car dans les tables j'ai mis le bon format.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    Voici la requête où j'utilise la fonction Nz:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM Nz(Sum([POSTE].[COUT_POSTE]),'0') AS SommeDeCOUT_POSTE
    SELECT POSTE.NUMERO_POSTE, POSTE.CODE_UIC
    FROM POSTE
    GROUP BY POSTE.NUMERO_POSTE, POSTE.CODE_UIC
    PIVOT POSTE.INDEX_TRIMESTRE;
    Les valeurs nulles sont bien remplaçés par 0 mais le problème c'est la perte du format monétaire pour toutes les valeurs.
    Je ne comprends vraiment pas pourquoi.

  11. #11
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    Pourquoi remplacer par du texte ? et non une valeur ?

    Nz(..., 0) au lieu de Nz(..., "0,0")
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    Dans les deux cas, j'ai toujours le problème de la perte du format.

Discussions similaires

  1. [VxiR2] Problème des valeurs null
    Par ahmed_amine dans le forum Deski
    Réponses: 2
    Dernier message: 28/02/2011, 17h10
  2. problème de valeur NULL
    Par Smix007 dans le forum SQL
    Réponses: 6
    Dernier message: 22/06/2007, 11h57
  3. Modification d'algo problème de valeur null
    Par goblin dans le forum Langage
    Réponses: 5
    Dernier message: 09/03/2007, 18h41
  4. [CSV] problème de valeur null (isset)
    Par Commodore dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2006, 16h34
  5. Problème de valeur null dans un recordset
    Par Petzouille57 dans le forum Access
    Réponses: 3
    Dernier message: 19/05/2005, 11h27

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