Bonsoir membres du forum,
1) Voici un code de Jeannot45
que j’ai adapté au mien
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 Private Sub txtTitre_Change() Dim l_strWhere As String l_strWhere = "WHERE Titre Like " & Chr(34) & _ "*" & Me.ActiveControl.Text & "*" & Chr(34) With Me.lstTitre .RowSourceType = "Table/Requête" .RowSource = "SELECT T_Livres.CodeLivre, T_Livres.TITRE FROM T_Livres " & _ l_strWhere & _ " ORDER BY T_Livres.TITRE" .Requery End With End Sub
Cependant, je souhaiterais que le code filtre les données selon l’année scolaire
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 Private Sub TxtRecherche_ListeELEVES_Chiffre_Littre_Chiffre_Littre_Change() Dim l_strWhere As String l_strWhere = "WHERE NPrenomsEleves Like " & Chr(34) & _ "*" & Me.ActiveControl.Text & "*" & Chr(34) ' & " And [ANNEE_SCOL] = " & lstAnnee_Evaluation With Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche '& " and [lstAnnee_Evaluation] = " & "[Forms]![Frm_EvaluationScolaireElevesECIND_ARABE]![lstAnnee_Evaluation]" .RowSourceType = "Table/Requête" .RowSource = "SELECT Eleve_INSCRIT_Req_Plus.MleEleve , Eleve_INSCRIT_Req_Plus.NPrenomsEleves,Eleve_INSCRIT_Req_Plus.GenreEleveInscrit,Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR,Eleve_INSCRIT_Req_Plus.ClasseArabe,Eleve_INSCRIT_Req_Plus.ANNEE_SCOL ,Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & _ l_strWhere & _ " ORDER BY Eleve_INSCRIT_Req_Plus.MleEleve" .Requery End With End Sub
en cours …
exemple : & " And [ANNEE_SCOL] = " & lstAnnee_Evaluation, etc. mais
ça marche pas. Quelle serait la solution ?
2) Voici le code de caféine qui m’a été suggéré :
Voici mon code essai d’adaptation:
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 Dim SQL As String Dim SQLWhere As String ' la requête contient une clause WHERE qui ne fait aucune exclusion puisque qu'on teste que la clé primaire est <> 0 SQL = "SELECT CodMedia, Titre, Auteur, Famille, Type FROM Medias Where Medias!CodMedia <> 0 " ' on teste ensuite chaque zone de liste déroulante pour construire la suite de la clause WHERE et on l'ajoute à la suite If Me.LstAuteur <> "" Then SQL = SQL & "And Medias!Auteur like '*" & Me.txtRechAuteur & "*' " End If If Me.LstFamille <> "" Then SQL = SQL & "And Medias!Famille = '" & Me.cmbRechFamille & "' " End If If Me.LstResume <> "" Then SQL = SQL & "And Medias!Résumé like '*" & Me.txtRechResume & "*' " End If If Me.LstTitre <> "" Then SQL = SQL & "And Medias!Titre like '*" & Me.txtRechTitre & "*' " End If If Me.LstType <> "" Then SQL = SQL & "And Medias!Type = '" & Me.cmbRechType & "' " End If SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1)) SQL = SQL & ";" ' on affiche le nombre d'enregistrements sélectionnés / le nombre total Me.lblStats.Caption = DCount("*", "Medias", SQLWhere) & " / " & DCount("*", "Medias") ' on recharge la source de données Me.lstResults.RowSource = SQL Me.lstResults.Requery
Message d’erreur:
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 Private Sub CmdRechercheEleveMethodeCafeine_Click() Dim SQL As String Dim SQLWhere As String ' la requête contient une clause WHERE qui ne fait aucune exclusion puisque qu'on teste que la clé primaire est <> 0 SQL = "SELECT Mleeleve, NPrenomsEleves, GenreEleveInscrit, NPrenomsElevesAR, ClasseArabe, ANNEE_SCOL,ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus Where Eleve_INSCRIT_Req_Plus!Mleeleve <> 0 " ' on teste ensuite chaque zone de liste déroulante pour construire la suite de la clause WHERE et on l'ajoute à la suite If Me.lstClasse_Evaluation <> "" Then SQL = SQL & "And Eleve_INSCRIT_Req_Plus!ClasseArabe like '*" & Me.lstClasse_Evaluation & "*' " End If If Me.lstAnnee_Evaluation <> "" Then SQL = SQL & "And Eleve_INSCRIT_Req_Plus!ANNEE_SCOL = '" & Me.CmdRechercheEleveMethodeCafeine & "' " End If If Me.ID_ETABL_FREQ <> "" Then SQL = SQL & "And Eleve_INSCRIT_Req_Plus!ID_ETABL_FREQ like '*" & Me.CmdRechercheEleveMethodeCafeine & "*' " End If 'If Me.LstTitre <> "" Then 'SQL = SQL & "And Medias!Titre like '*" & Me.txtRechTitre & "*' " 'End If 'If Me.LstType <> "" Then 'SQL = SQL & "And Medias!Type = '" & Me.cmbRechType & "' " ' End If SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1)) SQL = SQL & ";" ' on affiche le nombre d'enregistrements sélectionnés / le nombre total 'Me.lblStats.Caption = DCount("*", "Medias", SQLWhere) & " / " & DCount("*", "Medias") ' on recharge la source de données Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche.RowSource = SQL Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche.Requery End Sub
Je ne comprends pas bien le code de Caféine.
J’espère pouvoir le comprendre grâce à vos interventions.
Pièce jointe
Cordialement.
Partager