Addnew ne marche pas [Résolu]

Signaler
Messages postés
17
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
8 décembre 2008
-
rami3b
Messages postés
17
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
8 décembre 2008
-
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

7 réponses

Messages postés
17
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
8 décembre 2008

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
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
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
Messages postés
17
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
8 décembre 2008

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"
?
Messages postés
17
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
8 décembre 2008

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
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
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
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
^^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
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
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