Bonjour,
Je programme ma base de donnée et j'ai besoin d'un formulaire de recherche multicritère. J'ai donc suivi la démarche de caféine (http://cafeine.developpez.com/access...echerchemulti/) j'ai aussi téléchargé sa base pour m'aider. Le problème est que mon résultat dans ma listbox est vide enfin presque. En effet, quand je passe du mode création à formulaire mes résultats apparaissent une fraction de seconde. Ai-je un problème dans mon programme ou juste un paramètre dans les propriétés?
voilà mon programme:
-------------------------------------------------------------------------
---------------------------------------------------------------
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105 Private Sub chkdomaine_Click() If Me.chkdomaine Then Me.cmbrechdomaine.Visible = False Else Me.cmbrechdomaine.Visible = True End If RefreshQuery End Sub ------------------------------------------------------------------------- Private Sub chkintitulé_Click() If Me.chkintitulé Then Me.txtrechintitulé.Visible = False Else Me.txtrechintitulé.Visible = True End If RefreshQuery End Sub ----------------------------------------------------------------------- Private Sub chksuperviseur_Click() If Me.chksuperviseur Then Me.cmbrechsuperviseur.Visible = False Else Me.cmbrechsuperviseur.Visible = True End If RefreshQuery End Sub ------------------------------------------------------------------------- Private Sub chktravauxterminés_Click() If Me.chktravauxterminés Then Me.cmbrechtravauxterminés.Visible = False Else Me.cmbrechtravauxterminés.Visible = True End If RefreshQuery End Sub ------------------------------------------------------------------------- Private Sub RefreshQuery() Dim SQL As String Dim SQLWhere As String SQL = "SELECT numéro,Domaine, superviseurs, travaux terminés, Intitulé FROM Diag travaux Where Diag travaux!numéro <> 0 " If Not Me.chkintitulé Then SQL = SQL & "And Diag travaux!Intitulé like '*" & Me.txtrechintitulé & "*' " End If If Not Me.chkdomaine Then SQL = SQL & "And Diag travaux!Domaine = '" & Me.cmbrechdomaine & "' " End If If Not Me.chksuperviseur Then SQL = SQL & "And Diag travaux!superviseurs = '" & Me.cmbrechsuperviseur & "' " End If If Not Me.chktravauxterminés Then SQL = SQL & "And Diag travaux!travaux terminé = '" & Me.cmbrechtravauxterminés & "' " End If SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1)) SQL = SQL & ";" Me.lstResults.RowSource = SQL Me.lstResults.Requery End Sub -------------------------------------------------------------------------- Private Sub cmbrechdomaine_BeforeUpdate(Cancel As Integer) RefreshQuery End Sub Private Sub cmbrechsuperviseur_BeforeUpdate(Cancel As Integer) RefreshQuery End Sub -------------------------------------------------------------------------- Private Sub cmbrechtravauxterminés_BeforeUpdate(Cancel As Integer) RefreshQuery End Sub -------------------------------------------------------------------------- Private Sub txtrechintitulé_BeforeUpdate(Cancel As Integer) RefreshQuery End Sub ----------------------------------------------------------------------- Private Sub Form_Load() Dim ctl As Control For Each ctl In Me.Controls Select Case Left(ctl.Name, 3) Case "chk" ctl.Value = -1 Case "lbl" ctl.Caption = "- * - * -" Case "txt" ctl.Visible = False ctl.Value = "" Case "cmb" ctl.Visible = False End Select Next ctl Me.lstResults.RowSource = "SELECT numéro, Domaine, superviseurs, travaux terminés, Intitulé Type FROM Diag travaux;" Me.lstResults.Requery End Sub
J'ai du enlever la ligne :car elle ne fonctionne pas (je sais pas pourquoi, est-ce que c'est lié à mon autre problème?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.lblStats.Caption = DCount("*", "Diag travaux", SQLWhere) & " / " & DCount("*", "Diag travaux")
En tout cas, si quelqu'un pouvait m'aider....
Merci d'avance.
Partager