Importation du fichier CSV vers Table ACCESS
loradol
Messages postés
48
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Telecharger kelio
- Fichier bin - Guide
- Fichier epub - Guide
- Table ascii - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
4 réponses
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
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
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.
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.
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
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
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
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
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
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
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.
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.