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 :
Je souhaite dans un premier temps pouvoir modifier un champ de ma base avec le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Mais j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci par avance pour toute l'aide que vous pourriez m'apporter.
Alathael
Partager