Ziklamor
Messages postés44Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention30 novembre 2007
-
6 juin 2007 à 15:26
Ziklamor
Messages postés44Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention30 novembre 2007
-
7 juin 2007 à 10:05
Bonjour à tous,
J'ai une base de donnée avec une table Produit (1 champ Pdt_num, et l'autre Pdt_des), ainsi qu'une application VB avec laquelle j'aimerais rajouter des enregistrements. Je vous communique ici mon code actuel :
Voilà, je sais pas trop comment faire, l'erreur que celà provoque est l'erreur 3251, et je ne suis apparement pas autorisé à ajouter d'enregistrement.
J'espere que vous pourrez m'éclairer.
Ziklamor
Messages postés44Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention30 novembre 2007 6 juin 2007 à 16:39
Access oui, et il parait d'apres certains sites que ce serait bien le dynaset qui soit la clé, mais je ne comprends pas, ca ne marche pas...
Jvous renvoi mon nouveau code :
Dim rst3 As New ADODB.Recordset
Dim db As Database
Public sql As String
Private Sub ajouter_Click()
sql = "select * from Produits"
Set rst3 = db.OpenRecordset(sql, dbOpenDynaset)
anto37_44
Messages postés48Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention11 juin 20071 6 juin 2007 à 16:46
Moi j'utilise çà pour moi et çà marche plutot bien essai dit moi si çà marche
Private Sub Enregistrer_Click()
Dim Dbs As Database, Tbl As Recordset
Set Dbs = Workspaces(0).OpenDatabase("C:\*.mdb")
Set Tbl = Dbs.OpenRecordset("NomTable", dbOpenTable)
Tbl.AddNew
Tbl("Champ1") = Text2.text
Tbl("Champ2") = Text3.text
Tbl.Update
Tbl.Close
Dbs.Close
End Sub
anto37_44
Vous n’avez pas trouvé la réponse que vous recherchez ?
Ziklamor
Messages postés44Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention30 novembre 2007 6 juin 2007 à 17:05
J'ai essayé ta ligne de code anto, mais j'ai un autre message d'erreur, qui me dit que le format de donnée n'est pas reconnu (erreur 3343). Pourtant mon fichier access a bien le bon nom, la bonne extension etc...
Ziklamor
Messages postés44Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention30 novembre 2007 6 juin 2007 à 17:05
J'ai essayé ta ligne de code anto, mais j'ai un autre message d'erreur, qui me dit que le format de donnée n'est pas reconnu (erreur 3343). Pourtant mon fichier access a bien le bon nom, la bonne extension etc...
anto37_44
Messages postés48Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention11 juin 20071 6 juin 2007 à 17:10
Bin moi non plus j'vois pas.
C'est bizarre, avec moi çà marche.
Essai peut être de recréer ta base de données ( une idée comme çà!)
sinon je vois pas (du moins par le moment, mais comme je ne suis que debutant, c'est pas sûr que je trouve le problème)
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 6 juin 2007 à 22:48
Le code de 1023922 anto37_44 est du DAO alors que toi, tu avais un code en ADO. Il est possible que tu aies des erreurs avec son code parce que tu n'as pas les bonnes références de déclarées ?
Sinon, pour ton code, moi je le ferais comme ça, je l'écris à l'arrache, j'ai psa de quoi le tester sur ce PC :
Dim db As ADODB.Connection
Dim rst3 As ADODB.Recordset
Public sql As String
Private Sub ajouter_Click()
sql = "select * from Produits"
Set db = currentproject.Connection
Set rst3 = New Recordset
rst3.Open sql, db, adOpenKeyset, adLockOptimistic
rst3.AddNew
rst3.Fields("Pdt_des").Value = TextBox.Text
rst3.Update
rst3.Close
Set db = Nothing
Ziklamor
Messages postés44Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention30 novembre 2007 7 juin 2007 à 10:05
Merci beaucoup pour vos réponses, ca marche
J'ai un nouveau petit problème : le premier enregistrement que je fais se déroule bien, il se place sur la ligne 0 dans la table Produits, mais quand je veux ajouter un autre enregistrement, il veut aussi se placer sur la ligne 0 donc erreur de doublons etc...
Il me faudrait savoir comment le faire passer à la ligne quand je lance un nouvel enregistrement...