Prb VBA-Access, incompatibilité de type

Fermé
chris - 13 août 2001 à 09:39
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 - 26 mai 2009 à 09:37
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

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

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

Relancer moi si ça ne marche pas
0
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
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
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
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
26 mai 2009 à 09:37
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