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.
Partager