Ecrire une valeur dans une db access (vba)

abuzed Messages postés 15 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 30 novembre 2007 - 14 nov. 2007 à 11:58
abuzed Messages postés 15 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 30 novembre 2007 - 15 nov. 2007 à 13:29
Bonjour,

Je suis débutant en programmation en générale.

Je cherche un exemple concret et simple pour écrire dans une DB access en VBA

j'ai affecter à la string temp du texte (texte = test)

voiçi le code:

Private Sub Commande0_Click()
Dim tmp As String
tmp = "test"
Dim DB As Database
Dim RS As Recordset
Set DB = OpenDatabase("C:\test.mdb")
Set RS = DB.OpenRecordset("test", dbOpenTable)
End Sub

Ma db (test.mbd) contien un table (test) qui a une colone (test) très répetitif tout ca :p

Je cherche juste a écrire la valeur de "temp" dans la colone test)

Merci de votre aide

5 réponses

cs_lerico Messages postés 3 Date d'inscription dimanche 30 septembre 2007 Statut Membre Dernière intervention 20 novembre 2007
14 nov. 2007 à 12:25
Salut,

Je pense que cela devrait t'aider :

Private Sub Commande0_Click()
Dim tmp As String
tmp = "test"
Dim DB As Database
Dim RS As Recordset
Set DB = OpenDatabase("C:\test.mdb")
Set RS = DB.OpenRecordset("test", dbOpenTable)

RS.AddNew
RS!test="temp"
RS.Update

End Sub
0
abuzed Messages postés 15 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 30 novembre 2007
14 nov. 2007 à 12:56
Merci, nikel!

J'en demandais pas plus.

Bonne journée
0
abuzed Messages postés 15 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 30 novembre 2007
15 nov. 2007 à 10:32
Hello,

Pour finir j'aurais quand même une 2ème questions.

Après mur reflexion je pense passer par une requet SQL (au cas ou j'upgrade avec une db sql)

Cepantant je n'y connais rien en SQL, pouvez-vous me donner l'equivalent en SQL?

Merci beaucoup !
0
abuzed Messages postés 15 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 30 novembre 2007
15 nov. 2007 à 10:51
Entre temp j'ai trouvé quelque chose qui me semble bon:

Private Sub Commande0_Click()
Dim tmp As String
Dim sSQL As String
Dim rst As DAO.Recordset

tmp = "test"

sSQL = "Insert test From table2
Set rst = CurrentDb.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
rst.Close

End Sub

Mais 2 questions me tracassent,

1) comment lui indiquer une DB autre que CurrentDb
2) mon Insert est surment pas complet...
0

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

Posez votre question
abuzed Messages postés 15 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 30 novembre 2007
15 nov. 2007 à 13:29
sJe me suis répondu tout seule :) je met le code si sa peux aider quelqu'un.

Je ne savais pas que pour déclarer c'était simplement une string...

Dim SQL As String

SQL = "Insert InTo TABLE (colone1,colone2) Values ('valeur','valeur')"
Call CurrentDb.Execute(SQL)

Pour les colones, je n'est pas mis de "" car c'est dinamique (les noms des colones sont contendu dans des variables
0
Rejoignez-nous