Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2011, 12h36   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2011
Messages : 53
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 53
Points : 11
Points : 11
Par défaut Formulaire Recherche filtre

Bonjour,

je dois créer un Formulaire et je dois y mettre une recherche par Ligne de Bus mais je ne veux pas utiliser le filtre automatique d'access.
j'avais créer un formulaire de recherche avec un bouton bascule qui permettait de faire une recherche par ligne de bus, destination et points d'arrêt qui fonctionnait comme ceci:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub CmdFiltre_Click()
f = ""
If Not IsNull(Me.Rligne) And Me.Rligne <> "" Then
f = "IndiceInterne LIKE ""*" & Me.Rligne & "*"""
End If
If f <> "" Then
f = f & " AND Nom_PA LIKE ""*" & Me.Rnom & "*"""
Else
f = "Nom_PA LIKE ""*" & Me.Rnom & "*"""
End If
If f <> "" Then
f = f & " AND Destination LIKE ""*" & Me.Rdestination & "*"""
Else
f = "Destination LIKE ""*" & Me.Rdestination & "*"""
End If
Me.Filter = f
Me.FilterOn = True
End Sub
sauf que je souhaite à présent faire une recherche que par ligne et en tapant exaxtement le numéro de la ligne contrairement çà ci-dessus. j'ai donc enlevé les autres critères et le code vba que j'ai est:

Code :
1
2
3
4
5
6
7
8
Private Sub CmdFiltre_Click()
f = ""
If Not IsNull(Me.Rligne) And Me.Rligne <> "" Then
f = "IndiceInterne ""*" & Me.Rligne & "*"""
End If
Me.Filter = f
Me.FilterOn = True
End Sub
mais maintenant ça ne fonctionne plus.
josi1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 12h43   #2
Membre régulier
 
Homme Michaël
Développeur .NET
Inscription : avril 2008
Messages : 80
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : avril 2008
Messages : 80
Points : 84
Points : 84
C'est parce que tu as supprimé le LIKE mais pas les *

si la correspondance doit être exacte tu dois faire ceci:

Code :
1
2
3
4
5
6
7
8
 
Dim f As String
If Not IsNull(Me.Rligne) And Me.Rligne <> "" Then
    f = "IndiceInterne = '" & Me.Rligne & "'"
End If
 
Filter = f
FilterOn = True
mkl238 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/07/2011, 14h55   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2011
Messages : 53
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 53
Points : 11
Points : 11
merci mais ça m'afficher erreur d'execution 2001, opération annulée. et sur mon code j'ai uniquement la ligne filter=f qui est en surbrillance. je ne trouve pas de solution à ce problème
josi1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 15h44   #4
Membre régulier
 
Homme Michaël
Développeur .NET
Inscription : avril 2008
Messages : 80
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : avril 2008
Messages : 80
Points : 84
Points : 84
que contient f quand ca plante et que c'est en surbrillance?
mkl238 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 16h24   #5
Candidat au titre de Membre du Club
 
Inscription : juillet 2011
Messages : 53
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 53
Points : 11
Points : 11
j'ai que ça:

f = "IndiceInterne = '" & Me.Rligne & "'"

sinon dans variable local j'ai :

: f : "IndiceInterne = '27'" : String

Mais mon Indice interne est numérique dans ma table, peut etre que le probleme vient de là, mais je ne sais pas ce qu'il faut modifier dans ce cas
josi1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 16h36   #6
Membre régulier
 
Homme Michaël
Développeur .NET
Inscription : avril 2008
Messages : 80
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : avril 2008
Messages : 80
Points : 84
Points : 84
oui c'est ça si c'est un numérique tu dois supprimer les ' ce qui donne:

Code :
1
2
3
4
5
6
7
Dim f As String
If Not IsNull(Me.Rligne) And Me.Rligne <> "" Then
    f = "IndiceInterne = " & Me.Rligne 
End If
 
Filter = f
FilterOn = True
mkl238 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/07/2011, 16h52   #7
Candidat au titre de Membre du Club
 
Inscription : juillet 2011
Messages : 53
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 53
Points : 11
Points : 11
merci, ça marche très bien
josi1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h04.


 
 
 
 
Partenaires

Hébergement Web