Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 13/09/2011, 16h01   #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 Recherche multi critères

Bonjour,

j'ai le code suivant:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub CmdFiltre_Click()
Dim f As String
If Not IsNull(Me.RGIPA) And Me.RGIPA <> "" Then
    f = "Num_GIPA = " & Me.RGIPA
End If
 
If Not IsNull(Me.RnomPA) And Me.RnomPA <> "" Then
    f = "NomPointTransport = '" & Me.RnomPA & "'"
End If
 
Filter = f
FilterOn = True
 
End Sub
Cela me permet de faire la recherche en fonction de Num_GIPA "ou" NomPointTransport.
Mais je souhaite pouvoir faire une recherche en fontion de Num_GIPA "et" NomPointTransport

Que dois-je modifier?

merci d'avance pour vos réponses
josi1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 16h11   #2
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 256
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 256
Points : 1 872
Points : 1 872
Bonjour,

Dans le 2e if, si f a déjà un critère il faut écrire
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 16h13   #3
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 584
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 584
Points : 2 143
Points : 2 143
Bonjour, essaie :
Code :
1
2
3
4
5
6
 
 
If Not IsNull(Me.RGIPA) And Me.RGIPA <> "" Then
    Filter = "Num_GIPA = " & Me.RGIPA & " AND NomPointTransport = '" & Me.RnomPA & "'"
FilterOn = True
End If
__________________
"tout le monde veut sauver la planète, mais personne ne veut descendre les poubelles." J Yanne
micniv est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/09/2011, 16h19   #4
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 729
Points : 8 729
Bonjour,

Je partirais sur le principe de Nicolas comme ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub CmdFiltre_Click()
    Dim f As String
    f = ""
    If Not IsNull(Me.RGIPA) And Me.RGIPA <> "" Then
        f = "Num_GIPA = " & Me.RGIPA
    End If
 
    If Not IsNull(Me.RnomPA) And Me.RnomPA <> "" Then
        If f <> "" Then
            f = f & "AND NomPointTransport = '" & Me.RnomPA & "'"
        Else
            f = "NomPointTransport = '" & Me.RnomPA & "'"
        End If
    End If
 
    Filter = f
    FilterOn = True
 
End Sub
Cela te permet de faire une recherche (Num_GIPA ou NomPointTransport) OU (Num_GIPA et NomPointTransport)

Par contre le code de Michel présente l'avantage de ne faire le filtre que si il y a une saisie.

Dans le code ci-dessus si rien est saisie dans les deux champs il y aura une erreur de levée par Access.

Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/09/2011, 16h36   #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
Merci pour les réponses, j'ai opté pour la solution de Dolphy qui correspond bien à ce que je souhaitais
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 00h22.


 
 
 
 
Partenaires

Hébergement Web