Hi,
I need some advanced help on importing Excel-files into an Access database.
Consider the following:
- I have a VB program that allows users to import their own Excel files into our fixed format database.
- An excel file may contain up to 65.535 records per sheet and trust me, these are being used sometimes, so the import needs to be speedy
- I have already found a way to import excel data into a table, see the query below
- I need a way to get some import log, like the "Import Excel data"-wizard in Access does
Here's the query I use to import Excel data into a table that has been created in code by VB, using one of the user defined import definitions. This query uses the Jet Excel 8.0 ISAM driver.
INSERT INTO [MyDBTable] (ProductID, EAN, Description)
SELECT [ProdID], [EAN-Code], [ProdDescription]
FROM [EXCEL 8.0;Database=D:\MyImports\
Products.x
ls;HDR=YES
].[MyProdu
cts$]
Now, this query works and it's d*mn fast. The only thing is, that when a user defined a field to be numeric for example and a non-numeric value is entered in the excel-file, the non-numeric values get imported as NULL-values, and there's currently no way to see these import errors.
I'd like to expose these import errors like Access does itself when one uses the import wizard so I could log these things to inform the user. I NEED to know the line number, but the name or number of the field in addition to the error description would be nice to have too.
Does someone know how to programmatically import an excel file into Access, using the speedy Jet Excel ISAM and displaying the individual cells that couldn't be imported correctly?
Cheers and thanks in advance,
Luc Derckx
ps: I've placed a link to this topic in the VB Database area too
Start Free Trial