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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
Private Sub cmdImporter_Click()
On Error GoTo Err_cmdImporter_Click
'Importe un fichier .FILM téléchargé
'sur le site MovieCovers.com
Dim MonFilm As FilmMC 'Contient l'enregistrement du fichier à importer
Dim RepFicFilm As String 'Répertoire contenant les fichiers .FILM
Dim FicFilm As String 'Contient le nom du fichier choisi par l'utilisateur
Dim Duree
Dim NumFic As Integer 'Numéro du fichier
Dim qdf As QueryDef
'On récupère le répertoire contenant les fichiers .FILM dans le fichier ini de l'appli
RepFicFilm = LitDansFichierIni("Répertoires", "RepFichiersFilm", CurrentProject.Path + "\VideoWin.ini")
While RepFicFilm = ""
AfficheErreur "Vous devez spécifier le répertoire contenant les fichiers .FILM." + Chr$(10) + "avant de pouvoir importer un film.", "Erreur de saisie"
AfficheOptions
RepFicFilm = LitDansFichierIni("Répertoires", "RepFichiersFilm", CurrentProject.Path + "\VideoWin.ini")
Wend
With ctlDialog
.DialogTitle = "Sélectionnez un fichier .FILM" 'Titre de la boite
.Filter = "Fichiers .FILM |*.FILM"
.FileName = "*.FILM" 'On recherche un fichier d'extension .FILM
.InitDir = RepFicFilm 'Répertoire par defaut
.CancelError = False 'Pour ne pas partir en erreur si on click sur annuler
.ShowOpen
End With
FicFilm = ctlDialog.FileName
If FicFilm <> "*.FILM" Then
'Ouverture du fichier sélectionné par l'utilisateur
NumFic = FreeFile()
Open FicFilm For Input As NumFic Len = Len(MonFilm)
'On récupère le contenu du fichier
Line Input #NumFic, MonFilm.FTitre
Line Input #NumFic, MonFilm.FRéalisateurs
Line Input #NumFic, MonFilm.FAnnée
Line Input #NumFic, MonFilm.FPays
Line Input #NumFic, MonFilm.FGenres
Line Input #NumFic, MonFilm.FDurée
Line Input #NumFic, MonFilm.FActeurs
Line Input #NumFic, MonFilm.FRésumé
Line Input #NumFic, MonFilm.FDistributeur
Line Input #NumFic, MonFilm.FTitreVO
Set db = CurrentDb()
'On vérifie si le film existe
MaRequete = "SELECT * FROM FILM WHERE [Titre Film]=" & Chr(34) & MonFilm.FTitre & Chr(34)
Set rst = db.OpenRecordset(MaRequete, dbOpenDynaset)
'S'il n'existe pas, on l'ajoute
If rst.RecordCount = 0 Then
Duree = Replace(MonFilm.FDurée, "H", ":")
'MaRequete = "INSERT INTO FILM ([Titre Film])VALUES(" & "'" & MonFilm.FTitre & "'" & ")"
CurrentDb.Execute "INSERT INTO FILM ([Titre Film],[Titre VO Film],[Durée Film],[Année Film],[Résumé Film]) VALUES(" & "'" & MonFilm.FTitre & "'" & " ," & "'" & MonFilm.FTitreVO & "'" & " ," & "'" & Duree & "'" & "," & "'" & MonFilm.FAnnée & "'" & "," & "'" & CStr(MonFilm.FRésumé) & "'" & ")"
Else
'On informe l'utilisateur de l'existence du film
AfficheErreur "Ce film existe déjà dans la base de données.", "VidéoWin XP"
End If
Else
'Si l'utilisateur clique sur annuler
AfficheErreur "Importation du fichier annulée.", "VidéoWin XP"
End If
Close #NumFic
Set db = Nothing
Exit Sub
Err_cmdImporter_Click:
Close #NumFic
MsgBox Err.Description
Exit Sub
End Sub |
Partager