Bonjour tout le monde,
Je suis en train de réaliser un p'ti truc avec access me permettant d'exploiter des données stockées dans un fichier csv créé par un logiciel tier.
Je me retrouve avec 3 "problèmes"
1) Le fichier est "crypté" via un xor 'a' (ou 0x61 comme vous voulez), donc avant de l'exploiter j'ai besoin d'appliquer un xor sur tout le fichier. On va dire que ce problème est résolu, même si actuellement je ne le fait pas en vba, ce ne doit pas être bien sorcier.
2) Le fichier a été exporté à priori à partir d'un os allemand, conclusion les montants ont la forme suivante : => 6.329,07 et le caratère de séparation est ;
(note : Je me suis aperçu que c'était dépendant des paramètres "Region And Language" de windows. Par exemple, si je suis en configuration "English (United States)" je dois passer par l'assistant d'excel pour l'ouvrir, en revanche si je passe en German (Germany), il me suffit de double cliquer sur le fichier .csv pour que le fichier s'ouvre sans aucun problème, même pour l'interprétation des montants.)
3) Ce fichier contient 61 colones, avec des répétitions de partout. Mon modèle access me permettant de stocker ça est lui, sur plusieurs tables.
J'aurai voulu savoir ce que vous me conseilleriez pour importer au mieux ce fichier dans mes tables de manière automatisée pour l'utilisateur.
En ce qui concerne l'import du fichier, Je n'arrive pas à obtenir ce que je souhaite avec DoCmd.TransferText (ni avec l'assistant d'importation en fait). Il n'arrive jamais à interpréter correctement les montants (à cause du "." qui sépart les milliers), à moins bien sur de passer en configuration "allemande" dans mes paramètre régionaux (Mais je ne peux pas demander aux utilisateurs de faire cette manip)...
J'ai donc testé avec un :
Et un fichier schema.ini. Car dans ce fichier je peux préciser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3db.Execute _ "SELECT * INTO test FROM [Text;FMT=Delimited;HDR=No;DATABASE=......;].[fichier#csv];", _ dbFailOnError
Sauf que là l'importation échoue sur les lignes qui comportent un guillemet dans les champs de type "Text". Du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CurrencyThousandSymbol=. CurrencyDecimalSymbol=,Et sinon je ne sais pas trop comment m'y prendre pour importer le fichier dans "plusieurs" tables. Je comptais l'importer dans un premier temps dans une seule table (avec l'une des 2 méthodes d'audessus) puis avec un script transférer les records un à un dans les tables, mais peut-être il y a-t-il un autre moyen?bla;bla"lalala";bla
Bref si vous aviez des conseils sur n'importe lequel de mes "problèmes" ce serait top
Partager