Bonjour à tous,
je suis sur un probleme ou je bloque depuis 2heures :(
J'ai un fichier excel avec mon VBA qui interroge une base access.
Le problème c'est que la requête SQL comporte des accents dans les noms des tables et cela bloque le VBA ca fonctionne pas. (si je réalise une requête avec une autre table sans accents pas de problème).
Le problème c'est au niveau VBA, la requête envoyé est mal interprété, le retour que j'ai impossible de trouvé la table [rqt_Attendu Recu préparatoire Externe] au lieu de [rqt_Attendu Recu préparatoire Externe].
Par contre si dans mon fichier excel (pour faire un test) je créé une connexion a ce fichier access et que je lance la requête dedans, cela s’exécute correctement et le é est bien interprété.
A quelle niveau du VBA je dois préciser le format de la variable? Quelle valeur indiqué ? je bloqueCode:
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 Dim cnBat As ADODB.Connection Set cnBat = New ADODB.Connection '--MsgBox (valcel) Dim strConn As String strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" strConn = strConn & "Data Source=K:\oooo\oooooooooooo.mdb;Persist Security Info=False;" cnBat.Open strConn Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set fso = CreateObject("Scripting.FileSystemObject") Worksheets("Informations").Range("A13:R3000").ClearContents '------------------ Dim rsBat As ADODB.Recordset Set rsBat = New ADODB.Recordset With rsBat .ActiveConnection = cnBat 'MsgBox ("Societe:" & rsBat("emp") & "Point de vente" & rsBat("puntoventa")) Set f = fso.OpenTextFile(chemin & "\sql\requete_oooooooooo.sql", ForReading) 'une_variable = Replace(f.ReadAll, "societe", id_societe) une_variable = Replace(f.ReadAll, "debutdatereglement", debutdatereglement) une_variable = Replace(une_variable, "findatereglement", findatereglement) 'une_variable = Replace(une_variable, "datesupreglement", datesupreglement) f.Close Set ft = fso.OpenTextFile(chemin & "\ecr.txt", ForWriting, True) ft.write (une_variable) ft.Close ' MsgBox (une_variable) .Open une_variable
merci d'avance pour vos conseils
guigui69