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 :

Formulaire de recherche multicritère Access 2003


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 16
    Points : 7
    Points
    7
    Par défaut Formulaire de recherche multicritère Access 2003
    Bonjour,

    Je suis novice en programmation. Je suis en train de réaliser une base de données. Je suis bloquée au niveau des formulaires de recherche multicritère.

    J’ai un gros pavé d’access sur lequel j’ai un exemple de formulaire en VBA. J’ai également consulté les tutoriaux de developpez.com et caféine mais je ne m’en sort pas. Je souhaiterai réaliser une requête sur 5 critères. 4 d’entre eux sont des listes déroulantes et le dernier est un champ libre à saisir. Je voudrai que le résultat apparaisse sous forme de tableau dans le même formulaire.

    Voici mes lignes de commandes de mon bouton de recherche.

    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
    Private Sub Commande20_Click()
    Dim strFiltre As String
    Dim avarMotsClefs As Variant
    Dim varMotsClefs As Variant
     
    'Filtre sur le departement
    ' On Error Resume Next
    strFiltre = ""
    If Not IsNull(Me.cmddept) Then
        strFiltre = "([num_dept]='" & Me.cmddept & "')"
    End If
     
    'Filtre sur le canton
    strFiltre = ""
    If Not IsNull(Me.cmdcanton) Then
        If strFiltre <> "" Then strFiltre = strFiltre & "AND"
        strFiltre = strFiltre & "([chef_lieu]='" & Me.cmdcanton & "')"
    End If
     
    'Filtre sur la commune
    strFiltre = ""
    If Not IsNull(Me.cmdcommune) Then
        If strFiltre <> "" Then strFiltre = strFiltre & "AND"
        strFiltre = strFiltre & "([nom_commune]='" & Me.cmdcommune & "')"
    End If
     
    'Filtre sur le type
    strFiltre = ""
    If Not IsNull(Me.cmdtype) Then
        If strFiltre <> "" Then strFiltre = strFiltre & "AND"
        strFiltre = strFiltre & "([type]='" & Me.cmdtype & "')"
    End If
     
    'Filtre sur le nom
    avarMotsClefs = Split(Nz(Me.cmdnom), " ")
    For Each varMotsClefs In avarMotsClefs
        If Trim(varMotsClefs) <> "" Then
            If strFiltre <> "" Then strFiltre = strFiltre & "AND"
            strFiltre = strFiltre & "([nom] LIKE '*" & varMotsClefs & "*')"
            End If
    Next
     
    ' Afficher le resultat
    Me.lblSQL.Caption = strFiltre
     
    'Filtrer le sous-formulaire
    With Me.resultat.Form
        .Filter = strFiltre
        .FilterOn = True
    End With
    End Sub

    Est-ce que quelqu’un pourrait me donner un coup de main ?

    Merci par avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 64
    Points
    64
    Par défaut
    tu devrai plutot créer un zone de liste dans ton formulaire et agir sur la RowSource de cet liste du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "SELECT * From TaTable Where ConditionToujourVrai
    Puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Not IsNull(Me.cmddept) Then
    SQL = SQL & "And [num_dept]='" & Me.cmddept & "'
    Pour chacun de tes filtre

    Puis au final
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.TaZoneListe.RowSource = SQL
    Me.Requery
    Voili Voilou

Discussions similaires

  1. [AC-2007] Access : formulaire de recherche multicritère
    Par Dlyf974 dans le forum IHM
    Réponses: 3
    Dernier message: 13/05/2012, 21h50
  2. Formulaire de recherche dans Access 2003
    Par the_tiger85 dans le forum IHM
    Réponses: 5
    Dernier message: 07/06/2007, 11h48
  3. Réponses: 3
    Dernier message: 21/09/2006, 11h59
  4. Formulaire de recherche multicritères
    Par dolf13 dans le forum Langage
    Réponses: 10
    Dernier message: 20/06/2006, 23h24
  5. Formulaire de recherche multicritères
    Par Michel DELAVAL dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 09h32

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