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
| Sub cherchestages()
Dim CF_Filtre_D As Date, CF_Filtre_F As Date
Dim SQL_String As String
'
' constitution de la requête initiale
'
SQL_String = "SELECT T_Stages.ID_Stage, T_Entreprises.Nom_EN, T_Departements.Departement_DE, T_Tuteurs.Nom_TU, T_Secteurs.Secteur, T_Stages.Titre_Stage, T_Matieres.Matiere, T_Outils.Outils, "
SQL_String = SQL_String & "[T_Services d'accueil].[Services d'accueil] FROM T_Tuteurs INNER JOIN ((((((T_Departements INNER JOIN T_Entreprises ON T_Departements.ID_Departement = T_Entreprises.ID_Departement) "
SQL_String = SQL_String & "INNER JOIN T_Stages ON T_Entreprises.ID_Entreprise = T_Stages.ID_Entreprise) INNER JOIN (T_Matieres INNER JOIN TJ_MatiereStage ON T_Matieres.[ID_Matiere 1] = TJ_MatiereStage.ID_Matiere) "
SQL_String = SQL_String & "ON T_Stages.ID_Stage = TJ_MatiereStage.ID_Stage) LEFT JOIN (T_Outils RIGHT JOIN TJ_OutilsStage ON T_Outils.[ID_Outils 1] = TJ_OutilsStage.ID_Outils) ON T_Stages.ID_Stage = TJ_OutilsStage.ID_Stage) INNER JOIN (T_Secteurs INNER JOIN TJ_SecteurStage ON T_Secteurs.[ID_Secteurs 1] = TJ_SecteurStage.ID_Secteur) "
SQL_String = SQL_String & "ON T_Stages.ID_Stage = TJ_SecteurStage.ID_Stage) LEFT JOIN ([T_Services d'accueil] RIGHT JOIN TJ_ServiceAStage ON [T_Services d'accueil].[ID_service d'accueil 1] = TJ_ServiceAStage.[ID_Service d'accueil]) ON T_Stages.ID_Stage = TJ_ServiceAStage.ID_Stage) ON T_Tuteurs.ID_Tuteur = T_Stages.ID_TU "
'
' Passage des filtres
'
SQL_String = SQL_String & "WHERE (((1)=1) "
'
If Nz(Me.FiltreNom_EN, "") > "" Then
SQL_String = SQL_String & " AND (([T_Entreprises].Nom_EN)='" & Nz(Protected_Quote(Me.FiltreNom_EN), "") & "')"
End If
'
If Nz(Me.FiltreDepartement_DE, "") > "" Then
SQL_String = SQL_String & " AND (([T_Departements].Departement_DE)='" & Nz(Protected_Quote(Me.FiltreDepartement_DE), "") & "')"
End If
'
If Nz(Me.FiltreMatiere, "") > "" Then
SQL_String = SQL_String & " AND (([T_Matieres].Matiere)='" & Nz(Protected_Quote(Me.FiltreMatiere), "") & "')"
End If
'
If Nz(Me.FiltreSecteur, "") > "" Then
SQL_String = SQL_String & " AND (([T_Secteurs].Secteur)='" & Nz(Protected_Quote(Me.FiltreSecteur), "") & "')"
End If
'
If Nz(Me.Filtreoutils, "") > "" Then
SQL_String = SQL_String & " AND (([T_Outils].Outils)='" & Nz(Protected_Quote(Me.Filtreoutils), "") & "')"
End If
'
If Nz(Me.FiltreServicesAccueil, "") > "" Then
SQL_String = SQL_String & " AND (([T_Services d'accueil].[Services d'accueil]='" & Nz(Protected_Quote(Me.FiltreServicesAccueil), "") & "')"
End If
'
' Tri sur Entreprise
'
SQL_String = SQL_String & ") ORDER BY [T_Entreprises].Nom_EN;"
'
' Enregistrement dans la requête Qry_Stages permettant
' d'effectuer le regroupement
'
CurrentDb.QueryDefs("Qry_Stages").SQL = SQL_String
'
' on passe la nouvelle requête et on rafraichit
'
Me.cntrVINS.Form.RecordSource = "Qry_Stages_Group"
Me.cntrVINS.Requery
'
Me.Requery
End Sub |
Partager