Home |
Search |
Today's Posts |
|
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Attaching a JET database to an Excel Worksheet OR storing large binary data in a worksheet
I am writing a VB DLL / xla that needs to be able to programmatically attach
a JET database to a worksheet, and then re-open it later on. This needs to happen without user intervention. So far I have considered the following: 1) Using the Insert Object approach to store the database in an OLE object...BUT: (a) How do you do it programmatically? (b) It seems to be application specific, so would only work if the user had Access. Is there a generic object packager that I have missed, and that can be called through VB code, and that is guaranteed to be on all machines? 2) Reading the JET database into a byte array, converting to a string, and saving in the workbook... The read and convert seemed to work OK but all attempts to save to a workbook failed, even if I just try to save the first 100 characters. I guess that the string contains nasty characters that excel won't allow to be saved to a cell? Is there anwhere else I can save it in a workbook? A related question is whether it is possible to re-open the JET database without first saving to a file i.e. open it in-memory only. I know this isn't an Excel question but someone might know the answer. Thanks in advance, Ant Waters |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Attaching a JET database to an Excel Worksheet OR storing large binary data in a worksheet
"Ant Waters" wrote in message ... I am writing a VB DLL / xla that needs to be able to programmatically attach a JET database to a worksheet, and then re-open it later on. This needs to happen without user intervention. So far I have considered the following: 1) Using the Insert Object approach to store the database in an OLE object...BUT: (a) How do you do it programmatically? I dont believe there is OLEsupport for this method (b) It seems to be application specific, so would only work if the user had Access. Is there a generic object packager that I have missed, and that can be called through VB code, and that is guaranteed to be on all machines? If you use a VB6 or .Net dll you can have all the database query code in that using ADO and your client wont need MS Access. The access db file would have to be save separately though 2) Reading the JET database into a byte array, converting to a string, and saving in the workbook... The read and convert seemed to work OK but all attempts to save to a workbook failed, even if I just try to save the first 100 characters. I guess that the string contains nasty characters that excel won't allow to be saved to a cell? Is there anwhere else I can save it in a workbook? This isnt a good option IMHO, the only way you could make it work would be to convert the binary data into Ascii format such as Mime or Base 64 but this is very inefficient A related question is whether it is possible to re-open the JET database without first saving to a file i.e. open it in-memory only. I know this isn't an Excel question but someone might know the answer. Yes, you can use ADO (or DAO) to open the database and read the values into a recordset which can be manipulated from either VB or VBA Keith |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Embedding an Excel 2007 worksheet into an email without attaching | Excel Discussion (Misc queries) | |||
Attaching only a worksheet but not the whole workbook | Excel Discussion (Misc queries) | |||
How do I search for data in a large worksheet? | Excel Discussion (Misc queries) | |||
how do i save a large amount of data in a worksheet excel 4 | Excel Worksheet Functions | |||
Attaching a worksheet to an e-mail | Excel Discussion (Misc queries) |