Solved

# import multiple CSV files in a single directory to an Access table

Posted on 2008-10-21
666 Views
I have a large collection of CSV files in a single folder that I want to append to a single table in Access 2007, and have decided that the builtin VBA would be the easiest way to do so, regardless of my inexperience with it.

While testing the code snippet below, it would "Run time error 3011" on the DoCmd.TransferText line, claiming that the object 'filename.txt' - correctly the first file in the directory - could not be found.  The variable holding the filepath "sf" shows the correct path value while debugging.  I am suspecting that the format of the filename, which includes periods and spaces, might be a problem.  The format of the filename is determined by the exporting application and is beyond my control.

If the name format is my problem, how can I replace the offending characters programatically?  If the name is not the problem, what am I doing wrong.
Dim fso As New FileSystemObject
Dim f As Folder
Dim sf As File
Dim path As String

path = "C:\path\to\directory\"
Set f = fso.GetFolder(path)

For Each sf In f.Files
DoCmd.TransferText acImportDelim, , "tbl_TempBuys", sf, -1
Next

0
Question by:DrEnnui
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 2
• 2

LVL 22

Expert Comment

ID: 22772918
I think sf in this case will only give you the file name, you need a string with the concatenation of f and sf.

Try debugging the code and see what sf is as it runs.

Kelvin
0

Author Comment

ID: 22773000
It is the correct full path and file name.
0

LVL 22

Accepted Solution

Kelvin Sparks earned 125 total points
ID: 22773027
Then it is as you suspect the nameing of files. You may have to look at some code to rename these files into acceptable format prior to importing. I have struck similar with Excel files names and developed code to remove all spaces and other characters before using.

Kelvin
0

Author Comment

ID: 22773702
That appeared to do it.  I just had to find a way of doing mass renaming.  Thanks!
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
Familiarize people with the process of utilizing SQL Server stored procedures from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Micr…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.
###### Suggested Courses
Course of the Month2 days, 12 hours left to enroll