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 07/04/2011, 11h07   #1
Invité de passage
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 4
Points : 4
Par défaut Le filtre de tri dans un formulaire ne fonctionne pas

Bonjour à tous
Voici mon code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
Sub SetFormFilter()
 
    Dim strFilter As String
    strFilter = ""
 
 
    If Me.TabCtl136 = 2 Then
        If Not IsNull(Me.cmbFilterPipingClass) And Me.cmbFilterPipingClass <> "" Then
            If strFilter = "" Then
                strFilter = " PipingClassID = " & Me.cmbFilterPipingClass
            Else
                strFilter = strFilter & " AND PipingClassID = " & Me.cmbFilterPipingClass
            End If
        End If
     End If
 
  If Not IsNull(Me.cmbFilterDiscipline) And Me.cmbFilterDiscipline <> "" Then
        If strFilter = "" Then
           strFilter = " BOFDisciplineID = " & Me.cmbFilterDiscipline
        Else
            strFilter = strFilter & " AND BOFDisciplineID = " & Me.cmbFilterDiscipline
        End If
    End If
 
    Me.Filter = strFilter
    Me.FilterOn = True
 
If strFilter = "" Then
        Forms!frmCreateMaterial!sfrmMaterialLibrairy.Form!lstMaterialLibrairy.RowSource = "SELECT QryMaterialLibraryDropdown.MaterialSegmentID, QryMaterialLibraryDropdown.SegmentDesc" _
            & " FROM QryMaterialLibraryDropdown  " _
            & " ORDER BY QryMaterialLibraryDropdown.SegmentDesc"
 
Else 
 
         Forms!frmCreateMaterial!sfrmMaterialLibrairy.Form!lstMaterialLibrairy.RowSource = "SELECT QryMaterialLibraryDropdown.MaterialSegmentID, QryMaterialLibraryDropdown.SegmentDesc" _
            & " FROM QryMaterialLibraryDropdown WHERE " & strFilter _
            & " ORDER BY QryMaterialLibraryDropdown.SegmentDesc"
    End If
End sub
J'ai un formulaire ui me permet de filter une liste de matériel suivant différents critères. Pour ce faire j'ai créé une fonction ( voir ci-dessus) qui me permet de filtrer ma liste suivant le nom sélectionné dans ma combobox. Les valeurs des ID sont stockés dans la variable strFilter. Au sortir de mes deux premieres boucles le contenu de strFilter est le suivant
strFilter = " PipingClassID = 1 AND BOFDisciplineID = 1"
cependant au moment d'activer le filtre sur le formulaire il me demande la valeur de PipingClassID qui pourtant est déjà dans strFilter.
Je lui rentre donc de nouveau ma valeur et au moment de l'actualisation de la rowsource dans ma requete (WHERE " & strFilter ) il me demande de nouveau la valeur de PipingClassID alors que je lui est rentré précédemment quand il me l'a demandé.
J'ai l'impression qu'il ne retient pas PipingClassID et je ne comprends pas pourquoi. J'ai vérifié la syntaxe dans mes tables et je n'ai pas d'erreurs à ce niveau là. Je me tourne donc vers vous pour savoir si j'ai une erreur dnas mon code qui fait qu'il ne retient pas cette valeur.
MErci beaucoup j'espre avoir été assez clair dans l'explication de mon probleme
Pierre-alain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 13h24   #2
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour.

Je pense que tu n'as pas de contrôle nommé PipingClassID dans ton formulaire. Crées en un, même non visible.
SInon, tu devrais faire le filtrage en modifiant la requête du formulaire.

Cordialement,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 13h48   #3
Invité de passage
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 4
Points : 4
Merci pour ta réponse rapide Pgz. PipingClassID est déjà un champs de ma liste (elle est située dans un sous formulaire) donc normalement pas besoin d'en créer (ça marche pour filtrer la discipline par exemple). Quand j'afficeh ma liste elle se présente de la manière suivante:
MaterialID|MaterialDescription|DisciplineID|PipingClassID|
Donc si je choisis une PipingClass dans ma Combo box il devrait m'afficher que les enregistrements correspondants non? Ce qui est bizarre c'est que ca marceh pour la Discipline mais pas pour la piping class alors que c'est exactement la même strucure.
Cordialement
Pierre-alain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 23h53   #4
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonsoir.

Dans ce cas, peux-tu vérifier que dans ton formulaire le contrôle qui a pour controlSource le champ (de la table) "PipingClassID" est bien nommé lui aussi "PipingClassID"?

Cordialement,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 09h48   #5
Invité de passage
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 4
Points : 4
Merci pgz, j'ai trouvé ce qui n'allait pas c'était une question de requetes dans mon formulaire ( je n'avais pas utilisé le bon controle) merci beaucoup!
Pierre-alain 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 05h49.


 
 
 
 
Partenaires

Hébergement Web