VBA ACCESS Import TXT sans délimitateur

Fermé
artamys Messages postés 120 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 9 mars 2018 - 4 sept. 2008 à 14:08
artamys Messages postés 120 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 9 mars 2018 - 5 sept. 2008 à 15:24
Bonjour,
je dois créer un Back Up Service.
Les fichiers reçus sont issue de la vieille technologie IBM : MVS.
Il faut donc que je sois en mesure de programmer un code qui puisse importer automatiquement les fichiers et répartir les données dans des colonnes en fonction de la longueur Par exemple : longueur 1 à 6 Colonne 1, Longueur 2 à 8 colonne 2 ...

Et la je ne vois pas encore comment faire en VBA.
Merci.

3 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
4 sept. 2008 à 22:17
INSERT INTO Données ( Champ1, Champ2, Champ3, Champ4 )
SELECT Mid([Champ1],8,10) AS Expr1, Mid([Champ1],19,15) AS Expr2, Mid([Champ1],38,10) AS Expr3, Mid([Champ1],49,5) AS Expr4
FROM TableInitiale;

La fonction Mid (ExtracChaîne en français) permet d'extraire des caractères d'une chaîne en donnant le numéro de départ et la longueur.
1
artamys Messages postés 120 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 9 mars 2018 7
4 sept. 2008 à 23:19
bonjour, j'essaie ça demain au travail et je vous fait un retour, en tout cas cela devrait peut être régler mon problème d'espace vide potentiel qui me pose un problème en passant par la définition d'un nouveau type.
MERCI !
-1
artamys Messages postés 120 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 9 mars 2018 7
5 sept. 2008 à 15:24
a titre d'info un extrait de code pour voir l'ampleur du problème.
indépendamenent de reussir la le charger il faut que je prenne en compte le fait qu'il ait des valeurs manquantes.... parfois...



S1000000045334530714 33453071400016 HC00100901 626024723 R2006043020060531 +8658 +8658EUR +8658 +8658EURELIELI
S1000000045326470499 32647049900012 HC00100351 626022902 D2006043020060531 -3495 -3495EUR -3495 -3495EURELIELI
S1000000045 HC001DEMOM 626025151 D2006050220060630 -13044 -13044EUR -13044 -13044EURELIELI
S1000000045407567932 40756793200014 HC00100488 626029846 D2006053120060630 -11673 -11673EUR -11673 -11673EURELIELI
S1000000045407567932 40756793200014 HC00100488 626032481 R2006053120060630 +329 +329EUR +329 +329EURELIELI
-1