VBA requete Sql access avec accent sur les tables
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é.
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 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 |
A quelle niveau du VBA je dois préciser le format de la variable? Quelle valeur indiqué ? je bloque
merci d'avance pour vos conseils
guigui69