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 :

Groupes d'options et filtre


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Juin 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 79
    Points : 45
    Points
    45
    Par défaut Groupes d'options et filtre
    Bonjour,

    J'ai sur un formulaire, 2 groupes d'options.
    Le premier retourne une valeur typedoss et le second etatdoss

    ensuite en combinant ces 2 valeurs, un filtre s'applique sur le formulaire.
    Tout fonctionne (cf. code plus loin) à l'exception du cas ou sur un des champs je ne souhaite plus de filtre. C'est le cas Case 1. J'ai mis en valeur "*" mais cela ne fonctionne pas.

    Que dois-je modifier ?
    Merci d'avance.


    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
    Private Sub opgType_Click()
        Select Case Me.opgType.Value
            Case 1
                typedoss = "*"
            Case 2
                typedoss = "C"
            Case 3
                typedoss = "MIGE"
            Case 4
                typedoss = "GEI"
        End Select
    End Sub
     
    Private Sub opgEtat_Click()
        Select Case Me.opgEtat.Value
            Case 1
                etatdoss = "Stock' Or [Tbl_CARACDOSSIERS.EtatDossier]='En cours' Or [Tbl_CARACDOSSIERS.EtatDossier]='Waiver/Avenant')"
            Case 2
                etatdoss = "En cours' Or [Tbl_CARACDOSSIERS.EtatDossier]='Waiver/Avenant')"
        End Select
    End Sub
     
    Private Sub Commande195_Click()
      Dim strFiltre As String
      Me.FilterOn = False
      strFiltre = "[Typedossier]='" & typedoss & "'" & " AND ([Tbl_CARACDOSSIERS.EtatDossier]='" & etatdoss
      Me.Filter = strFiltre
      Me.FilterOn = True
    End Sub

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    C'est un cas où j'ai perdu beaucoup de temps à une certaine période. Mais là, ça devrait être plus simple, vu que le premier groupe d'option met à jour un champ.
    Je modifierai le code par :
    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
     
    Private Sub opgType_Click()
        Select Case Me.opgType.Value
            Case 1
                typedoss = "TOUS"
            Case 2
                typedoss = "C"
            Case 3
                typedoss = "MIGE"
            Case 4
                typedoss = "GEI"
        End Select
    End Sub
     
    Private Sub opgEtat_Click()
        Select Case Me.opgEtat.Value
            Case 1
                etatdoss = "Stock' Or [Tbl_CARACDOSSIERS.EtatDossier]='En cours' Or [Tbl_CARACDOSSIERS.EtatDossier]='Waiver/Avenant')"
            Case 2
                etatdoss = "En cours' Or [Tbl_CARACDOSSIERS.EtatDossier]='Waiver/Avenant')"
        End Select
    End Sub
     
    Private Sub Commande195_Click()
      Dim strFiltre As String
      Me.FilterOn = False
         IF typedoss = "TOUS" THEN
             strFiltre ="[Tbl_CARACDOSSIERS.EtatDossier]='" & etatdoss
         ELSE
             strFiltre = "[Typedossier]='" & typedoss & "'" & " AND ([Tbl_CARACDOSSIERS.EtatDossier]='" & etatdoss
         END IF
      Me.Filter = strFiltre
      Me.FilterOn = True
    End Sub
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Juin 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 79
    Points : 45
    Points
    45
    Par défaut
    Merci pour ce retour rapide.
    J'y ai passé du temps et votre méthode fonctionne parfaitement.

    Par ailleurs, comment puis-je indiquer un tri par catégorie ou ordre aplha. sur le champ [Tbl_CARACDOSSIERS.EtatDossier]?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strFiltre = "[Typedossier]='" & typedoss & "'" & " AND ([Tbl_CARACDOSSIERS.EtatDossier]='" & etatdoss

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Un tri dans l'ordre croissant sur un champ "LeNomduChamp" dans un formulaire se fait avec les propriétés "OrderBy" et "OrderByOn" .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.LeFormulaire.OrderBy = "LeNomduChamp"
    Me.LeFormulaire.OrderByOn = True
    Dans l'ordre décroissant, ce sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.LeFormulaire.OrderBy = "LeNomduChamp DESC"
    Me.LeFormulaire.OrderByOn = True
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

Discussions similaires

  1. [AC-2003] Filtres SQL par groupe d'options
    Par minot83 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 29/01/2014, 17h59
  2. [AC-2013] filtre par groupe d'options sur un formulaire
    Par abdoudiaw dans le forum VBA Access
    Réponses: 4
    Dernier message: 17/09/2013, 16h27
  3. [AC-2003] Filtre zone de liste par groupe d'option
    Par HE dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/07/2009, 17h18
  4. "Dégrisé" un groupe d'option
    Par Linaa dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/06/2005, 11h34
  5. Réponses: 7
    Dernier message: 19/10/2004, 22h40

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