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 :

Filtre multi-critères dans formulaire


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Par défaut Filtre multi-critères dans formulaire
    Bonjour,

    Dans un formulaire j'ai créer un filtre avec multi-criteres :

    Mais je n'arrive pas a le finir :

    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
    Private Sub CmdFiltre_Click()
    f = ""
    If Not IsNull(Me.Rarticle) And Me.Rarticle <> "" Then
    f = "ARTICLE LIKE ""*" & Me.Rarticle & "*"""
    End If
    If Not IsNull(Me.Rof) And Me.Rof <> "" Then
    If f <> "" Then
    f = f & " AND N°of LIKE ""*" & Me.Rof & "*"""
    Else
    f = "N°of LIKE ""*" & Me.Rof & "*"""
    End If
    End If
    If Not IsNull(Me.Rserie) And Me.Rserie <> "" Then
    If f <> "" Then
    f = f & " AND IdentificationN°Serie LIKE ""*" & Me.Rserie & "*"""
    Else
    f = "IdentificationN°Serie LIKE ""*" & Me.Rserie & "*"""
    End If
    End If
    If Not IsNull(Me.Rbl) And Me.Rbl <> "" Then
    If f <> "" Then
    f = f & " AND N°BL LIKE ""*" & Me.Rbl & "*"""
    Else
    f = "N°BL LIKE ""*" & Me.Rbl & "*"""
    End If
    End If
     
    If Not IsNull(Me.Rdate1) And Me.Rdate1 <> "" And Not IsNull(Me.Rdate2) And Me.Rdate2 <> "" Then
    If f <> "" Then
    f = f & " AND clng([date_saisie]) BETWEEN " & CLng(Me.Rdate1) & " AND " & CLng(Me.Rdate2) & ""
    Else
    f = "clng([date_saisie]) BETWEEN " & CLng(Me.Rdate1) & " AND " & CLng(Me.Rdate2) & ""
    End If
    End If
     
    Me.Filter = f
    Me.FilterOn = True
    Voici mes champs :
    ARTICLE
    N°of
    N°serie
    IdentificationN°Serie
    date_saisie.

    Mon problème c'est les dates ne fonctionne pas, j'ai un message d'erreur quant les dates sont renseignées ; 94 utilisation incorrecte de Null

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    idealement, regarde le contenu de ta variable f avant de l'attribuer au filtre (Msgbox ou Debug.Print)

    tu y deceleras immediatement a quel niveau la valeur n'est pas correcte =]
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre confirmé
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Par défaut
    Desole je n'ai pas compris ta solution,

    C'est dans cette partie du code qui bloque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    If Not IsNull(Me.Rdate1) And Me.Rdate1 <> "" And Not IsNull(Me.Rdate2) And Me.Rdate2 <> "" Then
    If f <> "" Then
    f = f & " AND clng([date_saisie]) BETWEEN " & CLng(Me.Rdate1) & " AND " & CLng(Me.Rdate2) & ""
    Else
    f = "clng([date_saisie]) BETWEEN " & CLng(Me.Rdate1) & " AND " & CLng(Me.Rdate2) & ""
    End If
    End If

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Oui, ca j'avais compris

    apres ces lignes, peux tu nous dire ce qui est afficher dans la fenetre d'execution par
    stp
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Par défaut
    Désolé je suis pas trop expert en vba :

    Pour ta commande je ne sais pas ou la place dans mon code ,

    Voic le photo du debugage :

    Nom : erreur.png
Affichages : 274
Taille : 12,5 Ko

    Merci

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    OK, alors selon moi le probleme n'est pas au niveau des dates, mais au niveau des guillements que tu utilises a la place des apostrophes
    essaie en remplacant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f = "ARTICLE LIKE '*" & Replace(Me.Rarticle,"'","''") & "*'"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

Discussions similaires

  1. Filtre multi critère sous formulaire
    Par yieiii dans le forum IHM
    Réponses: 5
    Dernier message: 13/09/2010, 14h47
  2. [AC-2003] Filtre multi critère sur un formulaire en mode feuille de données
    Par Soulq dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/06/2009, 16h55
  3. [AC-97] Comment amèliorer un filtre multi-critères à partir d'un formulaire
    Par louzignac dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/06/2009, 14h31
  4. Réponses: 7
    Dernier message: 04/04/2007, 16h34
  5. Filtre multi-critères dans une base Paradox
    Par lohot dans le forum Bases de données
    Réponses: 10
    Dernier message: 10/02/2007, 22h54

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