OVH Cloud OVH Cloud

Filtre dans un formulaire

3 réponses
Avatar
Brucat
Bonjour à toutes et à tous,

J'ai crée un formulaire de saisie avec un onglet de recherche. Je remplit
des contrôles indépendants.
Mon souci est que je filtre uniquement à partir de la valeur rentrée dans le
controle RRue alors que je voudrais pouvoir trouver l'enregistrement qui
contient :
la ville, le N°, le type et la rue.

Pourriez-vous m'indiquer mon erreur. Par avance Merci.

Brucat

Private Function FiltreEnrg()
Dim sFiltre As String

If (Not IsNull(RVille)) Then
sFiltre = "[Ville]='" & RVille & "' AND "
End If

If (Not IsNull(RN°)) Then
sFiltre = "[N° Rue]='" & RN° & "' AND "
End If

If (Not IsNull(RType)) Then
sFiltre = "[Voie]='" & RType & "' AND "
End If

If (Not IsNull(RNom)) Then
sFiltre = "Forms!Usager!Nom='" & RNom & "' AND "
End If

If (Not IsNull(RRue)) Then
sFiltre = "[Rue]='" & RRue & "' AND "
End If


If sFiltre = "" Then
MsgBox "Aucune Commande ne correspond à votre recherche" & vbCrLf &
"Vérifier vos critéres de selection"
Me.Filter = ""
Me.FilterOn = False
Else
sFiltre = Left$(sFiltre, Len(sFiltre) - 5)
sFiltre = sFiltre & ""
If (Left(sFiltre, 1) <> "") Then sFiltre = "" & sFiltre
Me.Filter = sFiltre
Me.FilterOn = True
End If
End Function

3 réponses

Avatar
pgz
Bonjour,

Au lieu de chaque ligne du style
sFiltre = "[N° Rue]='" & RN° & "' AND "
Ecrire :
sFiltre = sFiltre & "[N° Rue]='" & RN° & "' AND "

Bon courage,

PGZ
--
pgz
_____________________________




Bonjour à toutes et à tous,

J'ai crée un formulaire de saisie avec un onglet de recherche. Je remplit
des contrôles indépendants.
Mon souci est que je filtre uniquement à partir de la valeur rentrée dans le
controle RRue alors que je voudrais pouvoir trouver l'enregistrement qui
contient :
la ville, le N°, le type et la rue.

Pourriez-vous m'indiquer mon erreur. Par avance Merci.

Brucat

Private Function FiltreEnrg()
Dim sFiltre As String

If (Not IsNull(RVille)) Then
sFiltre = "[Ville]='" & RVille & "' AND "
End If

If (Not IsNull(RN°)) Then
sFiltre = "[N° Rue]='" & RN° & "' AND "
End If

If (Not IsNull(RType)) Then
sFiltre = "[Voie]='" & RType & "' AND "
End If

If (Not IsNull(RNom)) Then
sFiltre = "Forms!Usager!Nom='" & RNom & "' AND "
End If

If (Not IsNull(RRue)) Then
sFiltre = "[Rue]='" & RRue & "' AND "
End If


If sFiltre = "" Then
MsgBox "Aucune Commande ne correspond à votre recherche" & vbCrLf &
"Vérifier vos critéres de selection"
Me.Filter = ""
Me.FilterOn = False
Else
sFiltre = Left$(sFiltre, Len(sFiltre) - 5)
sFiltre = sFiltre & ""
If (Left(sFiltre, 1) <> "") Then sFiltre = "" & sFiltre
Me.Filter = sFiltre
Me.FilterOn = True
End If
End Function





Avatar
Brucat
Merci beaucoup cela fonctionne

Mais j'ai un petit souci lors de la saisie de ma rue

J'écris "DE L'EGLISE" et là j'ai une erreur.

Merci pour l'aide
"pgz" a écrit dans le message de news:

Bonjour,

Au lieu de chaque ligne du style
sFiltre = "[N° Rue]='" & RN° & "' AND "
Ecrire :
sFiltre = sFiltre & "[N° Rue]='" & RN° & "' AND "

Bon courage,

PGZ
--
pgz
_____________________________




Bonjour à toutes et à tous,

J'ai crée un formulaire de saisie avec un onglet de recherche. Je remplit
des contrôles indépendants.
Mon souci est que je filtre uniquement à partir de la valeur rentrée dans
le
controle RRue alors que je voudrais pouvoir trouver l'enregistrement qui
contient :
la ville, le N°, le type et la rue.

Pourriez-vous m'indiquer mon erreur. Par avance Merci.

Brucat

Private Function FiltreEnrg()
Dim sFiltre As String

If (Not IsNull(RVille)) Then
sFiltre = "[Ville]='" & RVille & "' AND "
End If

If (Not IsNull(RN°)) Then
sFiltre = "[N° Rue]='" & RN° & "' AND "
End If

If (Not IsNull(RType)) Then
sFiltre = "[Voie]='" & RType & "' AND "
End If

If (Not IsNull(RNom)) Then
sFiltre = "Forms!Usager!Nom='" & RNom & "' AND "
End If

If (Not IsNull(RRue)) Then
sFiltre = "[Rue]='" & RRue & "' AND "
End If


If sFiltre = "" Then
MsgBox "Aucune Commande ne correspond à votre recherche" & vbCrLf &
"Vérifier vos critéres de selection"
Me.Filter = ""
Me.FilterOn = False
Else
sFiltre = Left$(sFiltre, Len(sFiltre) - 5)
sFiltre = sFiltre & ""
If (Left(sFiltre, 1) <> "") Then sFiltre = "" & sFiltre
Me.Filter = sFiltre
Me.FilterOn = True
End If
End Function







Avatar
Eric
Bonjour,

Tu devrais mettre :
sFiltre = sFiltre & "[N° Rue]=" & chr(34) & RN° & chr(34) & " AND "
à adapter pour tous les champs pouvant contenir une apostrophe.

Merci beaucoup cela fonctionne

Mais j'ai un petit souci lors de la saisie de ma rue

J'écris "DE L'EGLISE" et là j'ai une erreur.

Merci pour l'aide
"pgz" a écrit dans le message de news:


Bonjour,

Au lieu de chaque ligne du style
sFiltre = "[N° Rue]='" & RN° & "' AND "
Ecrire :
sFiltre = sFiltre & "[N° Rue]='" & RN° & "' AND "

Bon courage,

PGZ
--
pgz
_____________________________





Bonjour à toutes et à tous,

J'ai crée un formulaire de saisie avec un onglet de recherche. Je remplit
des contrôles indépendants.
Mon souci est que je filtre uniquement à partir de la valeur rentrée dans
le
controle RRue alors que je voudrais pouvoir trouver l'enregistrement qui
contient :
la ville, le N°, le type et la rue.

Pourriez-vous m'indiquer mon erreur. Par avance Merci.

Brucat

Private Function FiltreEnrg()
Dim sFiltre As String

If (Not IsNull(RVille)) Then
sFiltre = "[Ville]='" & RVille & "' AND "
End If

If (Not IsNull(RN°)) Then
sFiltre = "[N° Rue]='" & RN° & "' AND "
End If

If (Not IsNull(RType)) Then
sFiltre = "[Voie]='" & RType & "' AND "
End If

If (Not IsNull(RNom)) Then
sFiltre = "Forms!Usager!Nom='" & RNom & "' AND "
End If

If (Not IsNull(RRue)) Then
sFiltre = "[Rue]='" & RRue & "' AND "
End If


If sFiltre = "" Then
MsgBox "Aucune Commande ne correspond à votre recherche" & vbCrLf &
"Vérifier vos critéres de selection"
Me.Filter = ""
Me.FilterOn = False
Else
sFiltre = Left$(sFiltre, Len(sFiltre) - 5)
sFiltre = sFiltre & ""
If (Left(sFiltre, 1) <> "") Then sFiltre = "" & sFiltre
Me.Filter = sFiltre
Me.FilterOn = True
End If
End Function










--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr