Importation du fichier CSV vers Table ACCESS [Fermé]

Signaler
Messages postés
48
Date d'inscription
mardi 29 avril 2014
Statut
Membre
Dernière intervention
30 mai 2016
-
Messages postés
15721
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
3 avril 2021
-
Je veut importer un fichier CSV vers une table access tel que :
mon fichier CSV contient :32187t;dalal;02/05/2015;08:05;16:00
et ma table contient les colonnes:Matricule;nom;date;Heure entrée;Heure Sortie
mon probleme c'est que : si j'ai importé mon fichier CSV le résultat donne:
(32187t;dalal;02/05/2015;08:05;16:00)dans une seul colonne
alors que je voudrais :
colonne MatriculeMatricule=32187t
colonne nom=dalal
colonne date=02/05/2015
colonne Heure entrée=08:05
colonne Heure Sortie=16:00

merci d'avance
A voir également:

4 réponses

Messages postés
15721
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
3 avril 2021
1 480
Bonjour,

FIELDTERMINATOR ne marche pas avec Access. Vous pouvez lire le fichier csv et ecrire un autre fichier csv en remplacant les ; par des , et utiliser ce fichier pour votre transfert vers votre tables Access

Vous pouvez aussi voir du cote du logitiel, qui ecrit le fichier csv, s'il y a un parametre qui vous donnerait la virgule en separateur
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
25
Bonjour loradol

Les champs dans ton fichier CSV sont délimité par un point-virgule.
Si tout se retrouve dans la même colonne, c'est probablement parce qu'il y a une erreur à ce niveau.

Si exemple, tu spécifies que les champs sont séparé par une virgule, Access n'en trouve pas et met tout dans la même colonne.

De quelle manière fais-tu ton importation ?

P.S. (cette section ci du forum est pour les question sur visual basic (VB), ou visual basic for application (VBA excel, word) Tu es peut-être dans la mauvaise section.
Messages postés
48
Date d'inscription
mardi 29 avril 2014
Statut
Membre
Dernière intervention
30 mai 2016

Bonjour PlacageGranby
Voici mon code d'Iimportation :(avec VB6 et la BDD Access )

Dim cnn As New ADODB.Connection
Dim sqlString As String

cnn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\\serveur\bVisualPaie\Dossiers\anabib.mdb;" & _
"Jet OLEDB:Engine Type=4;"

sqlString = "SELECT * INTO [kelio] FROM [Text;DATABASE=C:\Documents\].[Fichier.csv]"

cnn.Execute sqlString

merci d'avance
Messages postés
15721
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
3 avril 2021
1 480
Bonjour a vous deux,

En effet, c'est le point-virgule qui pose probleme. Passez par un import avec specification:

tutoriel:
https://grenier.self-access.com/access/requetes-graphiques/importation-de-donnees-episode-5/

et Méthode DoCmd.TransferText:
https://docs.microsoft.com/fr-fr/office/vba/api/access.docmd.transfertext?redirectedfrom=MSDN
Messages postés
48
Date d'inscription
mardi 29 avril 2014
Statut
Membre
Dernière intervention
30 mai 2016

Bonjour f894009
justement le point virgule qui me pose le probleme;mais je n'arrive pas à le résoudre
j'ai essaie avec les fichiers Excel aucune probleme mais CSV ?
je travaille en VB6 et access
merci d'avance
Messages postés
48
Date d'inscription
mardi 29 avril 2014
Statut
Membre
Dernière intervention
30 mai 2016

Bonjour PlacageGranby
Voici mon code d'Iimportation :(avec VB6)

Dim cnn As New ADODB.Connection
Dim sqlString As String

cnn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\\serveur\bVisualPaie\Dossiers\anabib.mdb;" & _
"Jet OLEDB:Engine Type=4;"

sqlString = "SELECT * INTO [kelio] FROM [Text;DATABASE=C:\Documents\].[Fichier.csv]"

cnn.Execute sqlString

merci d'avance
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
25
Bonjour Loradol,

Malheureusement, je ne m'y connais pas beaucoup dans les lien ODBC SQL, mais j'ai demandé à mon ami Google la question SQL délimiteur.

Il m'a répondu de chercher sur le paramètre FIELDTERMINATOR.

Si ma compréhension est bonne, la virgule est le délimiteur par défaut des fichier CSV (comma separated value, le nom le dit). Il faudrait utiliser FIELDTERMINATOR seulement lorsque l'on utilise un autre symbole.

Donc, suggestion #1, remplacer les point-virgule par des virgules et voir si ca fonctionne. Si oui, valider qu'il n'y a pas de virgule dans les champs sinon ca causera problème
Suggestion #2, trouver des exemples de requêtes SQL avec FIELDTERMINATOR et les adapter au besoin.
Messages postés
48
Date d'inscription
mardi 29 avril 2014
Statut
Membre
Dernière intervention
30 mai 2016
>
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019

Merci pour la réponse ,mais malheureusement je ne trouve pas des exemples de requêtes avec FIELDTERMINATOR dans access 97