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 :

Recherche multi-critères (tutoriel : cafeine) [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 4
    Par défaut Recherche multi-critères (tutoriel : cafeine)
    Bonjour,

    J'ai suivi le tutoriel de cafeine pour la recherche multicritère. Mais je rencontre une difficulté car j'ai rajouter un checkbox (Chktous dans le code) qui me permet de rechercher une valeur dans plusieurs champ sauf qu'après utilisation de celui-ci on ne peut plus faire de sous recherche avec les autres checkbox. Mais je ne voit pas comment on pourrai modifier le code pour pouvoir faire d'autre sous recherche après avoir fait une recherche avec le checkbox "Chktous".
    Voici le 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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
     
     
    ' requete de recherche
    SQL = "SELECT [R-Générale].Numéro, [R-Générale].[N° Plan], [R-Générale].Indice, [R-Générale].Casier, [R-Générale].Lien, [R-Générale].Atelier1, [R-Générale].Appareil, [R-Générale].Codes, [R-Générale].Libellé, [R-Générale].Observations, [R-Générale].Auteur,[R-Générale].Date ,[R-Générale].[Amiante], [R-Générale].Date FROM [R-Générale] Where [R-Générale]!Numéro <> 0 "
     
     
     
    ' modification 3 recherche générale
    If Not Me.Chktous Then
    SQL = SQL & "And [R-Générale]!Atelier1 like '*" & Me.Txtrechtous & "*' or [R-Générale]!libellé like '*" & Me.Txtrechtous & "*' or [R-Générale]!Appareil like '*" & Me.Txtrechtous & "*' "
    End If
     
    If Not Me.chkAte Then
        SQL = SQL & "And [R-Générale]!Atelier1 like '*" & Me.Txtrechate & "*' "
    End If
     
    If Not Me.chkApp Then
        SQL = SQL & "And [R-Générale]!Appareil like '*" & Me.Txtrechapp & "*' "
    End If
    If Not Me.Chkcod Then
        SQL = SQL & "And [R-Générale]!codes like '*" & Me.Txtrechcod & "*' "
    End If
    If Not Me.Chkno Then
        SQL = SQL & "And [R-Générale]![N° Plan] like '*" & Me.Txtrechno & "*' "
    End If
    If Not Me.chklib Then
        SQL = SQL & "And [R-Générale]!Libellé like '*" & Me.Txtrechlib & "*' "
    End If
    If Not Me.chkAut Then
        SQL = SQL & "And [R-Générale]!Auteur like '*" & Me.Txtrechaut & "*' "
    End If
    If Not Me.Chkami Then
        SQL = SQL & "And [R-Générale]!Amiante like '*" & Me.Txtrechami & "*' "
    End If
    If Not Me.Chkobs Then
        SQL = SQL & "And [R-Générale]!Observations like '*" & Me.Txtrechobs & "*' "
    End If
    ' modification 1 recherche date
    If Not Me.chkdate Then
        SQL = SQL & "And [R-Générale]!Date like '*" & Me.Txtrechdate & "*' "
    End If
    ' modification 2 enlevez mot libellé
    If Not Me.Chkexclu Then
        SQL = SQL & "And  [R-Générale]!libellé not like '*" & Me.Txtrechexclu & "*'  "
    End If
     
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    SQL = SQL & ";"
     
    ' met à jour les statistiques
     
    Me.lblStats.Caption = DCount("*", "[R-Générale]", SQLWhere) & " / " & DCount("*", "[R-Générale]")
    Me.lstResults.RowSource = SQL ' affecte sql a lst_Resultat
    Me.lstResults.Requery ' recalcule la liste
    Cordialement,

    MH

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 137
    Par défaut
    Bonjour,

    Suivant les règles de logique tes critères chktous devraient être entourés de parenthèses comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not Me.Chktous Then
    SQL = SQL & "And ([R-Générale]!Atelier1 like '*" & Me.Txtrechtous & "*' or [R-Générale]!libellé like '*" & Me.Txtrechtous & "*' or [R-Générale]!Appareil like '*" & Me.Txtrechtous & "*') "
    End If
    En effet il s'agit d'un ensemble de critères qui n'en forme qu'un.

    Autre petit détail qui peut avoir son importance :
    Si dans ta table tu rencontres une apostrophe ça va planter. Utilise 2 guillemets au lieu des apostrophes pour délimiter tes valeurs. Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = SQL & "And ([R-Générale]!Atelier1 like ""*" & Me.Txtrechtous & "*"" or ..."
    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 4
    Par défaut
    Bonjour loufab,

    Je te remercie pour ton aide, il fallait bien rajouter les parenthèses.

    Cordialement,

    MH

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/08/2014, 11h56
  2. tutoriel recherche multi-critères de caféine
    Par Magali33 dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/11/2007, 00h29
  3. Problème avec le tutoriel Recherche Multi-critère
    Par Darki dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/08/2007, 17h50
  4. Recherche multi-critères de Cafeine
    Par Happock dans le forum Access
    Réponses: 8
    Dernier message: 25/09/2006, 14h43
  5. problème SQL avec le tutoriel recherche multi critère
    Par qbihlmaier dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/12/2005, 19h33

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