Bonjour à toutes et à tous !

tout d'abord je voudrais vous remercier pour ce forum que j'ai déjà plutot bien parcouru ces 3 dernières semaines afin de me familiariser avec access et le VBA.
J'ai également acheté 2 bouquins afin de m'aider dans mon apprentissage dont VBA ACCESS 2007 programmer sous access de michèle amelot.

j'ai tenté de suivre son guide afin de créer une application qui gère les formations des employés de mon entreprise et dans l'ensemble tout fonctionne parfaitement.

en gros ma base de donnée est la suivante.

Une table qui regroupe les formations
Une table employés
Une table Domaines
Une table Organisme de formation
Une table Participants

Un formulaire Menu principal
qui donne accès à un formulaire saisie de formation
dans lequel on entre les données pour remplir la base de données

et qui donne l'accès à un formulaire recherche
dans lequel on selectionne des critères afin de filtrer la BDD et d'imprimer un état avec les données filtrées.

tout fonctionne nikel mis à part un de mes filtres. L'erreur doit etre toute bete mais je ne la vois pas.

Voici mon code évènement lorsque l'on actionne le bouton rechercher

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Private Sub cmdRechercher_Click()
 
'   Crée la requête en fonction des critères saisis
If cboEmploye <> "" Then
   '  Tables formations et participants
   strSQL = "SELECT FOR_IDFORM, FOR_INTITULE, " _
    & "FOR_IDDOM, FOR_IDORGA, FOR_DATEDEB, FOR_DATEFIN, " _
    & "PART_IDEMP FROM FORMATIONS INNER JOIN PARTICIPANTS " _
    & "ON FORMATIONS.FOR_IDFORM = PARTICIPANTS.PART_IDFORM"
Else
'  Table formation
   strSQL = "SELECT FOR_IDFORM, FOR_INTITULE, " _
   & "FOR_IDDOM, FOR_IDORGA, " _
   & "FOR_DATEDEB, FOR_DATEFIN FROM FORMATIONS "
End If
 
'   Prépare la clause Where de la requête SQL
'   en concaténant les critères
p_strCond = ""
p_lngEmp = 0
If cboDomaine <> "" Then
   p_strCond = p_strCond _
             & " AND FOR_IDDOM = " & cboDomaine
End If
If cboOrganisme <> "" Then
   p_strCond = p_strCond _
             & " AND FOR_IDORGA = " & cboOrganisme
End If
If cboage <> "" Then
   p_strCond = p_strCond _
             & " AND FOR_AGEFOMAT = " & cboage
End If
If cboEmploye <> "" Then
   p_strCond = p_strCond _
             & " AND PART_IDEMP = " & cboEmploye
   p_lngEmp = cboEmploye
 
 
End If
'   Critères sur les dates
If cboOperat1 <> "" And txtDateDeb <> "" Then
   p_strCond = p_strCond & " AND (FOR_DATEDEB " & cboOperat1 _
   & " #" & Format(DateValue(txtDateDeb), "MM/DD/YY") & "#)"
End If
If cboOperat2 <> "" And txtDateFin <> "" Then
   p_strCond = p_strCond & " AND (FOR_DATEFIN " & cboOperat2 _
   & " #" & Format(DateValue(txtDateFin), "MM/DD/YY") & "#)"
End If
 
'   Suppression du 1er AND
If p_strCond <> "" Then
   p_strCond = Right(p_strCond, (Len(p_strCond) - 4))
End If
 
'   Affecte la requête SQL au sous-formulaire
If p_strCond <> "" Then
   strSQL = strSQL & " WHERE " & p_strCond & " ORDER BY FOR_DATEDEB"
Else
   strSQL = strSQL & " ORDER BY FOR_DATEDEB"
End If
SFrmFormations.Form.RecordSource = strSQL
SFrmFormations.Form.Requery
 
End Sub
et c'est mon critère cboage qui ne fonctionne pas ...


j'esprère que vous pourrez m'aider

d'avance merci !