Salut à toi
Je me suis servie de tuto de caféine pour une recherche multicritère!!!
Ma zone de liste déroulante
Private Sub chkSecteur_Click()
If Me.chkSecteur Then
Me.txtRechSecteur.Visible = False
Else
Me.txtRechSecteur.Visible = True
End If
RefreshQuery
End Sub
et l'appel
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 "cmb"
ctl.Visible = False
Case "txt"
ctl.Visible = False
ctl.Value = ""
End Select
Next ctl
Me.lstResults.RowSource = "SELECT ID, Réf articles FROM T_Articles;"
Me.lstResults.Requery
puis la recherche
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
SQL = "SELECT ID, Réf articles, Désignation, Famile, Fournisseur, Secteur, Emp/articles, Zone, Kanban o/n FROM T_Articles Where T_Articles!ID <> 0 "
If Not Me.chkSecteur Then
SQL = SQL & "And T_Articles!Secteur like '*" & Me.txtRechSecteur & "*' "
End If
If Not Me.chkFamille Then
SQL = SQL & "And T_Articles!Famille like '*" & Me.txtRechFamille & "*' "
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
Me.lblStats.Caption = DCount("*", "T_Articles", SQLWhere) & " / " & DCount("*", "T_Articles")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
End Sub
avec les RefreshQuery bien positionnée!!
Le problème j'ai une recherche sur des champs de plusieur valeur, et l'erreur est que la recherche peut pas être utilisé dans une close where ou having.....l'erreur est constament sur:
Me.lblStats.Caption = DCount("*", "T_Articles", SQLWhere) & " / " & DCount("*", "T_Articles")
Donc que puije faire pour pallier cela dans l'attende amicalement!!!
|