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
| Private Sub grille()
' debut
' corps de la grille film
'maj de la flexgrid
MSF_Film.Clear
entete_grille
'déclaration de la variable qui permettre d'afficher le ou les films recherché(s)
Dim sql As String
Dim sql1 As String 'une 2e variable chaine
'début de la requête pour effectuer la recherche
sql1 = "SELECT FILMS_NUM, FILMS_TITRE, FILMS_ACTEUR," & _
"FILMS_DUREE, FILMS_SORTIEANNEE, FILMS_FORMAT," & _
"FILMS_GENRE, FILMS_REALISATEURS FROM FILMS"
If Lst_GenreFilm = "TOUS" Or Lst_DebutLettre = "TOUS" Then
sql = sql1 + " ORDER BY FILMS_TITRE"
If Lst_DebutLettre <> "TOUS" Then 'Tous=genre et une lettre
'alors on affiche le résultat correspondant à la lettre choisie
sql = sql1 + " WHERE FILMS_TITRE LIKE '" & Lst_DebutLettre.List(Lst_DebutLettre.ListIndex) & "%'"
End If
If Lst_GenreFilm <> "TOUS" Then 'Tous=lettres et 1 genre
sql = sql1 & ", GENRES" 'vérifie pourquoi cette virgule devant GENRES
' J 'AI VERIFIE LA VIRGULE NECESSAIRE CAR C'EST FROM FILMS, GENRES SI ON L'ENLEVE CELA
'FERAIT FILMSGENRES DONC PAS BON
sql = sql & " where FILMS_GENRE = GENRE_CODE"
sql = sql & " AND GENRE_LIBELLE ='" & Lst_GenreFilm & "'"
End If
Else 'else sur la première condition
'1 genre et une lettre
sql = sql1 + " WHERE FILMS_TITRE LIKE '" & Lst_DebutLettre.List(Lst_DebutLettre.ListIndex) & "%'"
sql = sql + ", GENRES" 'vérifie pourquoi cette virgule
'VERIFICATION DE LA VIRGULE PAREIL QUE PRECEDEMMENT
sql = sql + " where FILMS_GENRE = GENRE_code"
sql = sql + " AND GENRE_LIBELLE ='" & Lst_GenreFilm & "'"
End If
Debug.Print sql ' affiche le résultat dans la fenêtre "Exécution" de l'EDI
MsgBox sql ' boite de dialogue appli |