Importation automatique des données à partir d'un fichier CSV
3 réponses
E Barmaz
Bonsoir tout le monde,
Existe-t-il une procédure pour importer automatiquement les contenus des
fichiers CSV ?
Idée :
Un autre programme crée des fichiers csv (Data040601, Data040602,
Data040603, ...)
La procédure devrait analyser tous les fichiers existants, importer le
contenu et le déplacer dans un autre répertoire.
Je sais que c'est un peu compliqué, mais on ne sait jamais !!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel Carollo
Bonsoir Eric!
Je l'ai fait pour synchroniser les donnees entre un systeme qui tournait sous Unix (une base Progress) et Access 2.0.
En gros, il y avait un formulaire avec un timer, et toutes les x secondes (il me semble me souvenir de 30s) je rafraichissais la liste des fichiers d'un repertoire. S'il y avait un nouveau fichier, on l'importait, puis on deplacait le fichier dans un repertoire d'archives.
Il avait juste fallu qu'on mette un fichier "flag" que l'application en Progress creait au debut de l'export, et detruisait a la fin de son boulot, quand le fichier de donnees etait termine. En effet, il fallait un certain temps pour creer le fichier, qui etait visible, mais avec une taille qui allait de 0 a la taille finale en un temps non nul.
Access attendait donc que le fichier "flag" ait disparu avant de faire l'import proprement dit.
La commande a utiliser est bien sur DoCmd.TransferText, qui est assez bien expliquee dans l'aide en ligne.
J'espere que ca vous donne des idees.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"E Barmaz" wrote in message news:40c60b1e$
Bonsoir tout le monde,
Existe-t-il une procédure pour importer automatiquement les contenus des fichiers CSV ?
Idée : Un autre programme crée des fichiers csv (Data040601, Data040602, Data040603, ...) La procédure devrait analyser tous les fichiers existants, importer le contenu et le déplacer dans un autre répertoire.
Je sais que c'est un peu compliqué, mais on ne sait jamais !!!
D'avance merci Eric
Bonsoir Eric!
Je l'ai fait pour synchroniser les donnees entre un systeme qui tournait
sous Unix (une base Progress) et Access 2.0.
En gros, il y avait un formulaire avec un timer, et toutes les x secondes
(il me semble me souvenir de 30s) je rafraichissais la liste des fichiers
d'un repertoire. S'il y avait un nouveau fichier, on l'importait, puis on
deplacait le fichier dans un repertoire d'archives.
Il avait juste fallu qu'on mette un fichier "flag" que l'application en
Progress creait au debut de l'export, et detruisait a la fin de son boulot,
quand le fichier de donnees etait termine. En effet, il fallait un certain
temps pour creer le fichier, qui etait visible, mais avec une taille qui
allait de 0 a la taille finale en un temps non nul.
Access attendait donc que le fichier "flag" ait disparu avant de faire
l'import proprement dit.
La commande a utiliser est bien sur DoCmd.TransferText, qui est assez bien
expliquee dans l'aide en ligne.
J'espere que ca vous donne des idees.
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"E Barmaz" <e.barmaz@bluewin.ch> wrote in message
news:40c60b1e$1_2@news.bluewin.ch...
Bonsoir tout le monde,
Existe-t-il une procédure pour importer automatiquement les contenus des
fichiers CSV ?
Idée :
Un autre programme crée des fichiers csv (Data040601, Data040602,
Data040603, ...)
La procédure devrait analyser tous les fichiers existants, importer le
contenu et le déplacer dans un autre répertoire.
Je sais que c'est un peu compliqué, mais on ne sait jamais !!!
Je l'ai fait pour synchroniser les donnees entre un systeme qui tournait sous Unix (une base Progress) et Access 2.0.
En gros, il y avait un formulaire avec un timer, et toutes les x secondes (il me semble me souvenir de 30s) je rafraichissais la liste des fichiers d'un repertoire. S'il y avait un nouveau fichier, on l'importait, puis on deplacait le fichier dans un repertoire d'archives.
Il avait juste fallu qu'on mette un fichier "flag" que l'application en Progress creait au debut de l'export, et detruisait a la fin de son boulot, quand le fichier de donnees etait termine. En effet, il fallait un certain temps pour creer le fichier, qui etait visible, mais avec une taille qui allait de 0 a la taille finale en un temps non nul.
Access attendait donc que le fichier "flag" ait disparu avant de faire l'import proprement dit.
La commande a utiliser est bien sur DoCmd.TransferText, qui est assez bien expliquee dans l'aide en ligne.
J'espere que ca vous donne des idees.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"E Barmaz" wrote in message news:40c60b1e$
Bonsoir tout le monde,
Existe-t-il une procédure pour importer automatiquement les contenus des fichiers CSV ?
Idée : Un autre programme crée des fichiers csv (Data040601, Data040602, Data040603, ...) La procédure devrait analyser tous les fichiers existants, importer le contenu et le déplacer dans un autre répertoire.
Je sais que c'est un peu compliqué, mais on ne sait jamais !!!
D'avance merci Eric
Raymond [mvp]
Bonjour.
il faut passer par une base toute seule dans son coin avec des tables attachées et sur un événement timer importer tous les fichiers et les supprimer. Tu peux prendre ceci pour modèle pour débuter mais il faut compléter avec la gestion d'erreurs et ce qui va avec tes fichiers. Private Sub Form_Timer() Dim I As Integer With FileSearch .NewSearch .LookIn = CurrentProject.Path .FileName = "*.txt" .SearchSubFolders = False .MatchTextExactly = True If .Execute() > 0 Then For I = 1 To .FoundFiles.Count DoCmd.TransferText acImportDelim, , "Table_Import", .FoundFiles(I), True Kill .FoundFiles(I) Next I End If End With End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"E Barmaz" a écrit dans le message de news:40c60b1e$
Bonsoir tout le monde,
Existe-t-il une procédure pour importer automatiquement les contenus des fichiers CSV ?
Idée : Un autre programme crée des fichiers csv (Data040601, Data040602, Data040603, ...) La procédure devrait analyser tous les fichiers existants, importer le contenu et le déplacer dans un autre répertoire.
Je sais que c'est un peu compliqué, mais on ne sait jamais !!!
D'avance merci Eric
Bonjour.
il faut passer par une base toute seule dans son coin avec des tables
attachées et sur un événement timer importer tous les fichiers et les
supprimer. Tu peux prendre ceci pour modèle pour débuter mais il faut
compléter avec la gestion d'erreurs et ce qui va avec tes fichiers.
Private Sub Form_Timer()
Dim I As Integer
With FileSearch
.NewSearch
.LookIn = CurrentProject.Path
.FileName = "*.txt"
.SearchSubFolders = False
.MatchTextExactly = True
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
DoCmd.TransferText acImportDelim, , "Table_Import",
.FoundFiles(I), True
Kill .FoundFiles(I)
Next I
End If
End With
End Sub
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"E Barmaz" <e.barmaz@bluewin.ch> a écrit dans le message de
news:40c60b1e$1_2@news.bluewin.ch...
Bonsoir tout le monde,
Existe-t-il une procédure pour importer automatiquement les contenus des
fichiers CSV ?
Idée :
Un autre programme crée des fichiers csv (Data040601, Data040602,
Data040603, ...)
La procédure devrait analyser tous les fichiers existants, importer le
contenu et le déplacer dans un autre répertoire.
Je sais que c'est un peu compliqué, mais on ne sait jamais !!!
il faut passer par une base toute seule dans son coin avec des tables attachées et sur un événement timer importer tous les fichiers et les supprimer. Tu peux prendre ceci pour modèle pour débuter mais il faut compléter avec la gestion d'erreurs et ce qui va avec tes fichiers. Private Sub Form_Timer() Dim I As Integer With FileSearch .NewSearch .LookIn = CurrentProject.Path .FileName = "*.txt" .SearchSubFolders = False .MatchTextExactly = True If .Execute() > 0 Then For I = 1 To .FoundFiles.Count DoCmd.TransferText acImportDelim, , "Table_Import", .FoundFiles(I), True Kill .FoundFiles(I) Next I End If End With End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"E Barmaz" a écrit dans le message de news:40c60b1e$
Bonsoir tout le monde,
Existe-t-il une procédure pour importer automatiquement les contenus des fichiers CSV ?
Idée : Un autre programme crée des fichiers csv (Data040601, Data040602, Data040603, ...) La procédure devrait analyser tous les fichiers existants, importer le contenu et le déplacer dans un autre répertoire.
Je sais que c'est un peu compliqué, mais on ne sait jamais !!!
D'avance merci Eric
E Barmaz
Merci Raymond,
tu es un chef
A bientôt Eric
"Raymond [mvp]" a écrit dans le message de news: #
Bonjour.
il faut passer par une base toute seule dans son coin avec des tables attachées et sur un événement timer importer tous les fichiers et les supprimer. Tu peux prendre ceci pour modèle pour débuter mais il faut compléter avec la gestion d'erreurs et ce qui va avec tes fichiers. Private Sub Form_Timer() Dim I As Integer With FileSearch .NewSearch .LookIn = CurrentProject.Path .FileName = "*.txt" .SearchSubFolders = False .MatchTextExactly = True If .Execute() > 0 Then For I = 1 To .FoundFiles.Count DoCmd.TransferText acImportDelim, , "Table_Import", .FoundFiles(I), True Kill .FoundFiles(I) Next I End If End With End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"E Barmaz" a écrit dans le message de news:40c60b1e$
Bonsoir tout le monde,
Existe-t-il une procédure pour importer automatiquement les contenus des fichiers CSV ?
Idée : Un autre programme crée des fichiers csv (Data040601, Data040602, Data040603, ...) La procédure devrait analyser tous les fichiers existants, importer le contenu et le déplacer dans un autre répertoire.
Je sais que c'est un peu compliqué, mais on ne sait jamais !!!
D'avance merci Eric
Merci Raymond,
tu es un chef
A bientôt
Eric
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news: #UGZt1fTEHA.1412@TK2MSFTNGP11.phx.gbl...
Bonjour.
il faut passer par une base toute seule dans son coin avec des tables
attachées et sur un événement timer importer tous les fichiers et les
supprimer. Tu peux prendre ceci pour modèle pour débuter mais il faut
compléter avec la gestion d'erreurs et ce qui va avec tes fichiers.
Private Sub Form_Timer()
Dim I As Integer
With FileSearch
.NewSearch
.LookIn = CurrentProject.Path
.FileName = "*.txt"
.SearchSubFolders = False
.MatchTextExactly = True
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
DoCmd.TransferText acImportDelim, , "Table_Import",
.FoundFiles(I), True
Kill .FoundFiles(I)
Next I
End If
End With
End Sub
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"E Barmaz" <e.barmaz@bluewin.ch> a écrit dans le message de
news:40c60b1e$1_2@news.bluewin.ch...
Bonsoir tout le monde,
Existe-t-il une procédure pour importer automatiquement les contenus des
fichiers CSV ?
Idée :
Un autre programme crée des fichiers csv (Data040601, Data040602,
Data040603, ...)
La procédure devrait analyser tous les fichiers existants, importer le
contenu et le déplacer dans un autre répertoire.
Je sais que c'est un peu compliqué, mais on ne sait jamais !!!
"Raymond [mvp]" a écrit dans le message de news: #
Bonjour.
il faut passer par une base toute seule dans son coin avec des tables attachées et sur un événement timer importer tous les fichiers et les supprimer. Tu peux prendre ceci pour modèle pour débuter mais il faut compléter avec la gestion d'erreurs et ce qui va avec tes fichiers. Private Sub Form_Timer() Dim I As Integer With FileSearch .NewSearch .LookIn = CurrentProject.Path .FileName = "*.txt" .SearchSubFolders = False .MatchTextExactly = True If .Execute() > 0 Then For I = 1 To .FoundFiles.Count DoCmd.TransferText acImportDelim, , "Table_Import", .FoundFiles(I), True Kill .FoundFiles(I) Next I End If End With End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"E Barmaz" a écrit dans le message de news:40c60b1e$
Bonsoir tout le monde,
Existe-t-il une procédure pour importer automatiquement les contenus des fichiers CSV ?
Idée : Un autre programme crée des fichiers csv (Data040601, Data040602, Data040603, ...) La procédure devrait analyser tous les fichiers existants, importer le contenu et le déplacer dans un autre répertoire.
Je sais que c'est un peu compliqué, mais on ne sait jamais !!!