Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1193 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème d'ajout vb6

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème d'ajout vb6

n°1723082
dante76
Divine Comédie
Posté le 23-04-2008 à 18:01:19  profilanswer
 

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 :
  1. Private Sub ajouter_fiche_Click()
  2. Dim maBase As Database
  3. Dim monRecordset As Recordset
  4. Dim cancel As Boolean
  5. 'Connexion à la base de donnée'
  6. Set maBase = OpenDatabase("F:\richaud\Documents and Settings\Richaud Julien\Mes documents\Cours informatique\PTI\VB - Gestion des films\film.mdb" )
  7. 'Va chercher le nom du film'
  8. Set monRecordset = maBase.OpenRecordset( _
  9. "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)
  10.  
  11. 'Vérification du champs titre'
  12. If StrComp(titre_film, "", vbTextCompare) = 0 Then
  13.      MsgBox "Le titre du film doit-être renseigné", vbOKOnly + vbExclamation, "Erreur"
  14.      GoTo Fin
  15. End If
  16. 'Vérification du champ genre'
  17. If StrComp(Genre_film, "", vbTextCompare) = 0 Then
  18.     MsgBox "Le genre doit être renseigné", vbOKOnly + vbExclamation, "Erreur"
  19.     GoTo Fin
  20. End If
  21. 'Vérification du champ Nationalité'
  22. If StrComp(Nationnalité_film, "", vbTextCompare) = 0 Then
  23.     MsgBox "La nationalité doit être renseignée", vbOKOnly + vbExclamation, "Erreur"
  24.     GoTo Fin
  25. End If
  26. 'Vérification du champ Réalisateur'
  27. If StrComp(Réalisateur_film, "", vbTextCompare) = 0 Then
  28.     MsgBox "Le réalisateur doit être renseigné", vbOKOnly + vbExclamation, "Erreur"
  29.     GoTo Fin
  30. End If
  31. 'Vérification de la date'
  32. If StrComp(date, "", vbTextCompare) = 0 Then
  33.     MsgBox "La date doit être renseignée", vbOKOnly + vbExclamation, "Erreur"
  34.     GoTo Fin
  35. End If
  36. 'Vérification si le champs date est numérique'
  37. If Not IsNumeric(date) Then
  38.     'Annule la validation de contrôle'
  39.     cancel = True
  40.     MsgBox "Veuillez entrer un nombre !"
  41.     GoTo Fin
  42. End If
  43. 'Vérification de la durée'
  44. If StrComp(Durée_film, "", vbTextCompare) = 0 Then
  45.     MsgBox "La durée doit être renseignée", vbOKOnly + vbExclamation, "Erreur"
  46.     GoTo Fin
  47. End If
  48. 'Vérification du commentaire'
  49. If StrComp(commentaire, "", vbTextCompare) = 0 Then
  50.     MsgBox "Le commentaire doit être renseigné", vbOKOnly + vbExclamation, "Erreur"
  51.     GoTo Fin
  52. End If
  53. 'Vérifier si le film existe déjà'
  54. If monRecordset.RecordCount > 0 Then
  55.     If titre_film.Text = monRecordset!NomFilm Then
  56.         rep = MsgBox("Le film " & titre_film.Text & " existe déjà" )
  57.     End If
  58. Else
  59.     'Mise à jour de la base de donnée'
  60.     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 & "')" )
  61.     MsgBox "Le film a été enregistré", vbOKOnly + vbInformation, "Confirmation d'ajout"
  62.    
  63.     monRecordset.MoveLast
  64.     monRecordset.MoveFirst
  65.    
  66. End If
  67. 'Raz des champs'
  68. titre_film.Text = ""
  69. Titre_Original.Text = ""
  70. Genre_film.Text = ""
  71. Nationnalité_film.Text = ""
  72. Réalisateur_film.Text = ""
  73. date.Text = ""
  74. Durée_film.Text = ""
  75. LstAjActeur.Clear
  76. chemin_fichier_affiche.Text = ""
  77. commentaire.Text = ""
  78. 'Fermeture du recordset'
  79. monRecordset.Close
  80. Fin:
  81. End Sub


 
Merci d'avance de vos réponses.

mood
Publicité
Posté le 23-04-2008 à 18:01:19  profilanswer
 

n°1723426
tegu
Posté le 24-04-2008 à 11:03:57  profilanswer
 

Sur quelle ligne de code se déclenche l'erreur « aucun enregistrement en cours » ?

n°1723979
dante76
Divine Comédie
Posté le 24-04-2008 à 19:03:33  profilanswer
 

Sur la ligne du movelast

n°1724451
tegu
Posté le 25-04-2008 à 14:44:06  profilanswer
 

Deux choses à tester :
« If monRecordset Is Nothing » après l'ouverture du recordset par .OpenRecordset  
et
« If Not monRecordset.BOF Then » pour t'assurer que des enregistrements existent dans le recordset et que le pointeur d'enregistrement peut s'y déplacer.
 
tiré de la doc en ligne

Lorsque vous ouvrez un objet Recordset, le premier enregistrement est l'enregistrement actuel et la propriété BOF a la valeur False. Si l'objet Recordset ne contient aucun enregistrement, la propriété BOF a la valeur True, et il n'y a pas d'enregistrement actuel.



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème d'ajout vb6

 

Sujets relatifs
Probleme sur une macro excel qui ne copie pas tout[RESOLU] "applet not initiated" : quelle erreur dans le code HTML ?
[RESOLU] probleme file.exists()Petit probléme fichier
Probleme de LIMIT dans un $mysql_query (variables inside:D)Problème W3c code pas valide?
Problème : code html à insérer dans le javascriptproblème de menu(balise a:hover)
Problème avec le WWWProblème cible / iframe
Plus de sujets relatifs à : Problème d'ajout vb6


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR