473,473 Members | 2,053 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Advanced CSV Import Procedure using VB and SQL within Access 2007

129 New Member
I am wanting to import CSV files into Access, which isn't a problem at the moment the code i have is as follows:
Expand|Select|Wrap|Line Numbers
  1. Dim strSQL As String
  2. Dim CSVTable As String
  3. Dim FilePath As String
  4. Dim Result As String
  5.  
  6. strSQL = "DELETE * from csvordlin"
  7. CSVTable = "csvordlin"
  8.  
  9. FilePath = InputBox("Please Enter a Path File for the CSV Location!", "Criteria Required")
  10. If FilePath = "" Then
  11. Else
  12. DoCmd.SetWarnings False
  13. DoCmd.RunSQL strSQL
  14. DoCmd.SetWarnings True
  15. DoCmd.TransferText acImportDelim, , CSVTable, FilePath, False
  16. Result = MsgBox("You have Successfully Imported your chosen CSV file!", vbInformation, "Import Status")
  17. End If
This successfully imports details into csvordlin table. Attributes such as StkID, Qty, Description, Height, Width and Depth are contained within. I am wanting to transfer these details into an existing table called "ordlin" (OrderLine) for an particular order but it needs check parameters such as if a certain StkID does not exist within the "stkmas" table then provide the option to ADD these Details to the "stkmas" table with an INSERT statement.

I have created a Customer Order Form where there is an OrderHeader and OrderLine contained within. I have OrderNo set as the Primary Key for the OrderHeader and OrderNo and StkID for the OrderLine so i can have many lines for one OrderHead.

So as a Step-by-Step approach, i am wanting the following to happen:

1. Create the OrderHead
2. Click on a Button to Import the CSV file as shown above.
3. Check the Imported Data exists within existing Stk file.
4. If not have the option to add to the existing Stk file.
5. Import the data into the Form OrderLine where it will have to assign an OrderNo with each row of data.
6. Assign correct Stk ID's or (New ones) with the Stk Descriptions imported. (Will explain below **).
7. Assign any Price that belongs to the existing "stkmas" table. (D-LOOKUP most likely)

This is my crappy attempt of transferring the data from the csvordlin table to the ordlin table:
Expand|Select|Wrap|Line Numbers
  1. Dim strSQL As String
  2.  
  3. strSQL = "INSERT INTO ordlin(StkID,Qty,Width,Depth,Height)SELECT F1,F4,F5,F6,F7 FROM csvordlin"
  4.  
  5. DoCmd.RunSQL strSQL
It didn't work as u may know. F1 = StkID, F2 Stk Description, F4 = Qty, F5 = Width, F6 = Depth and F7 = Height.

** When sorting this database out i assigned StkID's to Stock Items, where as the Imported data uses the StkDesc as there IDs, so i am gonna have to match my StkShortDesc with there StkID as they dont use numbers. For example;
Expand|Select|Wrap|Line Numbers
  1. StkID = 133, StkShortDesc = Base, Qty = 1 - Mine
  2. StkID = Base, StkDesc = Base Board, Qty = 1 - CSV File (Theirs)
My Visula Basic is limited when trying to do something like this and is a bit out of my league as you could probably tell. Any help would be greatly appreciated.

Thanks in advance!
Aug 3 '08 #1
2 4830
nico5038
3,080 Recognized Expert Specialist
A rather daunting task.
To start with the SQLrun I would run the string first from the query-editor. Simply paste the string in the SQL-mode and press the ! for running the statement.
I guess that one of the fields datatype doesn't match,but Access will warn you for he proper error.

Nic;o
Aug 3 '08 #2
Stewart Ross
2,545 Recognized Expert Moderator Specialist
Constantine Al, this thread is a virtual duplicate of this thread which you posted. I have retained your former thread as it contains a screenshot which the current thread does not, but I have closed it to prevent confusion. Please do not double-post your threads in future - you will not find they are answered any faster as a result. It is also against our posting guidelines, with which you should be familiar. The guidelines are listed at the top of the forum.

MODERATOR
Aug 3 '08 #3

Sign in to post your reply or Sign up for a free account.

Similar topics

3
by: serge | last post by:
I am using SQL Server 7 SP4. I have created a blank database in which i am trying to import using DTS wizard all tables/views/stored procedures without any DATA (records). I keep getting...
1
by: Chris | last post by:
Background: I am using a MS Access 2000 front end with SQL Server 8.0 back end. I have the requirement to import all text files (regardless of filename) from a given folder on the network into a...
20
by: Steve Jorgensen | last post by:
Hi all, I've just finished almost all of what has turned out to be a real bear of a project. It has to import data from a monthly spreadsheet export from another program, and convert that into...
4
by: Nhmiller | last post by:
This is directly from Access' Help: "About designing a query When you open a query in Design view, or open a form, report, or datasheet and show the Advanced Filter/Sort window (Advanced...
1
by: lorirobn | last post by:
Hi, I have been manually importing a text file on a weekly basis to an Access table. The data on one field is about to change (happens to be the first field). It was numeric, and is defined as...
1
by: Andrew Tatum | last post by:
I have the following procedure that works great when I run it from SQL Server Manager. EXEC prGetReferrerPayroll @startdate, @enddate, @totalsignups, @totalopts. All I do is replace the...
1
by: tezza98 | last post by:
I need some help. Im using a dtsrun command to import 9 tables into an Access database, most of the tables have about 1000 rows, but one has 20000+ rows and grows everyday. Im Using Access 2003...
13
by: Neil | last post by:
Can I get the name of a procedure from within the procedure? In my error handler, I write the error to an error table. I'd like to write the name of the procedure that's writing the error. But,...
0
docdiesel
by: docdiesel | last post by:
The fastest (and cheapest) transfer of data is that which doesn't have to be done - because the data is already there. Or still there - the caching of files is widely known and practised. Each web...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
muto222
php
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.