Prb VBA-Access, incompatibilité de type

chris -  
DarkAurora Messages postés 443 Statut Membre -
Je voudrais réaliser un formulaire dans access afin de saisir des données qui seront ajoutées à une ou plusieurs tables.
J'ai associé à ce formulaire un bouton faisant référence à code vba:

Option Compare Database

Private Sub Commande10_Click()
On Error GoTo Err_Commande10_Click

Dim db As Database
Dim rs As Recordset

Set db = CurrentDb()

Set rs = db.OpenRecordset("Ligne", dbOpenTable) 'Ligne est le nom de ma table

rs.AddNew
rs.Fields("no_ligne") = [Texte2] ' je veux ajouter le contenu du champs Texte2 à la colonne "no_ligne" de ma table "Ligne"

rs.Update
rs.Close

Exit_Commande10_Click:
Exit Sub

Err_Commande10_Click:
MsgBox Err.Description
Resume Exit_Commande10_Click

End Sub

Lorsque je clique sur le bouton du formulaire access, un message d'erreur m'indique une incompatilité de type.L'erreur provient apparemment de :
Set rs = db.OpenRecordset("Ligne", dbOpenTable)

mais je ne vois pas du tout pourquoi.
merci de votre aide

3 réponses

  1. Tiotus
     
    remplacer
    Set rs = db.OpenRecordset("Ligne", dbOpenTable) Par

    Set rs = db.OpenRecordset("Ligne", DB_OPEN_DYNASET)

    Relancer moi si ça ne marche pas
    0
    1. chris
       
      Même après avoir remplacé rs = db.OpenRecordset("Ligne", dbOpenTable)
      par Set rs = db.OpenRecordset("Ligne", DB_OPEN_DYNASET), l'incompatibilité de type est toujours là, et je ne vois toujours pas d'où ça vient.
      Merci de votre aide.


      0
  2. Mouse
     
    Salut,

    Ton code est bon, y'a aucun probleme la dessus. En fait le probleme doit venir d'autre part. Quelques possibilites :
    1 ton champs no_ligne est numerique alors que texte2 est du texte.
    2 Tu as deja declare rs en variable public mais autrement qu'en objet recordset.
    3 Tu es sur que ligne est bien une table ?

    pour info (independant de ton probleme), tu peux ecrire directement
    rs!no_ligne=texte2

    Bonne chance

    0
    1. chris
       
      Apparement le problemes ne vient pas des 3 hypotheses que tu as émises.
      Est ce qu il est possible que cela vienne d'un mauvais parametrage d'access ou vba?
      Pourtant toutes les références nécessaires semblent être installées (Microsoft DAO 3.6 Object Librairy, etc...).
      Donc je ne vois vraiment pas d'où l'erreur peut venir.
      Si quelqu'un a une idee ou une suggestion, il est le bienvenu.
      Merci d'avance.
      0
  3. DarkAurora Messages postés 443 Statut Membre 27
     
    peut on seulement dire que database et recordet sont de même type?
    même le set var recordset var database.openrecordset ce n'est pas un peu dure?^^
    0