Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

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

Posted on 2016-08-17
11
Medium Priority
?
32 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
9 Comments
 
LVL 40

Accepted Solution

by:
PatHartman earned 2000 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 40

Assisted Solution

by:PatHartman
PatHartman earned 2000 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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 46

Expert Comment

by:aikimark
ID: 41760419
Please post a representative sample data set
0
 
LVL 52

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 40

Assisted Solution

by:PatHartman
PatHartman earned 2000 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 46

Expert Comment

by:aikimark
ID: 41762666
@gracie1972

Where's the sample data file?
0
 
LVL 40

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 46

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

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

Implementing simple internal controls in the Microsoft Access application.
Beware when using the ListIndex and the Column() properties of a listbox in Access 2007.  A bug has been identified in the Access 2007 listbox code which can cause the .ListIndex property to return a -1, and the .Columns(#) property to return a NULL…
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …

578 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