1 pièce(s) jointe(s)
Problème de mise à jour base accdb par VBA
Bonjour, par avance désolé si ce sujet a déjà été traité par ailleurs.
Voilà je souhaite réaliser plusieurs traitements à partir d'une boite de dialogue Excel 2016 vers une base Access 2016 (format .accdb)
je parviens à parcourir ma base sans problème et à en lire les enregistrements :
Pour info le code qui fonctionne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Public conn As Object 'ADODB.Connection
Public rs As Object 'ADODB.Recordset
Private Sub Import_Click()
Dim Chemin_Base
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.recordset")
Nom_base = "DB.accdb"
Chemin_Base = ThisWorkbook.Path & "\" & Nom_base
connstring = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" & Chemin_Base
conn.Open connstring
sql = "select * from Table1"
rs.Open sql, conn
rs.MoveFirst
MaListe.Clear
Do Until rs.EOF
DoEvents
MaListe.AddItem rs.Fields("Nom")
rs.MoveNext
Loop
rs.Close
End Sub |
Je souhaite dans un premier temps pouvoir modifier un champ de ma base avec le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Private Sub Insert_Click()
Dim Chemin_Base
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.recordset")
Nom_base = "DB.accdb"
Chemin_Base = ThisWorkbook.Path & "\" & Nom_base
connstring = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" & Chemin_Base
conn.Open connstring
sql = "select * from Table1"
rs.Open sql, conn
rs.Fields("Adresse").Value = "truc"
rs.Update
rs.Close
End Sub |
Mais j'obtiens l'erreur suivante :
Pièce jointe 337670
Merci par avance pour toute l'aide que vous pourriez m'apporter.
Alathael
Mise à jour data access depuis excel
Je crois qu'il faut mettre un Rs.edit pour pouvoir modifier un enregistrement.