Rechercher : dans
Par :

Récupération fichier texte sous access

Dernière réponse le 26 oct 2007 à 17:21:57 laurent_lebrun, le 9 sep 2003 à 12:29:06 
 Signaler ce message aux modérateurs

Re-salut,

En parlant de souci....

Je récupère mes données info.txt via FTP et c'est de la balle!
toutefois si la LIGNE est trop grande dans le fichier au 80 ième caractères il revient à la ligne ce qui me mets dans la mouise!!!
Par contre dans les propriétés il voit bien le bon nombre de champ entre les points-virgules.

N'y at-il pas un solution pour qu'il n'y est pas de retour chariot après 80 caractères????

Suis-je obligé de coupé mon fichier en 2 ou 3 à chaque fois???

Si vous êtes toujours à l'écoute merci

Laurent à Casa.

PS: ce message fait suite à une question posée par moi sur forum linux/unix

Meilleures réponses pour « Récupération fichier texte sous access » dans :
[MS-Dos] Ecrire dans un fichier texte en batch VoirPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
Extensions de fichiers VoirIntroduction aux fichiers Un fichier est une suite d'informations binaires, c'est-à-dire une suite de 0 et de 1. Ce fichier peut être stocké pour garder une trace de ces informations. Un fichier texte est un fichier composé de caractères stockés...
Fichier TXT VoirFormat TXT Un fichier TXT est un fichier texte, c'est-à-dire un simple fichier contenant du texte au format ASCII. Pour ouvrir ou modifier un tel fichier, il suffit d'utiliser le bloc-notes ou un éditeur de texte traditionnel.

1

LeLaid, le 9 sep 2003 à 12:52:22

Salut,
Es-tu sûr qu'il positionne un retour de chariot?
Ce n'est pas parceque il y a un passage à la ligne qu'il y en a un.

As-tu fait un essais d'import en Access?
Je ramène fréquement (d'un mainframe OS 390) des fichiers dont la longueur de ligne dépasse les 1000 caractères et je n'ai aucun problème. Si j'ouvre le fichier text avec notepad, il me montre effectivement des sauts de ligne intempestifs qui ne sont pas pris en compte lors de l'import en Access.

Nb: Evite d'ouvrir ton fichier avec Word...


Rien n'est plus dangereux qu'une idée quand on a 
qu'une idée
  :-)

Répondre à LeLaid

2

laurent_lebrun, le 9 sep 2003 à 13:05:40

Salut,

Merci de ta réponse,

Access voit 2 lignes comme dans le fichier texte!
C'est pas forcement un retour chariot : il y a 2 lignes c'es tout! et Access voit également 2 lignes!!!

Est-ce dans l'importation par FTP ?

De l'aide!!!

Merci

Laurent à Casablanca

Répondre à laurent_lebrun

3

blux, le 9 sep 2003 à 13:25:54

Salut,

tu récupères tes données depuis quel type de machine ?
parce que c'est très bizarre, ton truc...

je récupère comme LeLaid des données d'un mainframe (GCOS 8), avec des lignes de bien plus de 80 caractères, et je n'ai pas de souci...

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

4

laurent_lebrun, le 9 sep 2003 à 13:38:48

Merci à tous

Ca fait plaisir de pas se sentir tout seul!!!

Je sais parfaitement que normalement il n'y a aucun problème, mais malheureusent le problème est la!

Reprenons les étapes :

1 création d'un .txt sous SQLPLUS avec la fonction spool nom_du_fichier_créé avec les champs des tables spécifiés avec ||;|| ok? je pense que c'est la création SPOOL qui pose problème.
A votre avis?

Si tel est le cas comment puis -je faire sous SQLPLUS pour récupérer les données de mes tables!!!!

Au secours,

Moi non plus je pensais pas avoir de des difficultés à ce niveau!

Réponses ASAP!!!

Laurent à Casa

Répondre à laurent_lebrun

5

LeLaid, le 9 sep 2003 à 16:04:48

Je ne connais pas le principe de SPOOL, mais est tu sûr de ne pas pouvoir spécifier la longueur de lignes dans une option?

En SAS par exemple, l'option LS = xxxx permet de spécifier la longueur de ligne du fichier à créer. Il est probable qu'une telle option soit disponible. Pose la question sur le forum Linux/Unix (formum originel de ta question).

Rien n'est plus dangereux qu'une idée quand on a 
qu'une idée
  :-)

Répondre à LeLaid

6

GillouDeLabas, le 20 mar 2007 à 22:16:09

Si je puis me permettre , je lirai le fichier dans sa globalité avec un petit programme java pour identifier les tabulations et les retours chariots en récupérant la position du caractère dans le fichier. C'est très facile à faire ! Tu seras enfin combien tu as de ligne dans ton fichier.

Il est sure que le transfert FTP peut endomager un fichier, mais je ne crois pas que ton problème provienne de là au regard de tes écrits.

Cordialement, Gilles.

Répondre à GillouDeLabas

7

blux, le 21 mar 2007 à 08:29:32

Merci de ne pas exhumer des messages aussi vieux !
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

8

prath, le 26 oct 2007 à 14:32:31

Bonjour,
J'utlise access 2003.
je souhaite charger un fichier .txt vers vers une base en access 2003.

voilà le code que j'ai en access 97:

If last_maj.Value < date Or IsNull(last_maj) Then
Filename = Chemin & "fichier.txt"
Transfert = True
Name Filename As Filename
If Transfert = True Then
DoCmd.DeleteObject acTable, "TEMP_IMPORT"
DoCmd.TransferText , "SPEC_FICHIER", "TEMP_IMPORT", Filename, False, ""
Kill Filename
Cpt = Count_Lines("TEMP_IMPORT")
If Cpt > 0 Then
DoCmd.RunSQL ("DELETE * FROM BASE")
DoCmd.RunSQL ("INSERT INTO BASE SELECT * FROM TEMP_IMPORT;")
DoCmd.RunSQL ("DELETE * FROM BASE WHERE cod_int = '';")
' Mise à jour de la liste des conditions
DoCmd.RunSQL ("DELETE * FROM CONDITIONS;")
DoCmd.RunSQL ("SELECT DISTINCT lib_nbe INTO CONDITIONS FROM BASE;")
Else
Fichiers_en_erreur = Fichiers_en_erreur & Chr(13) & Chr(10) & "- Articles (Vide) "
End If
Else
Fichiers_en_erreur = Fichiers_en_erreur & Chr(13) & Chr(10) & "- Articles (Absent) "
End If


Access 2003 ne renait pas TEMP_IMPORT

Merci à ts.

Répondre à prath

9

blux, le 26 oct 2007 à 14:42:35

Sur quelle ligne ?

La table existe-t'elle avant qu'on la supprime ?

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

10

prath, le 26 oct 2007 à 15:02:49

Oui, la base existe.
il y aurait un autre moyen de faire un import ?

Répondre à prath

11

blux, le 26 oct 2007 à 15:29:58

Ca plante à quelle ligne ?

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

12

prath, le 26 oct 2007 à 16:27:22

ça plante sur la ligne : " DoCmd.DeleteObject acTable, "TEMP_IMPORT""

Répondre à prath

13

 prath, le 26 oct 2007 à 17:21:57

Sino, vs savez quel fonction utiliser ?
Merci,

J'en ai besoin avant demain matin

Merci

Répondre à prath