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

VBA Access Discussion :

TRI en ignorant les valeurs NULL


Sujet :

VBA Access

  1. #1
    Membre du Club Avatar de PhRey
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 197
    Points : 67
    Points
    67
    Par défaut TRI en ignorant les valeurs NULL
    Bonjour,
    je doit faire un tri par No dans un formulaire continu.
    Une zone de liste non modifiable comporte des No de 1 à 9 pour chaque enregistrement.
    Le tri ASC fonctionne bien, mais evidement, en triant comme ca, les enregistrements dont les zones de listes sont à NULL se placent en premier.
    Or je voudrais les exclure de mon tri (ou faire en sorte qu'ils se placent aprés les enregistrements dont les zones de listes comportent dejà une valeur).

    Avez vous une idée svp ?
    Grand merci.

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut PhRey,

    dans la source de donnée de ton form tu mets une requete de cette forme:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM MaTable WHERE NOT IsNull()

  3. #3
    Membre du Club Avatar de PhRey
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 197
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par vodiem Voir le message
    salut PhRey,

    dans la source de donnée de ton form tu mets une requete de cette forme:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM MaTable WHERE NOT IsNull()
    Oui mais ca va exclure ces enregistrements. Or je veux les conserver, et les faire apparaitre "en bout de liste" aprés les enregistrement dont le champs "liste deropulante" comporte une valeur numerique (donc Non null)
    Merci à toi

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    je répondais effectivement à:

    Citation Envoyé par PhRey
    Or je voudrais les exclure de mon tri
    sinon dans ton select tu rajoute un champ <ordre> par ex:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT *, iif(isnull(),10,N°) as ordre FROM MaTable
    sur lequel tu mets le tri.

  5. #5
    Membre du Club Avatar de PhRey
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 197
    Points : 67
    Points
    67
    Par défaut
    Comme j'ai du mal avec ta solution, j'ai contourné le pb :
    (c'est pas trés elegant mais ca marche)

    -j'ai mis a jour les valeurs a null avec la valeur "50" (j'aurais pu mettre 5000 - mais je n'ai pas besoin de plus)
    -j'ai mis la valeur par defaut de ce champs à 50 egalement (indispensable lors de la creation des futurs enregistrements)
    -j'ai mis une mise en forme conditionnelle sur mon champs "liste deroulante" pour que le texte devienne blanc (comme le fond) donc invisible si le champs est egal à 50
    -j'ai rajouté egalement "aprés maj" du champs : si le champs est null (suppression de la valeur par l'utilisateur) alors le champs doit etre egal à 50.
    -et un petit requery juste aprés pour remettre tout ca dans l'ordre aprés maj.

    Ca marche nickel, meme si c'est vrai que c'est sans doute un peu barbare...
    La valeur 50 se classe tjrs en fin de liste puisque mon classement est ASC et conscerne a chaque fois seuleument une dizaine d'enregistrements. Je n'ai plus d'enregistrement à null, mais ca n'a aucune importance.

Discussions similaires

  1. [WD14] Tracer une courbe ininterrompue en ignorant les valeurs nulles
    Par sousana_fly dans le forum WinDev
    Réponses: 7
    Dernier message: 26/11/2015, 07h15
  2. Moyenne des nombres, en ignorant les valeurs nulles (0)
    Par dbaxime dans le forum QlikView
    Réponses: 3
    Dernier message: 13/07/2013, 20h37
  3. Réponses: 2
    Dernier message: 16/08/2011, 10h13
  4. Faire une moyenne en ignorant les valeurs nulles
    Par Giansolo dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/06/2007, 14h38
  5. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02

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