Bonjour à toutes et à tous !
Voila j'ai un probleme : je dois concevoir un logiciel sous VB 6.0 capable de gerrer une base de données contenant les infos sur une série de films. J'ai tout codé mais j'ai toujours le même probleme : rien ne s'ajoute à ma base ni se modifie. J'ai des erreurs du type 3201 qui m'informent du fait que je ne peux pas écrire sur la base car elle comprend des enregistrements connexes.
Car en fait sur ma base de donnée je joue avec la table [Présentation des films] et [Acteurs principaux].
La table [Présentation des films] est composée de :
TITRE
GENRE
ANNEE
PAYS
REALISATEUR
ACTEUR PRINCIPAL
OSCAR
NBRE ENTREE
La table [Acteurs principaux] est composée de :
NOM
PRENOM
NAISSANCE
NATIONALITE
NBRE FILMS
Voici ma fonction Ajouter un film, qui ne fonctionne pas car n'écrit rien dans la base :
Private Sub Command2_Click() 'C'est le bouton "Ajouter"
If Text1.Text = "" Then
rep = MsgBox("Vous n'avez pas saisi le titre du film !", vbCritical, "Erreur")
End If
If Check1.Value = 1 Then 'Si on choisi d'enregistrer également un acteur
Set db = OpenDatabase("C:\\Program Files\\Microsoft Visual Studio\\VB98\\Mes Projets\\Gestion de films\\Vidéo2002.mdb")
SQL = "select * from [Présentation des films]"
Set rs = db.OpenRecordset(SQL, dbOpenDynaset)
'Ajout d'un enregistrement
rs.AddNew
'On rempli à présent l'enregistrement précédemment créé :
rs.Fields("TITRE") = Text1.Text
rs.Fields("GENRE") = ComboGenre.Text
annee = ("01/01/" & ComboAnnee.Text)
rs.Fields("ANNEE") = annee
rs.Fields("PAYS") = ComboPays.Text
rs.Fields("REALISATEUR") = Text2.Text
rs.Fields("ACTEUR PRINCIPAL") = Text3.Text
rs.Fields("ENTREES (en millions)") = Val(Text4.Text)
rs.Fields("RESUME") = Text8.Text
'Gestion des deux OptionButton pour l'oscar :
If Option1.Value = True Then
rs.Fields("OSCAR") = True
ElseIf Option2.Value = True Then
rs.Fields("OSCAR") = False
End If
rs.Close
Set rs = Nothing
'Enregistrement de l'acteur
SQL2 = "select * from [Acteurs principaux]"
Set rs2 = db.OpenRecordset(SQL2, dbOpenDynaset)
'Contrôle si l'acteur existe déjà
While Not rs2.EOF
If rs2.Fields("NOM") = Text3.Text Then
existe = True
End If
rs2.MoveNext
Wend
If existe = True Then 'L'acteur existe
rep = MsgBox("L'acteur existe déjà !", vbDefaultButton1, "Attention")
Else
rs2.AddNew
rs2.Fields("NOM") = Text3.Text
rs2.Fields("PRENOM") = Text6.Text
rs2.Fields("NAISSANCE") = Text9.Text
rs2.Fields("NATIONALITE") = Combo4.Text
rs2.Fields("NBRE FILMS") = Text7.Text
rs2.Update
rs2.Close
Set rs2 = Nothing
End If
db.Close
Form3.Hide
Form1.List1.Refresh
End If
End Sub
En éspérant que vous puissiez m'aider, merci d'avance 