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

Requêtes et SQL. Discussion :

Mettre la valeur O par défaut dans un champs NULL


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Par défaut Mettre la valeur O par défaut dans un champs NULL
    Bonjour,

    J'ai une requête qui réalise une différence entre deux valeurs toute bête, sauf que je n'ai pas toujours deux valeurs.
    Lorsque le deuxième champ n'a pas de valeur, il est NULL par défaut, et mon calcul ne se fait donc pas.
    Comment faire en sorte qu'il me mette 0 par défaut dans cette colonne?

    C'est certainement très bête mais... je ne trouve pas...

  2. #2
    Membre Expert
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Par défaut
    Salut,
    dans le Select, tu mets à la place du champ qui peut être null :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iif(monchamp=Null,0,Monchamp) as NomDuChamp

  3. #3
    Membre Expert Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Par défaut
    Pour un champ vide tu peux utiliser Nz
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nz([MonChamp]+nz([monautreChamp]

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Par défaut
    Hum, Jsuis pas douée en SQL...
    Voilà ce que j'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT PATIENTS.[Nom et Prénom], Patients_NbMoisDialyse.[Durée Dialyse mois], iif ([Durée totale TX par patient].[Durée TX mois]=Null,0,[Durée TX mois]) AS [Durée TX mois], [Durée Dialyse mois]-[Durée TX mois] AS [Durée effective de dialyse mois],Int([Durée effective de dialyse mois]/12) & "ans" & " " & ([Durée effective de dialyse mois])-Int([Durée effective de dialyse mois]/12)*12 & "mois" AS [DUREE EFFECTIVE DE DIALYSE] 
    FROM Patients_NbMoisDialyse INNER JOIN ([Durée totale TX par patient] RIGHT JOIN PATIENTS ON [Durée totale TX par patient].[Patient ID] = PATIENTS.[Patient ID]) ON Patients_NbMoisDialyse.[Nom et Prénom] = PATIENTS.[Nom et Prénom];
    Ca ne marche pas... qu'est ce que j'ai supprimé, ajouté ou oublié qui ne va pas selon toi?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Par défaut
    Ah ben j'avais pas vu ta proposition renardo...
    Un champ vide n'est pas forcément NULL? Vu que jsuis pas super calée jme suis ptêt pas bien exprimée.
    En effet j'ai un champ vide.
    Tu penses que si je fais la différence entre mon champ plein et mon champ vide je peux obtenir la valeur du premier champ avec ta formule?
    C'est normal que les parenthèses soient dans le même sens?
    Je l'insère où ce bout de code (j'ai prévenu hein.. jsuis pas bien douée)?

  6. #6
    Membre Expert Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Par défaut
    Desoler j'ai oublié de les fermer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nz([MonChamp])+nz([monautreChamp])
    Tu penses que si je fais la différence entre mon champ plein et mon champ vide je peux obtenir la valeur du premier champ avec ta formule?
    En principe Oui

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Par défaut
    Wahou ça marche! Merci les gars

    Donc si en plus j'arrive à utiliser la fonction de Franck je peux remplir mon champ NULL par un O?
    Ce serait encore mieux pour mes formulaires ensuite (vu que j'affiche aussi cette donnée).
    Elles sont compatibles?

  8. #8
    Membre Expert Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Par défaut
    Je supose que se champ existe dans une table dans ce cas met sa valeur par default a 0

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Par défaut
    Mon souci est que cette table n'existe que dans le code SQL d'une de mes requêtes et que celle-ci n'apparaît pas dans la liste de mes tables...
    Comment faire pour la faire apparaître?
    Voici le code que j'ai dans cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT Table_Tempo_PIOU.[Patient ID], Table_Tempo_PIOU.[Date de départ], Min(Table_Tempo_PIOU.[Durée TX]) AS [MinDeDurée TX]
    FROM [SELECT Patients_TxProvenance.[Patient ID], Patients_TxDestination.[Date de mouvement] AS [Date de départ], Patients_TxProvenance.[Date de mouvement] AS [Date de retour], DateDiff("m",[Date de départ],[Date de retour])  AS [Durée TX]
    FROM Patients_TxProvenance INNER JOIN Patients_TxDestination ON (Patients_TxProvenance.[Patient ID] = Patients_TxDestination.[Patient ID]) AND (Patients_TxProvenance.Provenance = Patients_TxDestination.Destination)
    WHERE ((Patients_TxDestination.[Date de mouvement])<[Patients_TxProvenance].[Date de mouvement])
    ]. AS Table_Tempo_PIOU
    GROUP BY Table_Tempo_PIOU.[Patient ID], Table_Tempo_PIOU.[Date de départ];

  10. #10
    Membre Expert Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Par défaut
    La bd ne t'appartient pas ?
    La table est surement caché (Outil - Option - Objets masques)

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Par défaut
    Sisi elle m'appartient mais cette table je l'ai créée avec un copain informaticien et elle n'apparait pas dans l'affichage access, juste en sql...

    Pour mon problème de 0 c'est bon j'ai trouvé quelque chose d'autre et le calcul que tu m'as donné fonctionne très bien.

    Merci!

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

Discussions similaires

  1. Mettre valeur 0 par défaut dans zone de texte
    Par steph1911 dans le forum IHM
    Réponses: 1
    Dernier message: 19/01/2012, 04h31
  2. Réponses: 14
    Dernier message: 18/12/2008, 08h57
  3. Valeur par défaut dans des champs
    Par Winguy dans le forum VBA Access
    Réponses: 3
    Dernier message: 02/04/2008, 04h18
  4. Valeur par défaut dans un champ dès qu'il est activé
    Par picatchou dans le forum Access
    Réponses: 5
    Dernier message: 27/08/2006, 12h36
  5. Valeur par défaut dans un champ Browse
    Par fadeninev dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/06/2006, 10h11

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