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

VB.NET Discussion :

condition avec checkbox


Sujet :

VB.NET

Vue hybride

nokia1600 condition avec checkbox 16/10/2009, 14h10
Sankasssss La partie Where de ta requête... 17/10/2009, 15h54
nokia1600 Pourrais-tu m'expliquer les... 19/10/2009, 08h49
Sankasssss Il te suffit de mettre ca : ... 19/10/2009, 18h33
nokia1600 Ok j'essai ça demain et je te... 19/10/2009, 20h04
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut condition avec checkbox
    Bonjour à tous,

    J'ai une listBox avec des agents dedans, je veux faire un filtre c'est à dire si je coche la checkbox j'ai le nom de tous les agents, si elle n'est pas coché seul les agents qui sont encore en poste à la date choisi par l'utilisateur sont affichés, tourné dans l'autre sens les agents dont leur date de départ est comprise entre une date au hasard du genre 01/01/1900 et la date sélectionné par l'utilisateur ne s'affichent pas.

    Voici 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
     Private H As New Hashtable
     Private Index_Cherche As Integer
    
            Dim NbEnreg
            H.Clear()
            If CheckBox1.CheckState = CheckState.Checked Then
                Me.objDATA = New CLdata()
                Me.rqSql = "SELECT Index_Agent, Nom, Prenom " & _
                           "FROM Tbl_Agents ORDER BY Nom, Prenom ASC "
                Me.DS = Me.objDATA.getRows(Me.rqSql, "TBL_CHOIX_AGENT") 
            ElseIf CheckBox1.CheckState = CheckState.Unchecked Then           
     Me.objDATA = New CLdata()
                Me.rqSql = "SELECT Index_Agent, Nom, Prenom " & _
                           "FROM Tbl_Agents WHERE ('1900/01/01' >Tbl_Agents.Date_Sortie_DGAC > '" & Format(DateValue(Me.Calendrier.Value), "yyyy-MM-dd") & "')  ORDER BY Nom, Prenom ASC "
                Me.DS = Me.objDATA.getRows(Me.rqSql, "TBL_CHOIX_AGENT")
            End If
            NbEnreg = DS.Tables(0).Rows.Count - 1
            For I = 0 To NbEnreg
                H.Add(I, DS.Tables(0).Rows(I).Item(0))
                Me.search.Items.Add(DS.Tables(0).Rows(I).Item(1) & " " & DS.Tables(0).Rows(I).Item(2))
            Next
        End Sub

    Que mettre dans la clause where? Le code est-il bon?
    Merci.

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    La partie Where de ta requête est mauvaise, tu ne peux faire un WHERE value1 < Value2 < Value3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '1900/01/01' >Tbl_Agents.Date_Sortie_DGAC > '" & Format(DateValue(Me.Calendrier.Value), "yyyy-MM-dd"
    tu devrais la remplacer par value1 < Value2 AND Value2 < Value3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '1900/01/01' > Tbl_Agents.Date_Sortie_DGAC AND Tbl_Agents.Date_Sortie_DGAC > '" & Format(DateValue(Me.Calendrier.Value), "yyyy-MM-dd"
    A vérifier aussi ton format... car moi j'aurais mit toute la requête dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string.format("SELECT Index_Agent, Nom, Prenom " & _
                           "FROM Tbl_Agents WHERE ('1900/01/01' >Tbl_Agents.Date_Sortie_DGAC AND Tbl_Agents.Date_Sortie_DGAC > '{0:yyyy-MM-dd}' ORDER BY Nom, Prenom ASC " , _
                           Me.Calendrier.Value)
    Mis à part ca, ton code à l'air bon mais multiplie le requête à chaque fois que l'on coche ou décoche ton checkbox...
    Une autre manière de procéder est de filtrer avec le filtre des vue, ce qui rend la chose beaucoup plus simple vu que l'affichage ce met à jour automatiquement...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dts.Tables(0).DefaultView.RowFilter = string.format("'1900/01/01' >Tbl_Agents.Date_Sortie_DGAC AND Tbl_Agents.Date_Sortie_DGAC > '{0:yyyy-MM-dd}'", taDate)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut
    Pourrais-tu m'expliquer les filtres de vues? Le problème que j'ai c'est que ma requête fonctionne que quand le checkbox est décoché, si je clic dessus ça ne change rien du tout

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Il te suffit de mettre ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dts.Tables(0).DefaultView.RowFilter = string.format("'1900/01/01' >Tbl_Agents.Date_Sortie_DGAC AND Tbl_Agents.Date_Sortie_DGAC > '{0:yyyy-MM-dd}'", taDate)
    dans l'évènement CheckedChanged de ton checkBox.
    Tout le reste va dans l'évènement load de ta form.

    le filtrage est extrêmement simple comme je te le montre dans le post plus haut et ci-dessus.
    sur msdn : http://msdn.microsoft.com/en-us/libr...8VS.80%29.aspx
    Il faut juste faire attention après de travaillé sur les éléments de la vue si tu utilises les index, car la position d'un élément dans une vue filtrée n'est pas sa position dans le datatable...
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dt.DefaultView.Item(indexLigne).Item(indexColonne)
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dt.Rows(indexLigne).Item(indexColonne)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Par défaut
    Ok j'essai ça demain et je te redis en tout cas merci de m'aider

  6. #6
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Pas de problème, le forum est là pour ca

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

Discussions similaires

  1. [XL-2003] Macro Copier Coller Avec CheckBox et Conditions
    Par HoLbOrN dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 15/11/2017, 13h09
  2. Conditions avec 2 checkbox
    Par romann76 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 17/07/2009, 10h24
  3. Condition avec Checkbox
    Par mickou64 dans le forum MFC
    Réponses: 16
    Dernier message: 30/01/2009, 14h06
  4. cellules avec condition relié avec checkbox
    Par lavalois dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 19/03/2008, 09h52
  5. [ Struts ] plusieurs conditions avec equal?
    Par njac dans le forum Struts 1
    Réponses: 7
    Dernier message: 04/06/2004, 09h04

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