Bonjour,
Voici mon souci j'ai 2 fichiers un fichier sources et fichier base.
Le fichier base est mis a jour en fonction du fichier source.
lorsque le le fichier base est mis a jour qu'en fonction du numero ID ca marche. Voici le code
J'ai voulu apporter une variente c'est à dire que le fichier source est mis a jour en fonction du numero ID et du numero CR. J'ai une erreur qui apparait "Erreur d'execution '-2147217900 (80040e14)' Erreur de synthaxe dans la chaine dans l'expression "12, WHRE CR=RAI"
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 Sub modifier() Dim Cn As ADODB.Connection Dim fichier As String Dim feuille As String Dim strSQL As String Dim data_id 'As String Dim data_nom As String Dim data_statut As String Dim data_cr As String Dim nbre_ligne As Integer Dim cpt As Integer fichier = ThisWorkbook.Path & "\base3.xls" feuille = "Feuil1" nbre_ligne = ThisWorkbook.Sheets(feuille).Range("a" & Rows.Count).End(xlUp).Row Set Cn = New ADODB.Connection Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & fichier & ";" & "Extended Properties=""Excel 12.0;HDR=Yes;"";" For cpt = 2 To nbre_ligne data_id = ThisWorkbook.Sheets(feuille).Range("a" & cpt) data_cr = ThisWorkbook.Sheets(feuille).Range("b" & cpt) ' data_nom = ThisWorkbook.Sheets(feuille).Range("b" & cpt) data_statut = ThisWorkbook.Sheets(feuille).Range("d" & cpt) data_date = ThisWorkbook.Sheets(feuille).Range("e" & cpt) strSQL = "UPDATE [" & feuille & "$] SET " & "Statut = " & "'" & data_statut & "' WHERE ID = " & data_id Cn.Execute strSQL strSQL = "UPDATE [" & feuille & "$] SET " & "Dates = " & "'" & data_date & "' WHERE ID = " & data_id Cn.Execute strSQL Next Cn.Close End Sub
voici le code modifier.
Les modifcations par rapport au code précédant sont sur la ligne 34 et 38 j'ai rajouter la synthaxe suivante & "' WHERE CR = " & data_cr
Pouvez vous me dire d'ou viens le problème. Je sais que j'ai mal écrit le code mais je n'arrive pas a corriger le problème.
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 Sub modifier() Dim Cn As ADODB.Connection Dim fichier As String Dim feuille As String Dim strSQL As String Dim data_id 'As String Dim data_nom As String Dim data_statut As String Dim data_cr As String Dim nbre_ligne As Integer Dim cpt As Integer fichier = ThisWorkbook.Path & "\base3.xls" feuille = "Feuil1" nbre_ligne = ThisWorkbook.Sheets(feuille).Range("a" & Rows.Count).End(xlUp).Row Set Cn = New ADODB.Connection Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & fichier & ";" & "Extended Properties=""Excel 12.0;HDR=Yes;"";" For cpt = 2 To nbre_ligne data_id = ThisWorkbook.Sheets(feuille).Range("a" & cpt) data_cr = ThisWorkbook.Sheets(feuille).Range("b" & cpt) ' data_nom = ThisWorkbook.Sheets(feuille).Range("b" & cpt) data_statut = ThisWorkbook.Sheets(feuille).Range("d" & cpt) data_date = ThisWorkbook.Sheets(feuille).Range("e" & cpt) strSQL = "UPDATE [" & feuille & "$] SET " & "Statut = " & "'" & data_statut & "' WHERE ID = " & data_id & "' WHERE CR = " & data_cr Cn.Execute strSQL strSQL = "UPDATE [" & feuille & "$] SET " & "Dates = " & "'" & data_date & "' WHERE ID = " & data_id & "' WHERE CR = " & data_cr Cn.Execute strSQL Next Cn.Close End Sub
Merci pour votre aide
cdt
Partager