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

SQL Firebird Discussion :

Comment cacher des colonnes dont le résultat est "null" ?


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut Comment cacher des colonnes dont le résultat est "null" ?
    Bonjour

    Une procédure stockée renvoie un tableau de colonnes (champs) et parmi ces colonnes y'en a qui sont à "null" alors pour éviter d'exposer des colonnes vides je cherche un moyen de les rendre "invisible". En cherchant sur le net j'ai pas trouvé une piste qui puisse me guider alors je me retourne vers vous.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 592
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    je n'ai pas la moindre idée de ce qui est demandé ! et répondre que COALESCE est là pour ce genre de cas me semble trop simple.

  3. #3
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    je n'ai pas la moindre idée de ce qui est demandé ! et répondre que COALESCE est là pour ce genre de cas me semble trop simple.
    Merci pour la réponse mais COALESCE ne me semble pas satisfaire ma demande. Si je ne veux pas avoir une colonne avec des "null" partout c'est que je ne veux pas non plus voir des "/" à la place
    en d'autres termes, je veux cacher les colonnes qui ne rendent aucune information mais je crois que c'est un peu difficile de l'imaginer, car le remplissage des lignes se fait séquentiellement mais si tout se passe dans la mémoire alors là c'est possible.

    Dans ce cas, faut il avoir un "boolean" qui nous dit si toutes les lignes d'une colonne ont la valeur "null" ou pas. Donc, si une seule ligne n'est pas "null" l'affichage se fait.

  4. #4
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    Bonjour

    C'est le rôle de l'application (en delphi, C++, etc) qui gère l'interface et permet d'afficher, ou non, les colonnes.
    La PS ou la requête va afficher les colonnes qui lui sont demandées sans préjugée de leur contenu.

    a+
    olivier

  5. #5
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Bonjour ... oui c'est une piste mais quand une requête retourne, sous réseau, plusieurs dizaine de milliers d'enregistrements, le réglage au niveau de l'application se sent lourd je présume.

  6. #6
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    1 - Faire une requête qui compte de nombre de valeur pour chaque colonne,
    2 - dans l'appli construire la requête qui n’inclura que les colonnes non vides.

    Mais je ne suis pas sûr que cela soit économe en temps ..

  7. #7
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Just-Soft Voir le message
    Merci pour la réponse mais COALESCE ne me semble pas satisfaire ma demande. Si je ne veux pas avoir une colonne avec des "null" partout c'est que je ne veux pas non plus voir des "/" à la place
    en d'autres termes, je veux cacher les colonnes qui ne rendent aucune information mais je crois que c'est un peu difficile de l'imaginer, car le remplissage des lignes se fait séquentiellement mais si tout se passe dans la mémoire alors là c'est possible.

    Dans ce cas, faut il avoir un "boolean" qui nous dit si toutes les lignes d'une colonne ont la valeur "null" ou pas. Donc, si une seule ligne n'est pas "null" l'affichage se fait.
    Le souci c'est que la ou les colonne(s) nulles peuvent varier en fonction des lignes, du coup les valeurs affichées ne tomberont plus en face des entête de colonne de votre formulaire
    du coup une solution à base de COALESCE me semble la plus raisonable

  8. #8
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Le souci c'est que la ou les colonne(s) nulles peuvent varier en fonction des lignes
    C'est ce que je disais ... c'est juste, d'où la difficulté.

    Citation Envoyé par escartefigue Voir le message
    du coup les valeurs affichées ne tomberont plus en face des entête de colonne de votre formulaire
    pour cela je n'ai pas de problème j'ai un affichage dynamique, je l'ai réglé au niveau applicatif.

    Citation Envoyé par escartefigue Voir le message
    du coup une solution à base de COALESCE me semble la plus raisonable
    J'aimerais bien voir la recette par l'exemple.

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/01/2016, 16h04
  2. Réponses: 0
    Dernier message: 13/11/2014, 16h12
  3. Réponses: 4
    Dernier message: 17/09/2009, 20h52
  4. Comment cacher des propriétés dans un nouvel objet ?
    Par Pedro dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/10/2003, 18h53
  5. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 17h19

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