Solved

Import all CSV files in folder using Access 2010

Posted on 2015-01-22
7
521 Views
Last Modified: 2015-01-23
I'm trying to import all CSV files (bulk import) in a folder, update the file name to each related record (field name: FileName) and then move the CSV files to a archive folder. Thanks
0
Comment
Question by:shieldsco
  • 4
  • 2
7 Comments
 
LVL 119

Accepted Solution

by:
Rey Obrero earned 500 total points
ID: 40565607
do you have an Import Specification for importing the csv file?



On Error Resume Next
 Dim csvFile As String, xFile As String, csvFolder As String
 

  csvFolder = "C:\Folder\"  '<<< CHANGE to CORRECT path
  csvFile = Dir(csvFolder & "*.csv")
  While csvFile <> ""
            docmd.transfertext acimportdelim,"importSpecificationName","tablename",csvFolder & csvFile,true
       
            currentdb.execute "update tableName set filename='" & csvfile & "' where filename is null"
            
          Name csvFolder & csvFile As ArchiveFolder & csvFile
         
          csvFile = Dir()
  Wend
0
 
LVL 20

Expert Comment

by:GrahamMandeno
ID: 40565682
I suggest instead of importing each file, you should link it and then run one or more append queries to bring the data into your Access tables.  You will have much more control over things that way.

To move a processed file into your archive folder, just use the Name command with a different folder name:

    Name SourceFolder & FileName As DestinationFolder & FileName

Both folders must be on the same drive for Name to work.

In fact, you could combine the function of importing with the rename loop in your last post I answered.  Then, having imported the data from the file with the old name, rename it into the archive folder with the new name:

    Name SourceFolder & OldFileName As DestinationFolder & NewFileName

Graham Mandeno [Access MVP 1996-2015]
0
 
LVL 119

Expert Comment

by:Rey Obrero
ID: 40565699
To create the Import Specification
   1) Click on external data> text file which then opens another window called "Get external data - Text file"
   2) Use radio button to select "Import the source data into a new table in the current database"
   3) specify the source of the file using the browse procedure then click OK
   4) Choose radio button to select delimited format and then click next
   5) this window allows you to choose delimiter and text qualifier and if first row contains names - click next
   6) This window allows you to type the name of the field in the Field Name column, choose data type, and if you want field indexed - also can choose to skip field - then click next
   7) This window allows you to add primary key or designate field as such - click next
   8) Click on ADVANCED button
   9. in the import specification window
   type the name of the field in the Field Name column
   (here you can use the field names of the destination table, specify data type,
   check the box Skip if you do not want to import the column)
   10 click save as, give the specification a name <-- this is the specification name that you will use in the command line below


 DoCmd.TransferText acImportDelim, "ImportSpecificationName", "TableName", "C:\folderName\myText.txt" , True
0
Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 

Author Comment

by:shieldsco
ID: 40566287
Rey - code works for the most part however the files are not being move to an archive folder
0
 
LVL 119

Expert Comment

by:Rey Obrero
ID: 40566308
post the codes that YOU are using.

<code works for the most part> which part is not working?

i can't guessed it if you are not providing detail information.
0
 
LVL 119

Expert Comment

by:Rey Obrero
ID: 40566309
did you define the archiveFolder

dim archiveFolder as string
archiveFolder="c:\xxxx\"
0
 

Author Closing Comment

by:shieldsco
ID: 40566373
Very Good
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Familiarize people with the process of utilizing SQL Server functions 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 Microsoft Ac…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now