Problème d'importation de fichier csv dans access avec delphi
cs_kami59
Messages postés24Date d'inscriptiondimanche 9 novembre 2008StatutMembreDernière intervention 5 mai 2009
-
24 avril 2009 à 21:28
cs_jjgone -
12 nov. 2011 à 17:47
Kami.59
Bonjour à tous et à toutes.
J'ai un petit souci et j'espère que quelqu'un sera résoudre mon problème.
J'ai créé un petit programme pour importer un fichier csv dans une base access.
La manip fonctionne bien mais malheureusement je me retrouve avec des champs vides.
Après quelques recherches, j'ai trouvé que c'est lié au texte alphanumérique comme "4B" par exemple.
j'ai essayé d'inclure 10 enregistrements texte dans ma table avant d'importer mais rien n'y fait.
Ce qui est bizarre, c'est que si j'importe manuellement depuis access, je n'ai aucun souci.
Quelqu'un aurait-il une réponse ou une piste sur mon problème car là je séche.
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 26 avril 2009 à 21:39
autre chose..
dans
CreerSchemaIni(PathFichierCSV, NomFichierCSV, Delimiteur);
Delimiteur n'est pas défini..
il faut lui passer quel délimiteur tu souhaites utiliser.
cs_kami59
Messages postés24Date d'inscriptiondimanche 9 novembre 2008StatutMembreDernière intervention 5 mai 20091 27 avril 2009 à 13:14
Kami.59
Bonjour Cantador,
J'ai défini Delimiteur avec un ';' et j'ai retiré le "_" de mon "wires_list".
Verdict: j'ai toujours le même problème.
D'autres hypothéses ou solutions?
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 27 avril 2009 à 17:31
je viens juste de te lire..
juste un truc..as tu vérfier si le type du champ en gras (déclaré dans la table) ne posait pas de problème par hasard ???
est-il le même que le précédent qui fonctionne ?
cs_kami59
Messages postés24Date d'inscriptiondimanche 9 novembre 2008StatutMembreDernière intervention 5 mai 20091 27 avril 2009 à 18:28
j'ai vérifié dans access et le type et sur "texte".
Aussi bien en importation auto avec delphi qu'en importation manuel en direct dans access.
La seule difference est qu'en importation automatique ca bug sur les alphanumerique (en gras ci-dessus).
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 28 avril 2009 à 19:24
désolé, mais j'étais pas mal pris ces temps ci..
pour revenir sur le sujet, lors de l'importation est ce qu'une partie des données sont néanmoins stockées dans access ?
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 29 avril 2009 à 09:32
ton champ "Code" qui normalement doit être une clé primaire reçoit le même enregsitrement :
XXXX772009
si tel est la cas, c'est normal, ca tu as des doublons dans ta clé...
essaie d'envoyer un seul enregistrement :
le premier par exemple :
XXXX772001;SCIE;XXXX771039;D;26121;;;;4B;CM-26Y1;1;TOTO;26K2;2;TITI
cs_kami59
Messages postés24Date d'inscriptiondimanche 9 novembre 2008StatutMembreDernière intervention 5 mai 20091 29 avril 2009 à 21:33
Peux tu faire un essai avec l'importation dans le champ1 (en texte), de valeurs numériques et alphanumérique? pour voir si ça fonctionnent aussi.
Car les données que j'insére dans le champ1(en texte) par exemple peut être purement du texte, du texte contenant uniquement des chiffres ou des chiffres avec des lettres.
J'ai refait un test d'import avec mon prog, du csv et voici un petit résultat.
Import deux enregistrements avec valeurs texte et alphanumérique ->OK
Import deux enregisrements avec valeurs texte et numérique -> le texte n'est pas ajouté.
Import deux enregistrements avec valeurs numérique et alphanumérique -> la valeur alphanumérique n'est pas ajouté.
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 29 avril 2009 à 21:56
oui, bien sûr; j'ai refait un test avec le code fourni et ceci pour le CSV :
CODE;CHAMP1;CHAMP2;CHAMP3
1000;tata;250;titi
2000;papa;A28;papi
3000;roro;AbCd7;rara
et aucun souci tout se retrouve dans la table..
Mais, je ne vois pourquoi tu fais des différences alpha ou pas..
Dès l'instant où ton champ est déclaré en texte, tu peux mettre tout ce que tu veux dedans (alphanumérique, alpha, numérique...)
il n'y a que dans le cas où tu prends le type numérique que le choix est restreint..
et tu n'as pas répondu à ma question sur le type du champ "CODE"..