Solved

Import excel CSV into Access at Row 2 and only columns A:L

Posted on 2016-08-17
11
18 Views
Last Modified: 2016-10-03
I am sure there is an easy way to do this.  I have an excel spreadsheet that gets dropped each Monday.  

I need to automate this file to import into access and dump into our SQL tables.  Right now we have to manually delete the first 2 rows (Header and a blank line).  The file names are at row 3 and we only need columns A:L.   What code can I write that is the easiest way to do this?  

I have a screen shot of the actual file after I opened it in excel.
MDD-Image.PNG
0
Comment
Question by:gracie1972
11 Comments
 
LVL 34

Accepted Solution

by:
PatHartman earned 500 total points
ID: 41759969
You can link to the table as is.  Create a query that selects the columns you want - they won't be named correctly but that doesn't matter.  Change the query to an append query.  Then, since the column names don't match, you will have to manually map each column.  So F1 will append to KeyYearRDD (I hope you are not actually using column names with special characters and embedded spaces in your SQL Server database).

Then add criteria that selects only rows where column F1 is numeric.  That will pick up only the rows with a valid year and ignore the others.
0
 

Author Comment

by:gracie1972
ID: 41760010
My next question is that the data is a common delimited file and there is also numbers with commas separated by commas, is there any way to get around this barrier?
0
 
LVL 34

Assisted Solution

by:PatHartman
PatHartman earned 500 total points
ID: 41760031
Numbers containing comas are text rather than numeric.  In the standard csv format, text fields are enclosed in double quotes.  So -
"RecID", "FirstName", "LastName", "Phone", "Fee", "PaidDT"
34567,"Pat","Hartman","2035511212",45.16, 8/17/2016

Another alternative is to use tabs as the delimiter rather than comas but that is not standard so you will have to create an import spec to import the file.
0
 
LVL 45

Expert Comment

by:aikimark
ID: 41760419
Please post a representative sample data set
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
LVL 49

Expert Comment

by:Gustav Brock
ID: 41762069
There are no commas on your sample picture. Integers only.

However, if you have comma as the decimal separator, you can simply use CCur to convert:

    NetSales: CCur([F8])

/gustav
0
 
LVL 34

Assisted Solution

by:PatHartman
PatHartman earned 500 total points
ID: 41762567
You can't convert the commas after the fact since they end up causing additional columns when the file is imported so there are no commas actually in the data.  Clearly, the person who created the file didn't understand how csv works and that the commas would cause bogus fields when the file was imported by a program that assumed conforming format.

If you can't get the originator to produce a valid format csv using either of the two formats I suggested or by eliminating the embedded commas, you will have to import the file using the VBA file I/O method and parse the record yourself.

You could use the split function and then count the resulting items in the array.  If the count = the number of expected columns, the data did not include a comma and you can just take each item and place it directly in field.  If the item count exceeds the number of columns, then it depends on how many columns could contain a comma.  If multiple columns could contain a comma and the fields surrounding the bad data are numeric, I'm not sure how you will sort this out.
Is
1,234,888,
"1,234", 888
OR
1, "234,888"
?
0
 
LVL 45

Expert Comment

by:aikimark
ID: 41762666
@gracie1972

Where's the sample data file?
0
 
LVL 34

Expert Comment

by:PatHartman
ID: 41762689
@aikimark, Why do you need a sample data file?

@Gracie, Next time please start a new question so you can allocate points fairly.
0
 
LVL 45

Expert Comment

by:aikimark
ID: 41762797
Why do you need a sample data file?
@Pat,
There might be a solution that the other experts haven't offered.
0

Featured Post

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.

Question has a verified solution.

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

In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Not long ago I saw a question in the VB Script forum that I thought would not take much time. You can read that question (Question ID  (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_28455246.html)28455246) Here (http…
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.

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

16 Experts available now in Live!

Get 1:1 Help Now