OVH Cloud OVH Cloud

exporté en fichier TXT

7 réponses
Avatar
Gilles
bonjour
j'ai une base de 600 nom que je dois exporter en format TXT pour les
retraiter avec MySQL
Quand je le fait avec exporter j'ai un ficier avec un saut de ligne moi je
voudrais avoir un ; a la place comment je doit faitre

Merci de votre aide

--
# ANTISPAM #
Click on the link to answer - Cliquez sur le lien pour répondre
http://www.cerbermail.com/?zH3uNd5dV8

7 réponses

Avatar
Papy Bernard
Slt,
De "Gilles"

bonjour
j'ai une base de 600 nom que je dois exporter en format TXT pour les
retraiter avec MySQL
Quand je le fait avec exporter j'ai un ficier avec un saut de ligne moi je
voudrais avoir un ; a la place comment je doit faitre

Merci de votre aide


L'Export au format *.TXT peut se faire soit en délimité (;) soit en longueur
fixe.
A toi de choisir ce qui est compatible avec ce que tu veux en faire.

--
A+
Papy Bernard (RTCien malgré lui)

Avatar
Gilles
je le choisi avec un ; mais j'ai toujours un saut de ligne aprés moi je ne
veux pas ce saut de ligne

--
# ANTISPAM #
Click on the link to answer - Cliquez sur le lien pour répondre
http://www.cerbermail.com/?zH3uNd5dV8
"Papy Bernard" a écrit dans le message de news:
%
Slt,
De "Gilles"

bonjour
j'ai une base de 600 nom que je dois exporter en format TXT pour les
retraiter avec MySQL
Quand je le fait avec exporter j'ai un ficier avec un saut de ligne moi
je
voudrais avoir un ; a la place comment je doit faitre

Merci de votre aide


L'Export au format *.TXT peut se faire soit en délimité (;) soit en
longueur
fixe.
A toi de choisir ce qui est compatible avec ce que tu veux en faire.

--
A+
Papy Bernard (RTCien malgré lui)





Avatar
Gilles
exemple
nom1; nom2; nom3;

actuellement j'ai
nom1;
nom2;
nom3;
c'est ce que je ne veux pas

--
# ANTISPAM #
Click on the link to answer - Cliquez sur le lien pour répondre
http://www.cerbermail.com/?zH3uNd5dV8
"Papy Bernard" a écrit dans le message de news:
%
Slt,
De "Gilles"

bonjour
j'ai une base de 600 nom que je dois exporter en format TXT pour les
retraiter avec MySQL
Quand je le fait avec exporter j'ai un ficier avec un saut de ligne moi
je
voudrais avoir un ; a la place comment je doit faitre

Merci de votre aide


L'Export au format *.TXT peut se faire soit en délimité (;) soit en
longueur
fixe.
A toi de choisir ce qui est compatible avec ce que tu veux en faire.

--
A+
Papy Bernard (RTCien malgré lui)





Avatar
Papy Bernard
Slt,

De "Gilles"

je le choisi avec un ; mais j'ai toujours un saut de ligne aprés moi je ne
veux pas ce saut de ligne



Et avec un fichier de 100 000 lignes d'enregistrements x 10 champs, que
comptes-tu faire ?
Parce que, avec ton idée de suppression du retour chariot, je doute que tu
arrives à satisfaire ton désir.

--
A+
Papy Bernard (RTCien malgré lui)

Avatar
Bonjour,

Adapte le code ci-dessous pour générer ton fichier en faisant un seul et unique print de la
variable Txtline,
600 valeurs, ça devrait passer.

Il suffit de mettre en commentaire la ligne
TxtLine = Left(TxtLine, Len(TxtLine) - Len(Separ))

et passer la ligne
Print #Fichier, TxtLine
après le Rst.MoveNext

ADapter également le
For Each Fld In Rst.Fields
...
Next fld

afin de ne prendre en compte que le champ qui t'intéresse:

un truc du genre set fld = rst.fields("tonchamp") devrait faire l'affaire.

Ci-dessous le code à adapter :
Sub GenerateTXT(strItem As String, strPath As String)
Dim strFile As String

Dim Dbs As DAO.Database
Dim Rst As DAO.Recordset
Dim Fld As DAO.Field
Dim TxtLine As String
Dim Fichier As Integer

Const Separ = ";" 'séparateur
Const IdVal = Null 'délimiteur

strFile = strPath & "" & strItem & "_" & _
DCount("*", strItem) & ".txt"

Set Dbs = CurrentDb
Set Rst = Dbs.OpenRecordset(strItem)
Fichier = FreeFile()

Open strFile For Output As #Fichier
While Not Rst.EOF
For Each Fld In Rst.Fields
TxtLine = TxtLine & IdVal & Fld.Value & IdVal & Separ
Next Fld
TxtLine = Left(TxtLine, Len(TxtLine) - Len(Separ))
Print #Fichier, TxtLine
Rst.MoveNext
Wend

Close #Fichier
Rst.Close
Dbs.Close
Set Rst = Nothing
Set Dbs = Nothing

msgbox "Fichier " & strFile & " créé.", vbOKOnly, ""

End Subà+

--
Arnaud
-----------------------------------
http://users.skynet.be/mpfa/
-----------------------------------

"Gilles" a écrit dans le message de news:
| exemple
| nom1; nom2; nom3;
|
| actuellement j'ai
| nom1;
| nom2;
| nom3;
| c'est ce que je ne veux pas
|
| --
| # ANTISPAM #
| Click on the link to answer - Cliquez sur le lien pour répondre
| http://www.cerbermail.com/?zH3uNd5dV8
| "Papy Bernard" a écrit dans le message de news:
| %
| > Slt,
| > De "Gilles"
| >
| >> bonjour
| >> j'ai une base de 600 nom que je dois exporter en format TXT pour les
| >> retraiter avec MySQL
| >> Quand je le fait avec exporter j'ai un ficier avec un saut de ligne moi
| >> je
| >> voudrais avoir un ; a la place comment je doit faitre
| >>
| >> Merci de votre aide
| >
| > L'Export au format *.TXT peut se faire soit en délimité (;) soit en
| > longueur
| > fixe.
| > A toi de choisir ce qui est compatible avec ce que tu veux en faire.
| >
| > --
| > A+
| > Papy Bernard (RTCien malgré lui)
| >
| >
|
|
Avatar
Gilles
je ne comprends pas beaucoup ton exemple c'est en VBA ????

--
# ANTISPAM #
Click on the link to answer - Cliquez sur le lien pour répondre
http://www.cerbermail.com/?zH3uNd5dV8
<Anor> a écrit dans le message de news:

Bonjour,

Adapte le code ci-dessous pour générer ton fichier en faisant un seul et
unique print de la
variable Txtline,
600 valeurs, ça devrait passer.

Il suffit de mettre en commentaire la ligne
TxtLine = Left(TxtLine, Len(TxtLine) - Len(Separ))

et passer la ligne
Print #Fichier, TxtLine
après le Rst.MoveNext

ADapter également le
For Each Fld In Rst.Fields
...
Next fld

afin de ne prendre en compte que le champ qui t'intéresse:

un truc du genre set fld = rst.fields("tonchamp") devrait faire l'affaire.

Ci-dessous le code à adapter :
Sub GenerateTXT(strItem As String, strPath As String)
Dim strFile As String

Dim Dbs As DAO.Database
Dim Rst As DAO.Recordset
Dim Fld As DAO.Field
Dim TxtLine As String
Dim Fichier As Integer

Const Separ = ";" 'séparateur
Const IdVal = Null 'délimiteur

strFile = strPath & "" & strItem & "_" & _
DCount("*", strItem) & ".txt"

Set Dbs = CurrentDb
Set Rst = Dbs.OpenRecordset(strItem)
Fichier = FreeFile()

Open strFile For Output As #Fichier
While Not Rst.EOF
For Each Fld In Rst.Fields
TxtLine = TxtLine & IdVal & Fld.Value & IdVal & Separ
Next Fld
TxtLine = Left(TxtLine, Len(TxtLine) - Len(Separ))
Print #Fichier, TxtLine
Rst.MoveNext
Wend

Close #Fichier
Rst.Close
Dbs.Close
Set Rst = Nothing
Set Dbs = Nothing

msgbox "Fichier " & strFile & " créé.", vbOKOnly, ""

End Subà+

--
Arnaud
-----------------------------------
http://users.skynet.be/mpfa/
-----------------------------------

"Gilles" a écrit dans le message de news:

| exemple
| nom1; nom2; nom3;
|
| actuellement j'ai
| nom1;
| nom2;
| nom3;
| c'est ce que je ne veux pas
|
| --
| # ANTISPAM #
| Click on the link to answer - Cliquez sur le lien pour répondre
| http://www.cerbermail.com/?zH3uNd5dV8
| "Papy Bernard" a écrit dans le message de news:
| %
| > Slt,
| > De "Gilles"
| >
| >> bonjour
| >> j'ai une base de 600 nom que je dois exporter en format TXT pour les
| >> retraiter avec MySQL
| >> Quand je le fait avec exporter j'ai un ficier avec un saut de ligne
moi
| >> je
| >> voudrais avoir un ; a la place comment je doit faitre
| >>
| >> Merci de votre aide
| >
| > L'Export au format *.TXT peut se faire soit en délimité (;) soit en
| > longueur
| > fixe.
| > A toi de choisir ce qui est compatible avec ce que tu veux en faire.
| >
| > --
| > A+
| > Papy Bernard (RTCien malgré lui)
| >
| >
|
|




Avatar
Oui

et une telle fonction se lance avec la syntaxe
sub fdjskljfdskl()
Call GenerateTXT("TaTable", "C:")
End sub

à+
Arnaud

"Gilles" a écrit dans le message de news: %23sP%
| je ne comprends pas beaucoup ton exemple c'est en VBA ????
|
| --
| # ANTISPAM #
| Click on the link to answer - Cliquez sur le lien pour répondre
| http://www.cerbermail.com/?zH3uNd5dV8
| <Anor> a écrit dans le message de news:
|
| > Bonjour,
| >
| > Adapte le code ci-dessous pour générer ton fichier en faisant un seul et
| > unique print de la
| > variable Txtline,
| > 600 valeurs, ça devrait passer.
| >
| > Il suffit de mettre en commentaire la ligne
| > TxtLine = Left(TxtLine, Len(TxtLine) - Len(Separ))
| >
| > et passer la ligne
| > Print #Fichier, TxtLine
| > après le Rst.MoveNext
| >
| > ADapter également le
| > For Each Fld In Rst.Fields
| > ...
| > Next fld
| >
| > afin de ne prendre en compte que le champ qui t'intéresse:
| >
| > un truc du genre set fld = rst.fields("tonchamp") devrait faire l'affaire.
| >
| > Ci-dessous le code à adapter :
| > Sub GenerateTXT(strItem As String, strPath As String)
| > Dim strFile As String
| >
| > Dim Dbs As DAO.Database
| > Dim Rst As DAO.Recordset
| > Dim Fld As DAO.Field
| > Dim TxtLine As String
| > Dim Fichier As Integer
| >
| > Const Separ = ";" 'séparateur
| > Const IdVal = Null 'délimiteur
| >
| > strFile = strPath & "" & strItem & "_" & _
| > DCount("*", strItem) & ".txt"
| >
| > Set Dbs = CurrentDb
| > Set Rst = Dbs.OpenRecordset(strItem)
| > Fichier = FreeFile()
| >
| > Open strFile For Output As #Fichier
| > While Not Rst.EOF
| > For Each Fld In Rst.Fields
| > TxtLine = TxtLine & IdVal & Fld.Value & IdVal & Separ
| > Next Fld
| > TxtLine = Left(TxtLine, Len(TxtLine) - Len(Separ))
| > Print #Fichier, TxtLine
| > Rst.MoveNext
| > Wend
| >
| > Close #Fichier
| > Rst.Close
| > Dbs.Close
| > Set Rst = Nothing
| > Set Dbs = Nothing
| >
| > msgbox "Fichier " & strFile & " créé.", vbOKOnly, ""
| >
| > End Subà+
| >
| > --
| > Arnaud
| > -----------------------------------
| > http://users.skynet.be/mpfa/
| > -----------------------------------
| >
| > "Gilles" a écrit dans le message de news:
| >
| > | exemple
| > | nom1; nom2; nom3;
| > |
| > | actuellement j'ai
| > | nom1;
| > | nom2;
| > | nom3;
| > | c'est ce que je ne veux pas
| > |
| > | --
| > | # ANTISPAM #
| > | Click on the link to answer - Cliquez sur le lien pour répondre
| > | http://www.cerbermail.com/?zH3uNd5dV8
| > | "Papy Bernard" a écrit dans le message de news:
| > | %
| > | > Slt,
| > | > De "Gilles"
| > | >
| > | >> bonjour
| > | >> j'ai une base de 600 nom que je dois exporter en format TXT pour les
| > | >> retraiter avec MySQL
| > | >> Quand je le fait avec exporter j'ai un ficier avec un saut de ligne
| > moi
| > | >> je
| > | >> voudrais avoir un ; a la place comment je doit faitre
| > | >>
| > | >> Merci de votre aide
| > | >
| > | > L'Export au format *.TXT peut se faire soit en délimité (;) soit en
| > | > longueur
| > | > fixe.
| > | > A toi de choisir ce qui est compatible avec ce que tu veux en faire.
| > | >
| > | > --
| > | > A+
| > | > Papy Bernard (RTCien malgré lui)
| > | >
| > | >
| > |
| > |
| >
| >
|
|