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 :

ne pas afficher les Null dans liste resultats module rech Caféïne


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut ne pas afficher les Null dans liste resultats module rech Caféïne
    Bonjour,

    J'ai réaliser gràce a l'aide du tutoriel de cafeine un module de recherche par critére.

    Dans mon champ de liste où s'affiche mais résultats je voudrais qu'un champ quand il est Null ne s'affiche pas dans la liste.


    Merci de vos réponses.

  2. #2
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonjour,
    Citation Envoyé par froutloops62
    Bonjour,

    J'ai réaliser gràce a l'aide du tutoriel de cafeine un module de recherche par critére.

    Dans mon champ de liste où s'affiche mais résultats je voudrais qu'un champ quand il est Null ne s'affiche pas dans la liste.


    Merci de vos réponses.
    Pour ne pas inclure les valeurs nulles dans le résultat d'une requête, tu peux placer Est Pas Null ou Is Not Null dans la ligne critère du champ concerné.
    Bon courage et @+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Je le mets où ? Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Private Sub RefreshQuery()
     Dim SQL As String
     Dim SQLWhere As String
     
     SQL = "SELECT N°, Opérateur, Objectif, Client, Commande, Date FROM Réalisation Where Réalisation!N° <> 0 "
     
     If Not Me.chkAtelier Then
        SQL = SQL & "And Réalisation!Atelier = '" & Me.cmbAtelier & "' "
     End If
     If Not Me.chkOperateur Then
        SQL = SQL & "And Réalisation!Opérateur = '" & Me.cmbOperateur & "' "
     End If
     If Not Me.chkObjectif Then
        SQL = SQL & "And Réalisation!Objectif = '" & Me.cmbObjectif & "' "
     End If
     If Not Me.chkClient Then
        SQL = SQL & "And Réalisation!Client = '" & Me.cmbClient & "' "
     End If
     If Not Me.chkCommande Then
        SQL = SQL & "And Réalisation!Commande like '" & Me.txtCommande & "' "
     End If
     If Not Me.chkDate Then
        SQL = SQL & "And Réalisation!Date >= #" & Format(Me.WDateFrom, "mm/dd/yyyy") & "# And Réalisation!Date <= #" & Format(Me.WDateTo, "mm/dd/yyyy") & "# "
     End If
     If Not Me.chkPosteC Then
        SQL = SQL & "And Réalisation![Poste Calage] <> " & Me.copEnlever
    End If
      If Not Me.chkPosteC Then
        SQL = SQL & "And Réalisation![Poste Calage] = " & Me.copAfficher
    End If
     SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     SQL = SQL & " Order by Réalisation.Date DESC;"
     
    Debug.Print SQLWhere
     
     Me.lblStats.Caption = DCount("*", "Réalisation", SQLWhere) & " / " & DCount("*", "Réalisation")
     Me.lstResults.RowSource = SQL
     Me.lstResults.Requery
     
    End Sub

  4. #4
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Quel champ veux-tu contrôler?

  5. #5
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Prenons un exemple, que tu voudrais contrôler Atelier. Dans la clause WHERE, tu écrirs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ... AND [Atelier] Is Not Null ...
    Et toc!

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Je veux que les lignes où le champ "objectif" est nul ne soit pas visible. Mais déjà au demarrage quand aucun critére n'est coché.

    Comment je modifie le code plus explicitement.

  7. #7
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonjour,
    Citation Envoyé par froutloops62
    Je veux que les lignes où le champ "objectif" est nul ne soit pas visible. Mais déjà au demarrage quand aucun critére n'est coché.

    Comment je modifie le code plus explicitement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     If Not Me.chkObjectif Then
        SQL = SQL & "And (Réalisation!Objectif = '" & Me.cmbObjectif & "' AND Réalisation!Objectif Is Not Null) "
     End If
    'ou en format plus court
     If Not Me.chkObjectif Then
        SQL = SQL & "And ([Objectif] = '" & Me.cmbObjectif & "' AND [Objectif] Is Not Null) "
     End If
    @+

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    ça passe pas, moi je veux plus avoir les lignes vides dans le champ zone de liste résultats.

    En piéce jointe, j'ai mis ma situation actuelle avec les blancs que je ne veux pas.
    Images attachées Images attachées  

  9. #9
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonjour et bonne fin de week-end,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Private Sub RefreshQuery()  
    	Dim SQL As String  
    	Dim SQLWhere As String   
    	SQL = "SELECT N°, Opérateur, Objectif, Client, Commande, Date FROM Réalisation Where Réalisation!N° <> 0 AND Réalisation!Objectif Is Not Null "   
    	If Not Me.chkAtelier Then  
    		SQL = SQL & "And Réalisation!Atelier = '" & Me.cmbAtelier & "' "  
    	End If  
    	If Not Me.chkOperateur Then  
    		SQL = SQL & "And Réalisation!Opérateur = '" & Me.cmbOperateur & "' "  
    	End If  
    	If Not Me.chkObjectif Then  
    		SQL = SQL & "And Réalisation!Objectif = '" & Me.cmbObjectif & "' "  
    	End If  
    	If Not Me.chkClient Then  
    		SQL = SQL & "And Réalisation!Client = '" & Me.cmbClient & "' "  
    	End If  
    	If Not Me.chkCommande Then  
    		SQL = SQL & "And Réalisation!Commande like '" & Me.txtCommande & "' "  
    	End If  
    	If Not Me.chkDate Then  
    		SQL = SQL & "And Réalisation!Date >= #" & Format(Me.WDateFrom, "mm/dd/yyyy") & "# And Réalisation!Date <= #" & Format(Me.WDateTo, "mm/dd/yyyy") & "# "  
    	End If  
    	If Not Me.chkPosteC Then  
    		SQL = SQL & "And Réalisation![Poste Calage] <> " & Me.copEnlever 
    	End If  
    	If Not Me.chkPosteC Then  
    		SQL = SQL & "And Réalisation![Poste Calage] = " & Me.copAfficher 
    	End If  
    	SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))  
    	SQL = SQL & " Order by Réalisation.Date DESC;"   
    	Debug.Print SQLWhere   
    	Me.lblStats.Caption = DCount("*", "Réalisation", SQLWhere) & " / " & DCount("*", "Réalisation")  	
    	Me.lstResults.RowSource = SQL Me.lstResults.Requery   
    End Sub
    Lors de ma précédente proposition, j'ai mis le critère au niveau de la ligne colorée en bleu. Effectivement, si chkObjectif n'est pas coché, le critère n'est pas pris en compte!
    Ce qu'il faut faire c'est de placer ce critère quelque soit l'état des case à cocher. Je l'ai mis dans la première ligne de la variable SQL en gras et en vert!
    Je pense que cela résoud ton problème. Il faut aussi comprendre que mon rôle se limitait à te montrer comment exclure les valeurs nulles de ta requête mais non pas à le placer exactement où il faut, je pense que c'est assez évident tu ne crois pas.
    Bon courage et @+

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Le probleme avec le code c'est que quand j'ouvre le formulaire, j'ai encore les blancs, si je décoche le critére Objectif et que je le recoche (sans rien mettre au niveau du critere)
    là ça fonctionne

    J'aimerais l'avoir directement sans les Null

    peut être que ça vient de là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Private Sub Form_Load()
    Dim ctl As Control
     
    For Each ctl In Me.Controls
        Select Case Left(ctl.Name, 3)
            Case "chk"
                ctl.Value = -1
            Case "lbl"
                ctl.Caption = "- * - * -"
            Case "txt"
                ctl.Enabled = False
                ctl.Value = ""
            Case "cmb"
                ctl.Enabled = False
            Case "WDa"
                ctl.Enabled = False
                ctl.Value = Date
            Case "cop"
                ctl.Enabled = False
                ctl.Value = 0
        End Select
    Next ctl
     
    Me.lstResults.RowSource = "SELECT N°, Opérateur, Objectif, client, Commande, Date FROM Réalisation ORDER BY Réalisation.Date DESC;"
    Me.lstResults.Requery
     
    End Sub

  11. #11
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Me.lstResults.RowSource = "SELECT N°, Opérateur, Objectif, client, Commande, Date " & _
    "FROM Réalisation " & _
    "WHERE Réalisation!Objectif Is Not Null " & _
    "ORDER BY Réalisation.Date DESC;"
    Bon courage et @+

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Ok merci beaucoup

    ça marche.

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

Discussions similaires

  1. Ne pas afficher les doublons dans mon rapport
    Par shallum dans le forum Jasper
    Réponses: 6
    Dernier message: 06/01/2010, 18h10
  2. Réponses: 2
    Dernier message: 21/04/2009, 22h10
  3. Ne pas afficher les images dans le dvi
    Par gregory2526 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 4
    Dernier message: 09/06/2008, 14h39
  4. comment ne pas afficher les zéro dans un diagramme à barres empilées
    Par sebastien84 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 10/10/2007, 13h17
  5. [MDX] - afficher les properties dans le resultat
    Par stephane.net dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/08/2007, 17h32

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