j'utilise la commande DoCmd.TransferText pour importer un fichier texte dans
ma base
A l'origine, le fichier texte (issu d'un système de requêtage interne à mon
entreprise) ne comporte pas d'extension ".txt", qu'il faut donc que je
rajoute manuellement.
J'ai remarqué que la commande TransfertText ne fonctionnait pas si on lui
donnait en argument un fichier texte sans extension ".txt". Est-ce que
quelq'un peut confirmer cela ?
Dans un soucis d'automatisation (je veux éviter le maximum d'actions
manuelles pour les utilisateurs), existe-t-il un moyen pour contourner ce
problème, et travailler donc directement sur ce fichier texte sans extension
.txt ?
J'ai toujours la solution de renommer le fichier via VBA mais j'aimerais
trouver plus simple (contrôles d'erreur : fichier existant avec le même nom,
etc...)
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
Raymond [mvp]
bonsoir.
tu peux très bien passer par les fonctions FileSystemObjects (si peu de lignes) et passer par une copie du fichier en txt avec un nom qui ne peut pas exister et écrasement du fichier, tout en conservant l'ancien fichier sous son nom sans le txt: (cocher la librairie Microsoft scripting Runtime) Option Compare Database Option Explicit
Dim fso As New filesystemobject Dim Fso_File As File Private Sub Commande0_Click() On Error Resume Next DoCmd.DeleteObject acTable, "Tablex" If FileCopy("Table1", "Table1_Import.txt") Then DoCmd.TransferText acImportDelim, , "Tablex", "Table1_Import.txt", True Else MsgBox "erreur...." End If End Sub
Function FileCopy(PathName As String, NewPathName As String, Optional OverWrite As Boolean = True) As Boolean FileCopy = False If Not fso.FileExists(PathName) Then Exit Function If (fso.FileExists(NewPathName)) And (Not OverWrite) Then Exit Function Set Fso_File = fso.GetFile(PathName) Fso_File.Copy NewPathName, OverWrite FileCopy = True End Function
-- @+ 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
"Gripoil" a écrit dans le message de news:40f2d374$0$9670$
Bonjour,
j'utilise la commande DoCmd.TransferText pour importer un fichier texte dans
ma base
A l'origine, le fichier texte (issu d'un système de requêtage interne à mon
entreprise) ne comporte pas d'extension ".txt", qu'il faut donc que je rajoute manuellement.
J'ai remarqué que la commande TransfertText ne fonctionnait pas si on lui donnait en argument un fichier texte sans extension ".txt". Est-ce que quelq'un peut confirmer cela ?
Dans un soucis d'automatisation (je veux éviter le maximum d'actions manuelles pour les utilisateurs), existe-t-il un moyen pour contourner ce problème, et travailler donc directement sur ce fichier texte sans extension
.txt ?
J'ai toujours la solution de renommer le fichier via VBA mais j'aimerais trouver plus simple (contrôles d'erreur : fichier existant avec le même nom,
etc...)
Merci pour vos réponses
bonsoir.
tu peux très bien passer par les fonctions FileSystemObjects (si peu de
lignes) et passer par une copie du fichier en txt avec un nom qui ne peut
pas exister et écrasement du fichier, tout en conservant l'ancien fichier
sous son nom sans le txt:
(cocher la librairie Microsoft scripting Runtime)
Option Compare Database
Option Explicit
Dim fso As New filesystemobject
Dim Fso_File As File
Private Sub Commande0_Click()
On Error Resume Next
DoCmd.DeleteObject acTable, "Tablex"
If FileCopy("Table1", "Table1_Import.txt") Then
DoCmd.TransferText acImportDelim, , "Tablex", "Table1_Import.txt",
True
Else
MsgBox "erreur...."
End If
End Sub
Function FileCopy(PathName As String, NewPathName As String, Optional
OverWrite As Boolean = True) As Boolean
FileCopy = False
If Not fso.FileExists(PathName) Then Exit Function
If (fso.FileExists(NewPathName)) And (Not OverWrite) Then Exit Function
Set Fso_File = fso.GetFile(PathName)
Fso_File.Copy NewPathName, OverWrite
FileCopy = True
End Function
--
@+
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
"Gripoil" <gripoil@alussinan.org> a écrit dans le message de
news:40f2d374$0$9670$636a15ce@news.free.fr...
Bonjour,
j'utilise la commande DoCmd.TransferText pour importer un fichier texte
dans
ma base
A l'origine, le fichier texte (issu d'un système de requêtage interne à
mon
entreprise) ne comporte pas d'extension ".txt", qu'il faut donc que je
rajoute manuellement.
J'ai remarqué que la commande TransfertText ne fonctionnait pas si on lui
donnait en argument un fichier texte sans extension ".txt". Est-ce que
quelq'un peut confirmer cela ?
Dans un soucis d'automatisation (je veux éviter le maximum d'actions
manuelles pour les utilisateurs), existe-t-il un moyen pour contourner ce
problème, et travailler donc directement sur ce fichier texte sans
extension
.txt ?
J'ai toujours la solution de renommer le fichier via VBA mais j'aimerais
trouver plus simple (contrôles d'erreur : fichier existant avec le même
nom,
tu peux très bien passer par les fonctions FileSystemObjects (si peu de lignes) et passer par une copie du fichier en txt avec un nom qui ne peut pas exister et écrasement du fichier, tout en conservant l'ancien fichier sous son nom sans le txt: (cocher la librairie Microsoft scripting Runtime) Option Compare Database Option Explicit
Dim fso As New filesystemobject Dim Fso_File As File Private Sub Commande0_Click() On Error Resume Next DoCmd.DeleteObject acTable, "Tablex" If FileCopy("Table1", "Table1_Import.txt") Then DoCmd.TransferText acImportDelim, , "Tablex", "Table1_Import.txt", True Else MsgBox "erreur...." End If End Sub
Function FileCopy(PathName As String, NewPathName As String, Optional OverWrite As Boolean = True) As Boolean FileCopy = False If Not fso.FileExists(PathName) Then Exit Function If (fso.FileExists(NewPathName)) And (Not OverWrite) Then Exit Function Set Fso_File = fso.GetFile(PathName) Fso_File.Copy NewPathName, OverWrite FileCopy = True End Function
-- @+ 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
"Gripoil" a écrit dans le message de news:40f2d374$0$9670$
Bonjour,
j'utilise la commande DoCmd.TransferText pour importer un fichier texte dans
ma base
A l'origine, le fichier texte (issu d'un système de requêtage interne à mon
entreprise) ne comporte pas d'extension ".txt", qu'il faut donc que je rajoute manuellement.
J'ai remarqué que la commande TransfertText ne fonctionnait pas si on lui donnait en argument un fichier texte sans extension ".txt". Est-ce que quelq'un peut confirmer cela ?
Dans un soucis d'automatisation (je veux éviter le maximum d'actions manuelles pour les utilisateurs), existe-t-il un moyen pour contourner ce problème, et travailler donc directement sur ce fichier texte sans extension
.txt ?
J'ai toujours la solution de renommer le fichier via VBA mais j'aimerais trouver plus simple (contrôles d'erreur : fichier existant avec le même nom,
etc...)
Merci pour vos réponses
Gripoil
Ok merci, je vais essayer
"Raymond [mvp]" a écrit dans le message de news:%
bonsoir.
tu peux très bien passer par les fonctions FileSystemObjects (si peu de lignes) et passer par une copie du fichier en txt avec un nom qui ne peut pas exister et écrasement du fichier, tout en conservant l'ancien fichier sous son nom sans le txt: (cocher la librairie Microsoft scripting Runtime) Option Compare Database Option Explicit
Dim fso As New filesystemobject Dim Fso_File As File Private Sub Commande0_Click() On Error Resume Next DoCmd.DeleteObject acTable, "Tablex" If FileCopy("Table1", "Table1_Import.txt") Then DoCmd.TransferText acImportDelim, , "Tablex", "Table1_Import.txt", True Else MsgBox "erreur...." End If End Sub
Function FileCopy(PathName As String, NewPathName As String, Optional OverWrite As Boolean = True) As Boolean FileCopy = False If Not fso.FileExists(PathName) Then Exit Function If (fso.FileExists(NewPathName)) And (Not OverWrite) Then Exit Function
Set Fso_File = fso.GetFile(PathName) Fso_File.Copy NewPathName, OverWrite FileCopy = True End Function
-- @+ 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
"Gripoil" a écrit dans le message de news:40f2d374$0$9670$
Bonjour,
j'utilise la commande DoCmd.TransferText pour importer un fichier texte dans
ma base
A l'origine, le fichier texte (issu d'un système de requêtage interne à mon
entreprise) ne comporte pas d'extension ".txt", qu'il faut donc que je rajoute manuellement.
J'ai remarqué que la commande TransfertText ne fonctionnait pas si on lui
donnait en argument un fichier texte sans extension ".txt". Est-ce que quelq'un peut confirmer cela ?
Dans un soucis d'automatisation (je veux éviter le maximum d'actions manuelles pour les utilisateurs), existe-t-il un moyen pour contourner ce
problème, et travailler donc directement sur ce fichier texte sans extension
.txt ?
J'ai toujours la solution de renommer le fichier via VBA mais j'aimerais trouver plus simple (contrôles d'erreur : fichier existant avec le même nom,
etc...)
Merci pour vos réponses
Ok merci, je vais essayer
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news:%239xRcMEaEHA.2016@TK2MSFTNGP09.phx.gbl...
bonsoir.
tu peux très bien passer par les fonctions FileSystemObjects (si peu de
lignes) et passer par une copie du fichier en txt avec un nom qui ne peut
pas exister et écrasement du fichier, tout en conservant l'ancien fichier
sous son nom sans le txt:
(cocher la librairie Microsoft scripting Runtime)
Option Compare Database
Option Explicit
Dim fso As New filesystemobject
Dim Fso_File As File
Private Sub Commande0_Click()
On Error Resume Next
DoCmd.DeleteObject acTable, "Tablex"
If FileCopy("Table1", "Table1_Import.txt") Then
DoCmd.TransferText acImportDelim, , "Tablex", "Table1_Import.txt",
True
Else
MsgBox "erreur...."
End If
End Sub
Function FileCopy(PathName As String, NewPathName As String, Optional
OverWrite As Boolean = True) As Boolean
FileCopy = False
If Not fso.FileExists(PathName) Then Exit Function
If (fso.FileExists(NewPathName)) And (Not OverWrite) Then Exit
Function
Set Fso_File = fso.GetFile(PathName)
Fso_File.Copy NewPathName, OverWrite
FileCopy = True
End Function
--
@+
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
"Gripoil" <gripoil@alussinan.org> a écrit dans le message de
news:40f2d374$0$9670$636a15ce@news.free.fr...
Bonjour,
j'utilise la commande DoCmd.TransferText pour importer un fichier texte
dans
ma base
A l'origine, le fichier texte (issu d'un système de requêtage interne à
mon
entreprise) ne comporte pas d'extension ".txt", qu'il faut donc que je
rajoute manuellement.
J'ai remarqué que la commande TransfertText ne fonctionnait pas si on
lui
donnait en argument un fichier texte sans extension ".txt". Est-ce que
quelq'un peut confirmer cela ?
Dans un soucis d'automatisation (je veux éviter le maximum d'actions
manuelles pour les utilisateurs), existe-t-il un moyen pour contourner
ce
problème, et travailler donc directement sur ce fichier texte sans
extension
.txt ?
J'ai toujours la solution de renommer le fichier via VBA mais j'aimerais
trouver plus simple (contrôles d'erreur : fichier existant avec le même
nom,
tu peux très bien passer par les fonctions FileSystemObjects (si peu de lignes) et passer par une copie du fichier en txt avec un nom qui ne peut pas exister et écrasement du fichier, tout en conservant l'ancien fichier sous son nom sans le txt: (cocher la librairie Microsoft scripting Runtime) Option Compare Database Option Explicit
Dim fso As New filesystemobject Dim Fso_File As File Private Sub Commande0_Click() On Error Resume Next DoCmd.DeleteObject acTable, "Tablex" If FileCopy("Table1", "Table1_Import.txt") Then DoCmd.TransferText acImportDelim, , "Tablex", "Table1_Import.txt", True Else MsgBox "erreur...." End If End Sub
Function FileCopy(PathName As String, NewPathName As String, Optional OverWrite As Boolean = True) As Boolean FileCopy = False If Not fso.FileExists(PathName) Then Exit Function If (fso.FileExists(NewPathName)) And (Not OverWrite) Then Exit Function
Set Fso_File = fso.GetFile(PathName) Fso_File.Copy NewPathName, OverWrite FileCopy = True End Function
-- @+ 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
"Gripoil" a écrit dans le message de news:40f2d374$0$9670$
Bonjour,
j'utilise la commande DoCmd.TransferText pour importer un fichier texte dans
ma base
A l'origine, le fichier texte (issu d'un système de requêtage interne à mon
entreprise) ne comporte pas d'extension ".txt", qu'il faut donc que je rajoute manuellement.
J'ai remarqué que la commande TransfertText ne fonctionnait pas si on lui
donnait en argument un fichier texte sans extension ".txt". Est-ce que quelq'un peut confirmer cela ?
Dans un soucis d'automatisation (je veux éviter le maximum d'actions manuelles pour les utilisateurs), existe-t-il un moyen pour contourner ce
problème, et travailler donc directement sur ce fichier texte sans extension
.txt ?
J'ai toujours la solution de renommer le fichier via VBA mais j'aimerais trouver plus simple (contrôles d'erreur : fichier existant avec le même nom,