OVH Cloud OVH Cloud

Requête Make Table from .txt ?

11 réponses
Avatar
Bruno Frisque
Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci :

2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa Dominique



2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table dont les
champs seraient composés des 4 lignes significatives du fichier texte ?
Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci

10 réponses

1 2
Avatar
Jessy Sempere [MVP]
Bonjour

Tu peux essayer ce code :

*******************************************************
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading)

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet, NumActe,
Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "', " & intNumActe
& ", '" & strNom & "', '" & strPrenom & "';"
Next

MsgBox "Opération Terminé"
End Function
*******************************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message news:

Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci :

2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa Dominique



2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table dont les
champs seraient composés des 4 lignes significatives du fichier texte ?
Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci






Avatar
Bruno Frisque
Tout grand merci.
Je vais essayer çà.
Encore merci


"Jessy Sempere [MVP]" wrote in message
news:420877be$
Bonjour

Tu peux essayer ce code :

*******************************************************
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading)

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet, NumActe,
Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "', " &
intNumActe

& ", '" & strNom & "', '" & strPrenom & "';"
Next

MsgBox "Opération Terminé"
End Function
*******************************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message news:

Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci :

2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa Dominique



2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table dont les
champs seraient composés des 4 lignes significatives du fichier texte ?
Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci










Avatar
Bruno Frisque
Merci,

J'ai coché la référence MS Scripting runtime mais :

Compilation bloque sur CurrentDb.Execute : "argument not optional ....

Il manquerait quelque chose ??
encore merci
à +




"Jessy Sempere [MVP]" wrote in message
news:420877be$
Bonjour

Tu peux essayer ce code :

*******************************************************
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading)

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet, NumActe,
Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "', " &
intNumActe

& ", '" & strNom & "', '" & strPrenom & "';"
Next

MsgBox "Opération Terminé"
End Function
*******************************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message news:

Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci :

2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa Dominique



2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table dont les
champs seraient composés des 4 lignes significatives du fichier texte ?
Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci










Avatar
Gafish
Bonjour,

Essaie en enlevant le = après execute.

Arnaud

"Bruno Frisque" a écrit dans le message news:

Merci,

J'ai coché la référence MS Scripting runtime mais :

Compilation bloque sur CurrentDb.Execute : "argument not optional ....

Il manquerait quelque chose ??
encore merci
à +




"Jessy Sempere [MVP]" wrote in message
news:420877be$
Bonjour

Tu peux essayer ce code :

*******************************************************
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading)

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet,
NumActe,


Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "', " &
intNumActe

& ", '" & strNom & "', '" & strPrenom & "';"
Next

MsgBox "Opération Terminé"
End Function
*******************************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message news:

Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci :

2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa Dominique



2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table dont
les



champs seraient composés des 4 lignes significatives du fichier texte
?



Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci














Avatar
Bruno Frisque
Merci & Génial : sans le '=', çà compile sans erreur ....
But, il y a tjrs 1 mais : mon form acec Command0 qui appelle la fonction :

Private Sub Command0_Click()
'code by Jessy Sempere MSA FR 8/02/05
'ReadTxt
'Debug.Print ReadTxt

Call ReadTxt(TableCiviloLasne!field1)

End Sub

donne err "ObjectRequired" ....

Je loupe encore quelque chose, mais çà approche ????

Encore merci



"Gafish" wrote in message
news:%
Bonjour,

Essaie en enlevant le = après execute.

Arnaud

"Bruno Frisque" a écrit dans le message news:

Merci,

J'ai coché la référence MS Scripting runtime mais :

Compilation bloque sur CurrentDb.Execute : "argument not optional
....



Il manquerait quelque chose ??
encore merci
à +




"Jessy Sempere [MVP]" wrote in message
news:420877be$
Bonjour

Tu peux essayer ce code :

*******************************************************
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading)

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet,
NumActe,


Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "', " &
intNumActe

& ", '" & strNom & "', '" & strPrenom & "';"
Next

MsgBox "Opération Terminé"
End Function
*******************************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message news:

Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci :

2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa Dominique



2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table dont
les



champs seraient composés des 4 lignes significatives du fichier
texte




?
Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci


















Avatar
Gafish
Si tu te mets en débogage (si ca t'est proposé), il te surligne quelle ligne
?
Sinon la fonction ReadTxt, tu l'as mise dans un module standard ou dans ton
form ?
si c'est dans un module standard, préfixe la de public dans ton code :

Public function ReardTxt....

Arnaud

"Bruno Frisque" a écrit dans le message news:
#
Merci & Génial : sans le '=', çà compile sans erreur ....
But, il y a tjrs 1 mais : mon form acec Command0 qui appelle la fonction
:


Private Sub Command0_Click()
'code by Jessy Sempere MSA FR 8/02/05
'ReadTxt
'Debug.Print ReadTxt

Call ReadTxt(TableCiviloLasne!field1)

End Sub

donne err "ObjectRequired" ....

Je loupe encore quelque chose, mais çà approche ????

Encore merci



"Gafish" wrote in message
news:%
Bonjour,

Essaie en enlevant le = après execute.

Arnaud

"Bruno Frisque" a écrit dans le message news:

Merci,

J'ai coché la référence MS Scripting runtime mais :

Compilation bloque sur CurrentDb.Execute : "argument not optional
....



Il manquerait quelque chose ??
encore merci
à +




"Jessy Sempere [MVP]" wrote in message
news:420877be$
Bonjour

Tu peux essayer ce code :

*******************************************************
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading)

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet,
NumActe,


Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "', " &
intNumActe

& ", '" & strNom & "', '" & strPrenom & "';"
Next

MsgBox "Opération Terminé"
End Function
*******************************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message
news:





Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci :

2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa Dominique



2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table
dont





les
champs seraient composés des 4 lignes significatives du fichier
texte




?
Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci






















Avatar
Jessy Sempere [MVP]
Bonjour

L'argument strFile de la fonction que je t'ai donné, correspond au chemin
et nom du fichier que tu souhaites insérer dans ta table.

Tu dois faire :

Call ReadTxt "c:totototo.txt"

Pour ce qui est de la table et des noms de champ, tu dois modifier le SQL
qui est lancé par CurrentDB.Execute en mettant le nom de ta table et le nom
de tes champs :

CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet, " _
& "NumActe, Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "'" _
& ", " & intNumActe & ", '" & strNom & "', '" & strPrenom & "';"


@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message news:
#
Merci & Génial : sans le '=', çà compile sans erreur ....
But, il y a tjrs 1 mais : mon form acec Command0 qui appelle la fonction
:


Private Sub Command0_Click()
'code by Jessy Sempere MSA FR 8/02/05
'ReadTxt
'Debug.Print ReadTxt

Call ReadTxt(TableCiviloLasne!field1)

End Sub

donne err "ObjectRequired" ....

Je loupe encore quelque chose, mais çà approche ????

Encore merci



"Gafish" wrote in message
news:%
Bonjour,

Essaie en enlevant le = après execute.

Arnaud

"Bruno Frisque" a écrit dans le message news:

Merci,

J'ai coché la référence MS Scripting runtime mais :

Compilation bloque sur CurrentDb.Execute : "argument not optional
....



Il manquerait quelque chose ??
encore merci
à +




"Jessy Sempere [MVP]" wrote in message
news:420877be$
Bonjour

Tu peux essayer ce code :

*******************************************************
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading)

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet,
NumActe,


Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "', " &
intNumActe

& ", '" & strNom & "', '" & strPrenom & "';"
Next

MsgBox "Opération Terminé"
End Function
*******************************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message
news:





Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci :

2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa Dominique



2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table
dont





les
champs seraient composés des 4 lignes significatives du fichier
texte




?
Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci






















Avatar
Bruno Frisque
Merci.
Je vais essayer çà.

Merci pour ces précisions... il est génial ce groupe.
Grâce à des gens comme vous.

à plus, certainement




"Jessy Sempere [MVP]" wrote in message
news:420b13b0$
Bonjour

L'argument strFile de la fonction que je t'ai donné, correspond au chemin
et nom du fichier que tu souhaites insérer dans ta table.

Tu dois faire :

Call ReadTxt "c:totototo.txt"

Pour ce qui est de la table et des noms de champ, tu dois modifier le SQL
qui est lancé par CurrentDB.Execute en mettant le nom de ta table et le
nom

de tes champs :

CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet, " _
& "NumActe, Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "'" _
& ", " & intNumActe & ", '" & strNom & "', '" & strPrenom &
"';"



@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message news:
#
Merci & Génial : sans le '=', çà compile sans erreur ....
But, il y a tjrs 1 mais : mon form acec Command0 qui appelle la
fonction


:

Private Sub Command0_Click()
'code by Jessy Sempere MSA FR 8/02/05
'ReadTxt
'Debug.Print ReadTxt

Call ReadTxt(TableCiviloLasne!field1)

End Sub

donne err "ObjectRequired" ....

Je loupe encore quelque chose, mais çà approche ????

Encore merci



"Gafish" wrote in message
news:%
Bonjour,

Essaie en enlevant le = après execute.

Arnaud

"Bruno Frisque" a écrit dans le message news:

Merci,

J'ai coché la référence MS Scripting runtime mais :

Compilation bloque sur CurrentDb.Execute : "argument not optional
....



Il manquerait quelque chose ??
encore merci
à +




"Jessy Sempere [MVP]" wrote in message
news:420877be$
Bonjour

Tu peux essayer ce code :

*******************************************************
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading)

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet,
NumActe,


Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "', " &
intNumActe

& ", '" & strNom & "', '" & strPrenom & "';"
Next

MsgBox "Opération Terminé"
End Function
*******************************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message
news:





Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci :

2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa Dominique



2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table
dont





les
champs seraient composés des 4 lignes significatives du fichier
texte




?
Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci


























Avatar
Bruno Frisque
Merci, voici le code mis en place, mais il donne Runtime err 91 : Obj var or
With block variable not set.. <<<
- au niveau du form :
'code by Jessy Sempere MSA FR 8/02/05
Call ReadTxt("c:datatable.txt")

- dans me module :
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading) <<<<<< c'est ici que
çà coince ...

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute "INSERT INTO Nais01 ( Année, Objet, NumActe, Nom,
Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObjet & "', " & intNumActe &
", '" & strNom & "', '" & strPrenom & "';"
Next
MsgBox "Opération Terminé"
End Function

D'avance merci !
----------------------------------------------------------------------------
---------------

"Jessy Sempere [MVP]" wrote in message
news:420b13b0$
Bonjour

L'argument strFile de la fonction que je t'ai donné, correspond au chemin
et nom du fichier que tu souhaites insérer dans ta table.

Tu dois faire :

Call ReadTxt "c:totototo.txt"

Pour ce qui est de la table et des noms de champ, tu dois modifier le SQL
qui est lancé par CurrentDB.Execute en mettant le nom de ta table et le
nom

de tes champs :

CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet, " _
& "NumActe, Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "'" _
& ", " & intNumActe & ", '" & strNom & "', '" & strPrenom &
"';"



@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message news:
#
Merci & Génial : sans le '=', çà compile sans erreur ....
But, il y a tjrs 1 mais : mon form acec Command0 qui appelle la
fonction


:

Private Sub Command0_Click()
'code by Jessy Sempere MSA FR 8/02/05
'ReadTxt
'Debug.Print ReadTxt

Call ReadTxt(TableCiviloLasne!field1)

End Sub

donne err "ObjectRequired" ....

Je loupe encore quelque chose, mais çà approche ????

Encore merci



"Gafish" wrote in message
news:%
Bonjour,

Essaie en enlevant le = après execute.

Arnaud

"Bruno Frisque" a écrit dans le message news:

Merci,

J'ai coché la référence MS Scripting runtime mais :

Compilation bloque sur CurrentDb.Execute : "argument not optional
....



Il manquerait quelque chose ??
encore merci
à +




"Jessy Sempere [MVP]" wrote in message
news:420877be$
Bonjour

Tu peux essayer ce code :

*******************************************************
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading)

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet,
NumActe,


Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "', " &
intNumActe

& ", '" & strNom & "', '" & strPrenom & "';"
Next

MsgBox "Opération Terminé"
End Function
*******************************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message
news:





Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci :

2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa Dominique



2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table
dont





les
champs seraient composés des 4 lignes significatives du fichier
texte




?
Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci


























Avatar
Jessy Sempere [MVP]
Bonjour

Rajoutes la référence :
"Microsoft Scripting Runtime"

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message news:

Merci, voici le code mis en place, mais il donne Runtime err 91 : Obj var
or

With block variable not set.. <<<
- au niveau du form :
'code by Jessy Sempere MSA FR 8/02/05
Call ReadTxt("c:datatable.txt")

- dans me module :
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading) <<<<<< c'est ici que
çà coince ...

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute "INSERT INTO Nais01 ( Année, Objet, NumActe, Nom,
Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObjet & "', " & intNumActe
&

", '" & strNom & "', '" & strPrenom & "';"
Next
MsgBox "Opération Terminé"
End Function

D'avance merci !
--------------------------------------------------------------------------
--

---------------

"Jessy Sempere [MVP]" wrote in message
news:420b13b0$
Bonjour

L'argument strFile de la fonction que je t'ai donné, correspond au
chemin


et nom du fichier que tu souhaites insérer dans ta table.

Tu dois faire :

Call ReadTxt "c:totototo.txt"

Pour ce qui est de la table et des noms de champ, tu dois modifier le
SQL


qui est lancé par CurrentDB.Execute en mettant le nom de ta table et le
nom

de tes champs :

CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet, " _
& "NumActe, Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "'" _
& ", " & intNumActe & ", '" & strNom & "', '" & strPrenom &
"';"



@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message news:
#
Merci & Génial : sans le '=', çà compile sans erreur ....
But, il y a tjrs 1 mais : mon form acec Command0 qui appelle la
fonction


:

Private Sub Command0_Click()
'code by Jessy Sempere MSA FR 8/02/05
'ReadTxt
'Debug.Print ReadTxt

Call ReadTxt(TableCiviloLasne!field1)

End Sub

donne err "ObjectRequired" ....

Je loupe encore quelque chose, mais çà approche ????

Encore merci



"Gafish" wrote in message
news:%
Bonjour,

Essaie en enlevant le = après execute.

Arnaud

"Bruno Frisque" a écrit dans le message
news:





Merci,

J'ai coché la référence MS Scripting runtime mais :

Compilation bloque sur CurrentDb.Execute : "argument not
optional





....

Il manquerait quelque chose ??
encore merci
à +




"Jessy Sempere [MVP]" wrote in message
news:420877be$
Bonjour

Tu peux essayer ce code :

*******************************************************
Function ReadTxt(strFile As String)

Dim tabFile() As Variant
Dim lngTab As Long, lngLine As Long, i%
Dim fs As FileSystemObject
Dim ts As TextStream
Dim intAnnée As Integer
Dim strObject As String
Dim intNumActe As Integer
Dim strNom As String
Dim strPrenom As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForReading)

Do While Not ts.AtEndOfStream
lngTab = lngTab + 1
ReDim Preserve tabFile(lngTab)
tabFile(lngTab) = ts.ReadLine
Loop
ts.Close: Set ts = Nothing

For lngLine = 1 To lngTab Step 9
intAnnée = tabFile(lngLine)
strObject = Mid(tabFile(lngLine + 1), 2)
intNumActe = CDbl(tabFile(lngLine + 2))
strNom = tabFile(lngLine + 4)
strPrenom = tabFile(lngLine + 5)
CurrentDb.Execute = "INSERT INTO TaTable ( Année, Objet,
NumActe,


Nom, Prenom ) " _
& "SELECT " & intAnnée & ", '" & strObject & "', " &
intNumActe

& ", '" & strNom & "', '" & strPrenom & "';"
Next

MsgBox "Opération Terminé"
End Function
*******************************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bruno Frisque" a écrit dans le message
news:





Bonjour.

Je dispose d'un fichier texte (Etat Civil) composé comme ceci
:








2001
@Adoption
25

HOSDEY-HOSDEY
Amélie Francine Louisa GIsèle Adeline Bérengère Luisa
Dominique










2001
@Adoption
7

KUNDYCKI
Marie Catherine Françoise


La question : est-il possible via requêtes de créer une table
dont





les
champs seraient composés des 4 lignes significatives du
fichier







texte
?
Année
@ = objet de l'acte
espace et Numero de l'acte
ligne vide à ne pas reprendre
Nom
Prénoms
lignes blanches à ne pas reprendre

D'avance tout grand merci






























1 2