Erreur 3061

Bonjour,

slt a tous, je voudrais bien ke kelk1 puisse m'aider , on me signale erreur 3061 : too few parameters excpected 2, je ne sais po ou réside la faute dans ce programme, voici le code en VB6
L'erreur est dans la ligne : set rs =db.OpenRecordset("select * from Film WHERE id-film = " & id_film)

Private Sub supprimer_Click()

Set db = OpenDatabase("C:\Users\eee\Desktop\exercice\db1.mdb")
Dim id_film As Integer
id_film = list1.List(list1.ListIndex)
Set rs = db.OpenRecordset("select * from Film WHERE id-film = " & id_film)
rs.MoveFirst
Do While Not rs.EOF
rs.Delete
rs.MoveNext
Loop
rs.Close
End Sub

9 réponses

  • Votes
  • Date
  • Date décroissante
  1. je ne connais pas trop VB6 par contre au niveau de ta requete essaye avec un
    Set rs = db.OpenRecordset("select * from Film WHERE id-film = '" & id_film & "'")

    (concatenation pour ajouter des simple quote ' autour de ton id_film)

    de plus il semble que cette fonction requiert deux paramètres (cf les doc sur la fonction OpenRecordset)
    1. Merci pr ta réponse, c sympa. j'ai déja essayé de mettre les quotes, mais la meme erreur, en outre les quotes c pr les chaines de caractères, alors que l'id_film c'est numerique de type number...
      Encore ce qui est bizzard, j'ai utilisé le meme code, pour supprimer des Salles, sa marche à merveille, ché po prk sa fonctionne pas avec film...
      le code de la suppression de Salles est :

      Private Sub supprimer_Click()
      Set db = OpenDatabase("C:\Users\vb\Desktop\exercice\db1.mdb")

      Dim idsalle As Integer
      idsalle = idlist.List(idlist.ListIndex)
      Set rs = db.OpenRecordset("select * from salle WHERE id_salle = " & idsalle & " ")
      rs.MoveFirst
      Do While Not rs.EOF
      rs.Delete
      rs.MoveNext
      Loop
      MsgBox " enregistrement supprimé avec succèes..."
      End Sub
      1. déjà une différence entre tes deux code tu as pour ton OpenDatabase
        C:\Users\vb\Desktop\exercice\db1.mdb
        et un
        C:\Users\eee\Desktop\exercice\db1.mdb

        est ce normal que tu ai deux chemins différents ?

        sinon l'erreur 3061 semble être du a tes champ dans ta base

        le nom de ton cham dans ta table est bien id_film et nom d_films ou idfilm ... ?

        sinon es tu sûr que ton id n'est pas vide ?
        1. ah oui les chemins, c bon j les ai corrigé..............mais la meme erreur toujours , pour l'id je me suis assurer, c le bon id-film dans la base de données .. en plus au niveau de l'affichage il fonctionne bien, il m' afffiche tout les id avec les films ainsi que leur titre etc..............
          1. voilà, j'ai une bonne nouvelle et une mauvaise lool
            quand j'ai tester le code que tu m'avais donner , on ne me signale plus cette erreur, cependant on me signale " object requierd "
            1. n'y connaissant pas bcp plus sur le VB, aurais tu plus d'information sur ton message d'erreur ?
              1. Non, j'en ai aucune idée :( j'ai tout essayé, mais en vain ..
                Je laisse tomber le truc.. Merci quand meme pour l'aide
                1. je crois il faut faire dans la requete un :
                  Set rs = db.OpenRecordset("select * from Film WHERE [id-film] = " & idfilm & " ")

                  c bon sa marche enfin