dante76 Divine Comédie | Bonjour a tous.
Je suis en train de faire une application qui gère mes films.
En ce moment je suis en train de pencher sur l'ajout d'un film, mais il se trouve que j'ai un petit problème.
Algorithmiquement, c'est bon mais je ne vois ou est le problème.Le compilateur me fait Aucun enregistrement en cours et ne veut pas insérer le nouveau film dans la base de donnée. Voici mon code :
Code :
- Private Sub ajouter_fiche_Click()
- Dim maBase As Database
- Dim monRecordset As Recordset
- Dim cancel As Boolean
- 'Connexion à la base de donnée'
- Set maBase = OpenDatabase("F:\richaud\Documents and Settings\Richaud Julien\Mes documents\Cours informatique\PTI\VB - Gestion des films\film.mdb" )
- 'Va chercher le nom du film'
- Set monRecordset = maBase.OpenRecordset( _
- "SELECT NomFilm,TitreOriginal,DateSortie,Realisateur,Synopsis,Duree,Image,LibNat,LibelleGenre,NomActeur FROM Film,Acteur,Joue,Nationalite,Genre WHERE NomFilm='" & titre_film.Text & "' AND Film.NumFilm=Joue.NumFilm AND Joue.NumActeur=Acteur.NumActeur AND Film.CodeGenre=Genre.CodeGenre AND Film.CodeNat=Nationalite.CodeNat ", dbOpenSnapshot)
-
- 'Vérification du champs titre'
- If StrComp(titre_film, "", vbTextCompare) = 0 Then
- MsgBox "Le titre du film doit-être renseigné", vbOKOnly + vbExclamation, "Erreur"
- GoTo Fin
- End If
- 'Vérification du champ genre'
- If StrComp(Genre_film, "", vbTextCompare) = 0 Then
- MsgBox "Le genre doit être renseigné", vbOKOnly + vbExclamation, "Erreur"
- GoTo Fin
- End If
- 'Vérification du champ Nationalité'
- If StrComp(Nationnalité_film, "", vbTextCompare) = 0 Then
- MsgBox "La nationalité doit être renseignée", vbOKOnly + vbExclamation, "Erreur"
- GoTo Fin
- End If
- 'Vérification du champ Réalisateur'
- If StrComp(Réalisateur_film, "", vbTextCompare) = 0 Then
- MsgBox "Le réalisateur doit être renseigné", vbOKOnly + vbExclamation, "Erreur"
- GoTo Fin
- End If
- 'Vérification de la date'
- If StrComp(date, "", vbTextCompare) = 0 Then
- MsgBox "La date doit être renseignée", vbOKOnly + vbExclamation, "Erreur"
- GoTo Fin
- End If
- 'Vérification si le champs date est numérique'
- If Not IsNumeric(date) Then
- 'Annule la validation de contrôle'
- cancel = True
- MsgBox "Veuillez entrer un nombre !"
- GoTo Fin
- End If
- 'Vérification de la durée'
- If StrComp(Durée_film, "", vbTextCompare) = 0 Then
- MsgBox "La durée doit être renseignée", vbOKOnly + vbExclamation, "Erreur"
- GoTo Fin
- End If
- 'Vérification du commentaire'
- If StrComp(commentaire, "", vbTextCompare) = 0 Then
- MsgBox "Le commentaire doit être renseigné", vbOKOnly + vbExclamation, "Erreur"
- GoTo Fin
- End If
- 'Vérifier si le film existe déjà'
- If monRecordset.RecordCount > 0 Then
- If titre_film.Text = monRecordset!NomFilm Then
- rep = MsgBox("Le film " & titre_film.Text & " existe déjà" )
- End If
- Else
- 'Mise à jour de la base de donnée'
- maBase.Execute ("INSERT into Film (NomFilm,TitreOriginal,DateSortie,Realisateur,Synopsis,Duree,Image) VALUES ('" & titre_film.Text & "','" & Titre_Original.Text & "','" & date & "','" & Réalisateur_film.Text & "','" & commentaire.Text & "','" & Durée_film.Text & "','" & chemin_fichier_affiche.Text & "')" )
- MsgBox "Le film a été enregistré", vbOKOnly + vbInformation, "Confirmation d'ajout"
-
- monRecordset.MoveLast
- monRecordset.MoveFirst
-
- End If
- 'Raz des champs'
- titre_film.Text = ""
- Titre_Original.Text = ""
- Genre_film.Text = ""
- Nationnalité_film.Text = ""
- Réalisateur_film.Text = ""
- date.Text = ""
- Durée_film.Text = ""
- LstAjActeur.Clear
- chemin_fichier_affiche.Text = ""
- commentaire.Text = ""
- 'Fermeture du recordset'
- monRecordset.Close
- Fin:
- End Sub
|
Merci d'avance de vos réponses. |