Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Import fichiers CSV

1 réponse
Avatar
Jérémy
Bonjour,

Je me permets de faire appel =E0 votre aide pour un souci sur de
l'import de fichiers "csv" dans une base Access.
j'ai le programme suivant :

Do While (rep <> "")
If (GetAttr(Rep) And vbDirectory) =3D vbDirectory Then
MsgBox "R=E9pertoire " & rep
Else
Nom_Tbl =3D Left(rep, Len(rep) - 4)
DoCmd.TransferText acLinkDelim, , Nom_Tbl, rep, True
End If
Suite:
rep =3D Dir
Loop

Mon souci est que lorsque j'ex=E9cute ce programme, les tables import=E9es
sont des tables li=E9es. Je souhaiterais avoir un import "normal" des
tables, car il me fait modifier la structure de ces tables ensuite.
je pense qu'il faudrait mettre le param=E8tre "acImportDelim" =E0 la place
de "acLinkDelim". le probl=E8me est lorsque je change ce param=E8tre,
l'importation ne fonctionne plus: le programme ne fait rien.
Pourriez-vous m'aider =E0 ce sujet?

Je vous remercie par avance
J=E9r=E9my

1 réponse

Avatar
RideHickul
'lut,

Les tables sont liées du fait du paramètre acLinkDelim ...

Il te faut plutôt une instruction de type :
DoCmd.TransferText acImportFixed, , "tb", , Nom_Tbl, rep, True

Remarque :
Pour "maîtriser" la façon dont tes champs sont importés, il peut être utile
de renseigner le paramètre "spécification d'importation" que tu as laissé
vide (les deux virgules).
Pour définir celui-ci :
- fais une importation "manuelle" avec l'assitant (Fichier - Données
externes - Importer",
- renseigne les différents paramètres de l'assistant jusqu'à la dernière
étape,
- Sur la dernière étape (là ou tu as le bouton "Terminer", utilise le bouton
"Avancé",
- Vérifie les paramètres et clic sur "Enregistrer sous",
- Donne un nom (exemple : Specif), puis "Ok" et "Terminer"
- Retourne dans ton code et ajoute le paramètre :
DoCmd.TransferText acImportFixed, "Specif" , "tb", , Nom_Tbl, rep, True

Voili ...
RideHickul
---------------------

"Jérémy" a écrit dans le message de news:

Bonjour,

Je me permets de faire appel à votre aide pour un souci sur de
l'import de fichiers "csv" dans une base Access.
j'ai le programme suivant :

Do While (rep <> "")
If (GetAttr(Rep) And vbDirectory) = vbDirectory Then
MsgBox "Répertoire " & rep
Else
Nom_Tbl = Left(rep, Len(rep) - 4)
DoCmd.TransferText acLinkDelim, , Nom_Tbl, rep, True
End If
Suite:
rep = Dir
Loop

Mon souci est que lorsque j'exécute ce programme, les tables importées
sont des tables liées. Je souhaiterais avoir un import "normal" des
tables, car il me fait modifier la structure de ces tables ensuite.
je pense qu'il faudrait mettre le paramètre "acImportDelim" à la place
de "acLinkDelim". le problème est lorsque je change ce paramètre,
l'importation ne fonctionne plus: le programme ne fait rien.
Pourriez-vous m'aider à ce sujet?

Je vous remercie par avance
Jérémy