OVH Cloud OVH Cloud

importation fichier txt

8 réponses
Avatar
Chris50
bonjour,
je dois importer des données contenues dans un fichier texte sous cette
forme (le format d'origine m'est imposé) et je voudrais les stocker dans une
table:
fiche de la personne/date de la fiche
nom/prénom/date de naissance/lieu de naissance
adresse/ville/telephone
adresse mail


j'arrive à faire l'inverse à l'aide d'un module
mais pas à importer
est-ce possible, même si j'importe tous les champs quitte à refaire le
ménage après
Merci

8 réponses

Avatar
Raymond [mvp]
Bonjour.

Je pense qu'il va falloir procéder de la même façon que pour l'export, en
passant par un module et en lisant ton fichier ligne à ligne.
une idée pour lire sur http://officesystem.access.free.fr/scr_textfile.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Chris50" a écrit dans le message de
news:
bonjour,
je dois importer des données contenues dans un fichier texte sous cette
forme (le format d'origine m'est imposé) et je voudrais les stocker dans
une
table:
fiche de la personne/date de la fiche
nom/prénom/date de naissance/lieu de naissance
adresse/ville/telephone
adresse mail


j'arrive à faire l'inverse à l'aide d'un module
mais pas à importer
est-ce possible, même si j'importe tous les champs quitte à refaire le
ménage après
Merci


Avatar
Chris50
merci
encore quelques questions
si j'ai bien compris on lit, ça s'affiche dans une boîte message, mais
comment faire pour ensuite écrire les données voulues dans une table, je suis
pas très à l'aise encore avec visual

concrètement dans mon fichier texte ce qu je veux garder et stocker dans une
table, ce sont les champs :
nom
prénom
date de naissance
lieu de naissance
adresse
ville
telephone
adresse mail

Merci encore



Bonjour.

Je pense qu'il va falloir procéder de la même façon que pour l'export, en
passant par un module et en lisant ton fichier ligne à ligne.
une idée pour lire sur http://officesystem.access.free.fr/scr_textfile.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Chris50" a écrit dans le message de
news:
bonjour,
je dois importer des données contenues dans un fichier texte sous cette
forme (le format d'origine m'est imposé) et je voudrais les stocker dans
une
table:
fiche de la personne/date de la fiche
nom/prénom/date de naissance/lieu de naissance
adresse/ville/telephone
adresse mail


j'arrive à faire l'inverse à l'aide d'un module
mais pas à importer
est-ce possible, même si j'importe tous les champs quitte à refaire le
ménage après
Merci







Avatar
Raymond [mvp]
l'affichage était pour l'exemple.

il faut:
ouvrir un recordset sur ta table
lire un nombre de lignes fixes
créer un nouvel enregistrement
extraire chaque donnée et les placer dans ton recordset
écrire l'enregistrement
boucler sur la lecture des lignes suivantes.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Chris50" a écrit dans le message de
news:
merci
encore quelques questions
si j'ai bien compris on lit, ça s'affiche dans une boîte message, mais
comment faire pour ensuite écrire les données voulues dans une table, je
suis
pas très à l'aise encore avec visual

concrètement dans mon fichier texte ce qu je veux garder et stocker dans
une
table, ce sont les champs :
nom
prénom
date de naissance
lieu de naissance
adresse
ville
telephone
adresse mail

Merci encore


Avatar
Chris50
oups:
"ouvrir un recordset sur ta table" ok je crois savoir
"lire un nombre de lignes fixes" je vais trouver
"créer un nouvel enregistrement" ok
"extraire chaque donnée et les placer dans ton recordset" euh là ça suit plus
"écrire l'enregistrement" non plus
"boucler sur la lecture des lignes suivantes" là non plus
désolé mais je maitrise pas encore trop VBA (le boulet, je sais!)
Merci encore de ton aide


l'affichage était pour l'exemple.

il faut:
ouvrir un recordset sur ta table
lire un nombre de lignes fixes
créer un nouvel enregistrement
extraire chaque donnée et les placer dans ton recordset
écrire l'enregistrement
boucler sur la lecture des lignes suivantes.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Chris50" a écrit dans le message de
news:
merci
encore quelques questions
si j'ai bien compris on lit, ça s'affiche dans une boîte message, mais
comment faire pour ensuite écrire les données voulues dans une table, je
suis
pas très à l'aise encore avec visual

concrètement dans mon fichier texte ce qu je veux garder et stocker dans
une
table, ce sont les champs :
nom
prénom
date de naissance
lieu de naissance
adresse
ville
telephone
adresse mail

Merci encore







Avatar
Raymond [mvp]
je te donne un exemple à modifier.
tous les champs sont alpha, à toi de les mettre éventuellement en numérique.
utiliser la librairie de la page :
http://officesystem.access.free.fr/scr_scripting_runtime.htm
nommer ton module Scr.
cocher la référence Microsoft Scripting Runtime et DAO
procédure.

Private Sub Commande0_Click()
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("table1")
Dim Texte As String
Dim Tableau() As String
Scr.txtFileOpen "c:Fichier1.txt", ForReading
Do Until Scr.txtFileEOF
Scr.txtFileReadLine ' ligne 1
Rs.AddNew
Texte = Scr.txtFileReadLine 'ligne 2
Tableau = Split(Texte, "/")
Rs!col1 = Tableau(0)
Rs!col2 = Tableau(1)
Rs!col3 = Tableau(2)
Rs!col4 = Tableau(3)
Texte = Scr.txtFileReadLine 'ligne 3
Tableau = Split(Texte, "/")
Rs!col5 = Tableau(0)
Rs!col6 = Tableau(1)
Rs!col7 = Tableau(2)
Texte = Scr.txtFileReadLine 'ligne 4
Tableau = Split(Texte, "/")
Rs!col8 = Tableau(0)
Rs.Update
Loop
Scr.txtFileClose
Rs.Close
Set Rs = Nothing
Set Db = Nothing
End Sub

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Chris50" a écrit dans le message de
news:
oups:
"ouvrir un recordset sur ta table" ok je crois savoir
"lire un nombre de lignes fixes" je vais trouver
"créer un nouvel enregistrement" ok
"extraire chaque donnée et les placer dans ton recordset" euh là ça suit
plus
"écrire l'enregistrement" non plus
"boucler sur la lecture des lignes suivantes" là non plus
désolé mais je maitrise pas encore trop VBA (le boulet, je sais!)
Merci encore de ton aide


Avatar
Chris50
merci j'essaye ça et je vous tiens au courant


je te donne un exemple à modifier.
tous les champs sont alpha, à toi de les mettre éventuellement en numérique.
utiliser la librairie de la page :
http://officesystem.access.free.fr/scr_scripting_runtime.htm
nommer ton module Scr.
cocher la référence Microsoft Scripting Runtime et DAO
procédure.

Private Sub Commande0_Click()
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("table1")
Dim Texte As String
Dim Tableau() As String
Scr.txtFileOpen "c:Fichier1.txt", ForReading
Do Until Scr.txtFileEOF
Scr.txtFileReadLine ' ligne 1
Rs.AddNew
Texte = Scr.txtFileReadLine 'ligne 2
Tableau = Split(Texte, "/")
Rs!col1 = Tableau(0)
Rs!col2 = Tableau(1)
Rs!col3 = Tableau(2)
Rs!col4 = Tableau(3)
Texte = Scr.txtFileReadLine 'ligne 3
Tableau = Split(Texte, "/")
Rs!col5 = Tableau(0)
Rs!col6 = Tableau(1)
Rs!col7 = Tableau(2)
Texte = Scr.txtFileReadLine 'ligne 4
Tableau = Split(Texte, "/")
Rs!col8 = Tableau(0)
Rs.Update
Loop
Scr.txtFileClose
Rs.Close
Set Rs = Nothing
Set Db = Nothing
End Sub

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Chris50" a écrit dans le message de
news:
oups:
"ouvrir un recordset sur ta table" ok je crois savoir
"lire un nombre de lignes fixes" je vais trouver
"créer un nouvel enregistrement" ok
"extraire chaque donnée et les placer dans ton recordset" euh là ça suit
plus
"écrire l'enregistrement" non plus
"boucler sur la lecture des lignes suivantes" là non plus
désolé mais je maitrise pas encore trop VBA (le boulet, je sais!)
Merci encore de ton aide







Avatar
Chris50
Excellent, Merci beaucoup
reste quelques règlages mais le plus dur est fait
Merci encore


merci j'essaye ça et je vous tiens au courant


je te donne un exemple à modifier.
tous les champs sont alpha, à toi de les mettre éventuellement en numérique.
utiliser la librairie de la page :
http://officesystem.access.free.fr/scr_scripting_runtime.htm
nommer ton module Scr.
cocher la référence Microsoft Scripting Runtime et DAO
procédure.

Private Sub Commande0_Click()
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("table1")
Dim Texte As String
Dim Tableau() As String
Scr.txtFileOpen "c:Fichier1.txt", ForReading
Do Until Scr.txtFileEOF
Scr.txtFileReadLine ' ligne 1
Rs.AddNew
Texte = Scr.txtFileReadLine 'ligne 2
Tableau = Split(Texte, "/")
Rs!col1 = Tableau(0)
Rs!col2 = Tableau(1)
Rs!col3 = Tableau(2)
Rs!col4 = Tableau(3)
Texte = Scr.txtFileReadLine 'ligne 3
Tableau = Split(Texte, "/")
Rs!col5 = Tableau(0)
Rs!col6 = Tableau(1)
Rs!col7 = Tableau(2)
Texte = Scr.txtFileReadLine 'ligne 4
Tableau = Split(Texte, "/")
Rs!col8 = Tableau(0)
Rs.Update
Loop
Scr.txtFileClose
Rs.Close
Set Rs = Nothing
Set Db = Nothing
End Sub

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Chris50" a écrit dans le message de
news:
oups:
"ouvrir un recordset sur ta table" ok je crois savoir
"lire un nombre de lignes fixes" je vais trouver
"créer un nouvel enregistrement" ok
"extraire chaque donnée et les placer dans ton recordset" euh là ça suit
plus
"écrire l'enregistrement" non plus
"boucler sur la lecture des lignes suivantes" là non plus
désolé mais je maitrise pas encore trop VBA (le boulet, je sais!)
Merci encore de ton aide









Avatar
Chris50
Excellent
Reste quelques règlages mais le plus dur est fait
Merci encore


merci j'essaye ça et je vous tiens au courant


je te donne un exemple à modifier.
tous les champs sont alpha, à toi de les mettre éventuellement en numérique.
utiliser la librairie de la page :
http://officesystem.access.free.fr/scr_scripting_runtime.htm
nommer ton module Scr.
cocher la référence Microsoft Scripting Runtime et DAO
procédure.

Private Sub Commande0_Click()
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("table1")
Dim Texte As String
Dim Tableau() As String
Scr.txtFileOpen "c:Fichier1.txt", ForReading
Do Until Scr.txtFileEOF
Scr.txtFileReadLine ' ligne 1
Rs.AddNew
Texte = Scr.txtFileReadLine 'ligne 2
Tableau = Split(Texte, "/")
Rs!col1 = Tableau(0)
Rs!col2 = Tableau(1)
Rs!col3 = Tableau(2)
Rs!col4 = Tableau(3)
Texte = Scr.txtFileReadLine 'ligne 3
Tableau = Split(Texte, "/")
Rs!col5 = Tableau(0)
Rs!col6 = Tableau(1)
Rs!col7 = Tableau(2)
Texte = Scr.txtFileReadLine 'ligne 4
Tableau = Split(Texte, "/")
Rs!col8 = Tableau(0)
Rs.Update
Loop
Scr.txtFileClose
Rs.Close
Set Rs = Nothing
Set Db = Nothing
End Sub

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"Chris50" a écrit dans le message de
news:
oups:
"ouvrir un recordset sur ta table" ok je crois savoir
"lire un nombre de lignes fixes" je vais trouver
"créer un nouvel enregistrement" ok
"extraire chaque donnée et les placer dans ton recordset" euh là ça suit
plus
"écrire l'enregistrement" non plus
"boucler sur la lecture des lignes suivantes" là non plus
désolé mais je maitrise pas encore trop VBA (le boulet, je sais!)
Merci encore de ton aide