Bonsoir,
je n'arrive pas à trouver ce qui cloche, je cherche à créer un filtre sur un
formulaire à partir du choix de deux critère dans des listes déroulantes
cmbDiv (texte) et cmbELEREGIME (numérique). ça fonctionne bien sauf s'il n'y
a aucun critère de sélectionné dans ma première boîte cmbDiv, je n'ai alors
aucun traitement, comment faire dans mon deuxième If Not pour charger
uniquement la valeur du cmbELEREGIME? Merci, Eric
Private Sub btOK_Click()
Dim strFiltre As String
On Error Resume Next
strFiltre = ""
If Not IsNull(Me.cmbDiv) Then
strFiltre = "([DIV]='" & Me.cmbDiv & "')"
End If
If Not IsNull(Me.cmbregime) Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND " &
"([ELEREGIME]=" & Me.cmbregime & ")"
End If
Me.Caption = strFiltre
With Me.sfmrésultats.Form
.Filter = strFiltre
.FilterOn = True
End With
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonsoir.
sans vérifier la bonne marche de la procédure et seulement les conditions, essaie de faire ceci:
Dim strFiltre As String
On Error Resume Next ' à vérifier strFiltre = "" If Not IsNull(Me.cmbDiv) Then strFiltre = "([DIV]='" & Me.cmbDiv & "')" End If
If Not IsNull(Me.cmbregime) Then If strFiltre = "" Then strFiltre = "[ELEREGIME]=" & Me.cmbregime & ")" Else strFiltre = strFiltre & " AND " & "([ELEREGIME]=" & Me.cmbregime & ")" End If End If
Me.Caption = strFiltre
With Me.sfmrésultats.Form If strFiltre = "" Then .Filter = "" .FilterOn = False Else .Filter = strFiltre .FilterOn = True End If End With
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"pean.eric" a écrit dans le message de news:bqav1q$i01$
Bonsoir, je n'arrive pas à trouver ce qui cloche, je cherche à créer un filtre sur un
formulaire à partir du choix de deux critère dans des listes déroulantes cmbDiv (texte) et cmbELEREGIME (numérique). ça fonctionne bien sauf s'il n'y
a aucun critère de sélectionné dans ma première boîte cmbDiv, je n'ai alors
aucun traitement, comment faire dans mon deuxième If Not pour charger uniquement la valeur du cmbELEREGIME? Merci, Eric Private Sub btOK_Click() Dim strFiltre As String
On Error Resume Next strFiltre = "" If Not IsNull(Me.cmbDiv) Then strFiltre = "([DIV]='" & Me.cmbDiv & "')" End If
If Not IsNull(Me.cmbregime) Then If strFiltre <> "" Then strFiltre = strFiltre & " AND " & "([ELEREGIME]=" & Me.cmbregime & ")"
End If
Me.Caption = strFiltre
With Me.sfmrésultats.Form .Filter = strFiltre .FilterOn = True End With End Sub
Bonsoir.
sans vérifier la bonne marche de la procédure et seulement les conditions,
essaie de faire ceci:
Dim strFiltre As String
On Error Resume Next ' à vérifier
strFiltre = ""
If Not IsNull(Me.cmbDiv) Then
strFiltre = "([DIV]='" & Me.cmbDiv & "')"
End If
If Not IsNull(Me.cmbregime) Then
If strFiltre = "" Then
strFiltre = "[ELEREGIME]=" & Me.cmbregime & ")"
Else
strFiltre = strFiltre & " AND " & "([ELEREGIME]=" & Me.cmbregime &
")"
End If
End If
Me.Caption = strFiltre
With Me.sfmrésultats.Form
If strFiltre = "" Then
.Filter = ""
.FilterOn = False
Else
.Filter = strFiltre
.FilterOn = True
End If
End With
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"pean.eric" <pean.eric@wanadoo.fr> a écrit dans le message de
news:bqav1q$i01$1@news-reader4.wanadoo.fr...
Bonsoir,
je n'arrive pas à trouver ce qui cloche, je cherche à créer un filtre sur
un
formulaire à partir du choix de deux critère dans des listes déroulantes
cmbDiv (texte) et cmbELEREGIME (numérique). ça fonctionne bien sauf s'il
n'y
a aucun critère de sélectionné dans ma première boîte cmbDiv, je n'ai
alors
aucun traitement, comment faire dans mon deuxième If Not pour charger
uniquement la valeur du cmbELEREGIME? Merci, Eric
Private Sub btOK_Click()
Dim strFiltre As String
On Error Resume Next
strFiltre = ""
If Not IsNull(Me.cmbDiv) Then
strFiltre = "([DIV]='" & Me.cmbDiv & "')"
End If
If Not IsNull(Me.cmbregime) Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND " &
"([ELEREGIME]=" & Me.cmbregime & ")"
End If
Me.Caption = strFiltre
With Me.sfmrésultats.Form
.Filter = strFiltre
.FilterOn = True
End With
End Sub
sans vérifier la bonne marche de la procédure et seulement les conditions, essaie de faire ceci:
Dim strFiltre As String
On Error Resume Next ' à vérifier strFiltre = "" If Not IsNull(Me.cmbDiv) Then strFiltre = "([DIV]='" & Me.cmbDiv & "')" End If
If Not IsNull(Me.cmbregime) Then If strFiltre = "" Then strFiltre = "[ELEREGIME]=" & Me.cmbregime & ")" Else strFiltre = strFiltre & " AND " & "([ELEREGIME]=" & Me.cmbregime & ")" End If End If
Me.Caption = strFiltre
With Me.sfmrésultats.Form If strFiltre = "" Then .Filter = "" .FilterOn = False Else .Filter = strFiltre .FilterOn = True End If End With
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"pean.eric" a écrit dans le message de news:bqav1q$i01$
Bonsoir, je n'arrive pas à trouver ce qui cloche, je cherche à créer un filtre sur un
formulaire à partir du choix de deux critère dans des listes déroulantes cmbDiv (texte) et cmbELEREGIME (numérique). ça fonctionne bien sauf s'il n'y
a aucun critère de sélectionné dans ma première boîte cmbDiv, je n'ai alors
aucun traitement, comment faire dans mon deuxième If Not pour charger uniquement la valeur du cmbELEREGIME? Merci, Eric Private Sub btOK_Click() Dim strFiltre As String
On Error Resume Next strFiltre = "" If Not IsNull(Me.cmbDiv) Then strFiltre = "([DIV]='" & Me.cmbDiv & "')" End If
If Not IsNull(Me.cmbregime) Then If strFiltre <> "" Then strFiltre = strFiltre & " AND " & "([ELEREGIME]=" & Me.cmbregime & ")"
End If
Me.Caption = strFiltre
With Me.sfmrésultats.Form .Filter = strFiltre .FilterOn = True End With End Sub
3stone
Salut,
strFiltre = ""
If Not IsNull(Me.cmbDiv) Then strFiltre = strFiltre & " AND [DIV]='" & Me.cmbDiv & "'" End If
If Not IsNull(Me.cmbregime) Then strFiltre = strFiltre & " AND [ELEREGIME]=" & Me.cmbregime End if
'supprimer le premier ' And' strFiltre = Mid(strFiltre,5)
Ce qui permet de garder toujours la même "construction" quelque soit le nombre de critères...
-- A+ Pierre (3stone) Access MVP -------------------------------------- Une pour tous, tous pour une ;-) http://users.skynet.be/mpfa/charte.htm --------------------------------------
Salut,
strFiltre = ""
If Not IsNull(Me.cmbDiv) Then
strFiltre = strFiltre & " AND [DIV]='" & Me.cmbDiv & "'"
End If
If Not IsNull(Me.cmbregime) Then
strFiltre = strFiltre & " AND [ELEREGIME]=" & Me.cmbregime
End if
'supprimer le premier ' And'
strFiltre = Mid(strFiltre,5)
Ce qui permet de garder toujours la même "construction"
quelque soit le nombre de critères...
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
If Not IsNull(Me.cmbDiv) Then strFiltre = strFiltre & " AND [DIV]='" & Me.cmbDiv & "'" End If
If Not IsNull(Me.cmbregime) Then strFiltre = strFiltre & " AND [ELEREGIME]=" & Me.cmbregime End if
'supprimer le premier ' And' strFiltre = Mid(strFiltre,5)
Ce qui permet de garder toujours la même "construction" quelque soit le nombre de critères...
-- A+ Pierre (3stone) Access MVP -------------------------------------- Une pour tous, tous pour une ;-) http://users.skynet.be/mpfa/charte.htm --------------------------------------