Addnew ne marche pas

Résolu
rami3b Messages postés 17 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 8 décembre 2008 - 23 sept. 2006 à 00:15
rami3b Messages postés 17 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 8 décembre 2008 - 23 sept. 2006 à 14:14
bonjour
voici mon code
------------
Sub connection()
Dim cn As New ADODB.connection, rs As New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\ella\Bureau\pointeuse\p5\pointage.mdb;Persist Security Info=False"
rs.Open "tab", cn, adOpenDynamic, adLockOptimistic
End Sub

Private Sub Command1_Click()
connection
rs.AddNew
rs("num") = 1

rs.Update
End Sub
--------------------------------------
je veu ajouter un enregistrement a la table atb sur la seule colonne qu'elle contient (num),mais j'ai une erreur (424 un objet est requis) et l'erreur pointe sur rs.AddNew

est ce qq'un a une idee sur la cause
mmerci d'avance pour vos reponses
A voir également:

7 réponses

rami3b Messages postés 17 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 8 décembre 2008
23 sept. 2006 à 14:14
maintenant ca marche,il fallait ajouter la reférence"micrsosoft activex data object library 2.0"
et puis le code:
Public conn As ADODB.connection

Public Sub connection()

Set conn = New ADODB.connection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
                                      & "Data Source=C:\Documents and Settings" _
                                      & "ella\Bureau\pointeuse\p5\pointage.mdb;" _
                                      & "Persist Security Info=False"
 conn.Open

End Sub
------------------------------
Private Sub Command1_Click()
  connection

Dim rs As ADODB.Recordset
  Set rs = New Recordset

   rs.Open " tab", conn, adOpenDynamic, adLockOptimistic

  'ajouter un enregistrement
  rs.AddNew
  rs("num") = 1
  rs.Update
End Sub
merci
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
23 sept. 2006 à 01:09
Ton rs n' est pas reconnu dans
Private Sub Command1_Click
parce qu' il est déclaré comme
Privé dans Sub connection
...
Déclare le comme Public dans un Module
Ou Privé dans ton Form.
Ou Privé dans chacune des procédures.

chaibat
0
rami3b Messages postés 17 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 8 décembre 2008
23 sept. 2006 à 01:55
cet fois j'ai declare dans un module ce qui suit
-------
Public Sub connection()
Dim cn As New ADODB.connection, rs As New ADODB.Recordset

End Sub
------------

et puis le reste
Private Sub Command1_Click()

connection
rs.AddNew
rs("num") = 1

rs.Update
End Sub

Private Sub Form_Load()
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\ella\Bureau\pointeuse\p5\pointage.mdb;Persist Security Info=False"
rs.Open "tab", cn, adOpenDynamic, adLockOptimistic

End Sub
--------------
mé cet fois meme code d'erreur sur cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Documents and
Settings\ella\Bureau\pointeuse\p5\pointage.mdb;Persist Security
Info=False"
?
0
rami3b Messages postés 17 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 8 décembre 2008
23 sept. 2006 à 02:21
merci [auteurdetail.aspx?ID=736628 chaibat05]
c'est faut ce que j'ai ecri,voila ce que j'ai essayé de faire:
dans la classe:
Public conn As New ADODB.connection

Public rs As New ADODB.Recordset
et puis
Private Sub Command1_Click()
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\ella\Bureau\pointeuse\p5\pointage.mdb;Persist Security Info=False"
rs.Open "tab", cn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs("num") = 1

rs.Update
End Sub

Private Sub Form_Load()

End Sub
----------
mé cet foi, il me signale que "conn As New ADODB.connection"
est un type défini par l'utilisateur non definit
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
23 sept. 2006 à 02:22
Public cn As New ADODB.connection
Public rs As New ADODB.Recordset
tu peux déclarer rs comme public
il te servira pour d' autres liaisons
ou tu peut le déclarer Dim
à chaque fois que tu en a besoin.

Public Sub connection()
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\ella\Bureau\pointeuse\p5\pointage.mdb;Persist Security Info=False"
End Sub
------------

et puis le reste
Private Sub Command1_Click()
'ajouter un enregistrement
rs.AddNew
rs("num") = 1
rs.Update
End Sub

Private Sub Form_Load()
connection
'ton rs est déjà prêt
rs.Open "tab", cn, adOpenDynamic, adLockOptimistic
End Sub
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
23 sept. 2006 à 02:26
^^il me signale que "conn As New ADODB.connection"
est un type défini par l'utilisateur non definit

ajoute la référence Oledb à ton projet

Menu\Projet\References\
et tu coche la référence OLEDB
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
23 sept. 2006 à 03:20
et essaies avec ceci
ça doit marcher :
Public conn As ADODB.Connection   
 
   
 'Connexion
 Set conn = New ADODB.Connection


#définir le pilote et la chaine de connexion :
 conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
                                      & "Data Source=C:\Documents and Settings" _
                                      & "ella\Bureau\pointeuse\p5\pointage.mdb;" _
                                      & "Persist Security Info=False"
 # ouvrir la connexion      
 conn.Open


 #déclarer la variable Recordset :


 Public (ou Dim selon)  rs As ADODB.Recorset
  Set rs = New Recordset


#se lier à la table  (ou la requête)
   rs.Open " tab",conn, adOpenDynamic, adLockOptimistic

chaibat
0
Rejoignez-nous