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 :

Requête ACCESS et gestion champ vide


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Novembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Requête ACCESS et gestion champ vide
    Bonjour,

    J'ai créé une base de données contenant de nombreuses tables et requêtes.

    Actuellement j'ai un soucis concernant une requête. Le code SQL de la requête est le suivant :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT Sum(IIf([Besoins]![Opération effectuée]='OUI',(IIf([Besoins]![Installation/Démontage]='Démontage',[Besoins]![Puissance réelle],0)),0)) AS Expr1, Besoins.NUM_SI
    FROM Besoins
    GROUP BY Besoins.NUM_SI, [Besoins]![Date prévisionnelle] Between DateAdd("q",+1,Now()) And Now(), Besoins.[Type de courant]
    HAVING (((Besoins.NUM_SI)=[Formulaires]![Etat des lieux]![NuméroSI] Or (Besoins.NUM_SI)=[Formulaires]![Etat des lieux]![NuméroT]) AND ((Besoins.[Type de courant])="48") AND (([Besoins]![Date prévisionnelle]) Between DateAdd("q",+1,Now()) And Now()));


    Le principe de fonctionnement est :
    La requête est faite sur une table se nommant BESOIN.
    En fonction de la date et d'un numéro qui me sert de clé la requête affiche une valeur.
    Quand il n'y a pas de valeur le champs est vide.

    J'essaye de mettre la valeur de ce champ à 0, mais je n'y arrive pas.
    J'ai essayé un iff et la fonction NZ, mais sans résultat aurait vous des solutions ?

    Merci d'avance

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Bojour charlye

    J’ai eu le même problème et ma solution a été de créer une table temporaire de résultat.

    Après traiter les valeurs en erreur dans la table via les règles de validation ou dans une requête appelante la table de résultat, c’est à voir.
    Perso, j’ai noté que la 1ère solution n’était pas toujours appliquée.

    regarde ici

    Et pour compléter s’il y a des calculs agrégatifs, tu peux regarder
    Ici
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Novembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour, merci pour la réponse.

    Quand tu parles d'une table temporaire qu'est ce que tu entends par la ?

    J'ai 32 requêtes qui sont basées sur ce fonctionnement. Je pense que créer 32 tables temporaires ralentirait les performances Access ?

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    A voir ce que ça fait d'utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [liste champs] INTO tableCible FROM tableSource,
    Le manque d'alternative peut amener à appliquer une solution moins performante
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    En natif dans le SQL, pour tester si un champ est Nul , il faut utiliser Iif et Is Null et surtout pas de NZ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Iif (table.Champ is Null , ValeurVrai, ValeurFaux)
    Avec ValeurVrai pouvant être égale à Null d'ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Iif (table.Champ is Null , Null, ValeurFaux)
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  6. #6
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    Bonjour

    Citation Envoyé par informer Voir le message
    En natif dans le SQL, pour tester si un champ est Nul , il faut utiliser Iif et Is Null et surtout pas de NZ
    Pourquoi ?
    Je n'ai jamais rien lu de négatif sur la fonction Nz !
    Cdlt

Discussions similaires

  1. [Toutes versions] Requête avec jointure et champ vide
    Par Mercusio dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 13/06/2013, 09h36
  2. [AC-2010] Requête sélection autorisant les champs vides
    Par Meuhlize dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/03/2013, 19h36
  3. formulaire access sur des champs vides
    Par qmike dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 28/05/2009, 10h20
  4. Requêtes avec beaucoup de champs vides à éviter.
    Par fred_vannes56 dans le forum Requêtes et SQL.
    Réponses: 26
    Dernier message: 23/04/2008, 16h20
  5. Réponses: 3
    Dernier message: 27/04/2007, 09h56

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