Access incrustado en Excel

26/03/2010 - 09:04 por Eduardo Garrido | Informe spam
Buenos dias a todos.

Quisiera haceros una pregunta a ver si es posible.

Tengo un libro excel que coge datos de una base de datos access. esto lo
hago por programacion con el siguiente codigo:

ruta = ThisWorkbook.Path
base_de_datos = "sicoconcurso.mdb"
Tabla = Tabla

On Error Resume Next
'Creamos el objeto conexión
Set Conn = New ADODB.Connection
'Creamos el objeto recordset
Set rs = New ADODB.Recordset
'Nos conectamos a la base de datos
Conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ruta & "\" & base_de_datos)

Eso me funciona perfectamente. Pero el uso que se le va a dar el cliente
tendria que descargar la excel mas la base de datos.

Me preguntan si es posible incrustar la base de datos en la propia hoja
de excel. Cosa que ya hice insertando el archivo

El problema es que para hacer la conexión como puse arriba en la parte
"Data source =" no se que ruta poner a la base de datos puesto que probe
con hoja1.sicoconcurso.mdb y no me funcionó

Es posible hacer lo que me están pidiendo?

Gracias de antemano.
Un saludo
Eduardo Garrido
 

Leer las respuestas

#1 Héctor Miguel
26/03/2010 - 10:01 | Informe spam
hola, Eduardo !

al incrustar como objeto un archivo en un documento (como una hoja de excel)
que NO es de la aplicacion "del objeto"
es necesario "regresarlo" a una ubicacion donde su aplicacion pueda
administrarlo (access o una maquinaria de consulta)
esto lo puede hacer tu cliente (a mano)...
- seleccionando el objeto incrustado
- lo copia (ctrl + C)
- y lo pega en el explorador de windows (obvio que en la carpeta
"correspondiente")

o puedes probar con una macro que incluya instrucciones +/- como las
siguientes:

activesheet.oleobjects("nombre del objeto incrustado").copy

createobject("shell.application").namespace(activeworkbook.path).self.invokeverb "paste"

saludos,
hector.

p.d. sigue siendo una "odisea" aportar propuestas con esta asincronia en los
grupos
(espero que el equipo de STO ponga un remedio "antes de que sea tarde") :-((

Preguntas similares