Problème de filtre avec VB6

ugob Messages postés 5 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 18 avril 2003 - 16 avril 2003 à 17:38
ugob Messages postés 5 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 18 avril 2003 - 17 avril 2003 à 10:46
Bonjour,

J'ai fais un formulaire dynamique de recherche sous VB6 relié à une base de donnée ACCESS 2000.
Je peux parcourir les enregistrements de la table sans aucun souci.

J'ai fais des menus déroulants qui servent de critères de recherche.
Mon problème est au niveau du bouton qui lance la recherche.
En effet, les enregistrements ne sont pas filtrés...

Si quelqu'un pourrait m'aider, Merci d'avance.

Nota : Voici un extrait du code pour le bouton rechercher, ce sera plus parlant. Comme je débute en progr il est fort possible que j'ai fais des erreurs dans ce code.

[Code]
Private Sub RechercheCritère_Click()
Dim strFiltre As String
Dim strStatut As String
Dim avarMotsClefs As Variant
Dim varMotClefs As Variant
' Filtre sur la couleur
On Error Resume Next
strFiltre = ""
If Not IsNull(Me.Couleur) Then
strFiltre = "([Code Couleur]='" & Me.Couleur & "')"
rs.filtre = strFiltre
End If
'Filtre sur le type
On Error Resume Next
strFiltre = ""
If Not IsNull(Me.Type) Then
strFiltre = "([Code Type]='" & Me.Type & "')"
rs.filtre = strFiltre
End If

'Afficher le résultat
strFiltre = "([Code Couleur]='" & Me.Couleur & "') and ([Code Type]='" & Me.Type & "') "
Data1.Recordset.Filter = strFiltre

End Sub

7 réponses

BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
16 avril 2003 à 18:13
t'as ptre couleur qui n'est pas null, mais vide:

If Not IsNull(Me.Type) and Not IsEmpty(Me.Type) Then

:clown) BasicInstinct :clown)
0
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
16 avril 2003 à 18:19
oups, j'oubliai :

Idem pour tout tes filtres
:clown) BasicInstinct :clown)
0
ugob Messages postés 5 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 18 avril 2003
17 avril 2003 à 09:19
ça ne marche toujours pas... Les enregistrements ne sont pas filtrés.
0
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
17 avril 2003 à 09:25
comme deja par enlever ta gestion d'erreur pour voir ce qu'il se passe, et rajoute un truc du style data1.refresh

:clown) BasicInstinct :clown)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ugob Messages postés 5 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 18 avril 2003
17 avril 2003 à 10:10
Toujours pas...

J'ai limite la recherche à un critère. Pour simplifié le code :
ca donne :


Private Sub RechercheCritère_Click()
Dim strFiltre As String
Dim strStatut As String
Dim avrMotsClef As Variant
Dim varMotsClef As Variant
'Filtre sur la couleur

If Not IsNull(Me.Couleur) And Not IsEmpty(Me.Couleur) ThenstrFiltre "([Code Couleur]'" & Me.Couleur & "')"
filtre = strFiltre
End If
'Afficher le résultat
strFiltre = "([Code Couleur]='" & Me.Couleur & "')"
Data1.Recordset.Filter = strFiltre
Data1.Refresh

End Sub


Qu'est ce que je rajoute ou enleve?
0
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
17 avril 2003 à 10:23
Private Sub RechercheCritère_Click()
Dim strFiltre As String
Dim strStatut As String
Dim avrMotsClef As Variant
Dim varMotsClef As Variant
'Filtre sur la couleur

If Not IsNull(Me.Couleur) And Not IsEmpty(Me.Couleur) ThenstrFiltre "[Code Couleur]" & Me.Couleur  
else
strFiltre=""
End If

'Afficher le résultat
Data1.Recordset.Filter = strFiltre
Data1.Refresh

End Sub


par contre si tu veux filtrer sur 2 champs, faudra que tu rajoute 1 AND au milieu

:clown) BasicInstinct :clown)
0
ugob Messages postés 5 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 18 avril 2003
17 avril 2003 à 10:46
Ca ne filtre toujours pas les enregistrements...
0
Rejoignez-nous