OVH Cloud OVH Cloud

Gestion des caractères spéciaux

1 réponse
Avatar
Erwan
Bonjour,

je cr=E9=E9e une base access qui g=E8re un grand nombre de=20
fichiers Excel (modif, renommage, copie et suppression..).

Le nom de ces fichiers se compose notamment du nom des=20
clients...qui sont r=E9partis dans le monde entier.

J'ai plusieurs probl=E8mes :

1. Pour les caract=E9res bizzarres (du type =F1 mais avec C=20
ou s =E0 la place du n)
--> Mon fichier les liste (commande du type chdir et dir)=20
sans pb...puis lorsque j'execute un "copyfile" ou=20
un "kill" , j'obtiens une erreur du style "fichier=20
introuvable"


2. De plus certains noms de clients comprennent une=20
apostrophe' . et j'utilise une requ=E8te SQL pour les=20
int=E9grer dans une table (du type :

strSql =3D "INSERT INTO " & strTable & " (Fichier,ID,Nom,
[Date],Chemin) VALUES ('" & strFic & "', '" & Mid(strFic,=20
Len(strFic) - 35, 32) & "', '" & Mid(strFic, 17, (InStr
(17, strFic, "_", 1) - 17)) & "', '" & Mid(strFic, 10, 4)=20
& "/" & Mid(strFic, 14, 2) & "', '" & strRep & strFic=20
& "');"

DoCmd.RunSQL strSql

Des que le nom du fichier (variable strFic) contient une=20
apostrophe, le prog plante.Il est =E9vident qu'Access=20
confond l'apostrophe d=E9limitant les champs et=20
l'apostrophe du nom du fichier...mais je ne sais pas=20
comment g=E9rer cela.


Merci d'avance...car je suis vraiment d=E9sesp=E9r=E9!!

Erwan

1 réponse

Avatar
Christophe JEAN
Salut,

Pour le point N°1 je 'ai pas de solution, par contre pour le point n°2 dans
ta chaîne StrSql, remplace toutes les apostrophes par 2 guillemets doubles
Exemple :

si tu avais : "[Fichier] = '" & strFichier & "'"
tu dois transformer en : "[Fichier ] = """ & strFichier & """"
Eh oui 4 guillemets finaux!

Essaye si tu ne l'a pas déjà fais, Si tu l'a déjà fais et que ça ne marchais
pas, là je ne vois pas.

Bon Courage!


"Erwan" a écrit dans le message de
news: 308e01c49cb8$c5f79870$
Bonjour,

je créée une base access qui gère un grand nombre de
fichiers Excel (modif, renommage, copie et suppression..).

Le nom de ces fichiers se compose notamment du nom des
clients...qui sont répartis dans le monde entier.

J'ai plusieurs problèmes :

1. Pour les caractéres bizzarres (du type ñ mais avec C
ou s à la place du n)
--> Mon fichier les liste (commande du type chdir et dir)
sans pb...puis lorsque j'execute un "copyfile" ou
un "kill" , j'obtiens une erreur du style "fichier
introuvable"


2. De plus certains noms de clients comprennent une
apostrophe' . et j'utilise une requète SQL pour les
intégrer dans une table (du type :

strSql = "INSERT INTO " & strTable & " (Fichier,ID,Nom,
[Date],Chemin) VALUES ('" & strFic & "', '" & Mid(strFic,
Len(strFic) - 35, 32) & "', '" & Mid(strFic, 17, (InStr
(17, strFic, "_", 1) - 17)) & "', '" & Mid(strFic, 10, 4)
& "/" & Mid(strFic, 14, 2) & "', '" & strRep & strFic
& "');"

DoCmd.RunSQL strSql

Des que le nom du fichier (variable strFic) contient une
apostrophe, le prog plante.Il est évident qu'Access
confond l'apostrophe délimitant les champs et
l'apostrophe du nom du fichier...mais je ne sais pas
comment gérer cela.


Merci d'avance...car je suis vraiment désespéré!!

Erwan