Página 1 de 1

Importar a VC datos de excel

Publicado: 28 Mar 2006 08:16
por Optiondreamer
Holass

He leido por ahí que se puede importar a Visual Chart datos ajenos, por ejemplo los contenidos en una hoja de cálculo de Excel.
Todavía no me he puesto a investigar a fondo, y quisiera si alguno/a lo ha probado y funciona, comentase algo acerca del tema.
El método no debe ser muy complicado, simplemente abrir la hoja de calculo mediante código VBA, pasar a variables los datos contenidos en la hoja de cálculo(recordset) y una vez en VC, trabajar con las funciones propias de este programa.
¿Alguno/a sabe de alguna página donde se aborde el tema de VBA para VC en profundidad?

Saludos.

Publicado: 28 Mar 2006 12:34
por hammer
Hola Optiondreamer,

A esto no le llamaría importar datos, sino más bien acceder a datos externos, porque la información seguirá residiendo en Excel, ¿no?

Yo lo he hecho con una base de datos de Access, no con Excel, pero supongo que viene a ser lo mismo.

Se hace igual que con cualquier programa VB o VBA. Se declaran las variables, se incluye la referencia al motor de base de datos y se accede a través del recordset.

Si quieres que te ponga código de ejemplo, dímelo.

Un saludo ;-)

Publicado: 28 Mar 2006 16:05
por Optiondreamer
Hola bunder,

Gracias por tu respuesta. Tienes razón en la matización importar/acceso. Me refería a poder leer desde VC los datos que hay en Excel.
Respecto a Access/Excel, tanto monta, monta tanto . . . Me defiendo bien en ambos, y la verdad, para empezar, no vendría mal una ayudita con un poco de código a modo de ejemplo.
Sin querer abusar demasiado, ¿habéis probado a acceder a las tablas de VC? Me parece o que están codificadas, o que tienen algún formato que no es puramente VBA.

En fín, gracias de nuevo y saludos.

Publicado: 28 Mar 2006 16:20
por X-Trader
Los datos de las tablas los puedes transmitir por DDE a Excel y a Access.

Un saludo
X-Trader

Publicado: 28 Mar 2006 16:24
por Optiondreamer
Hola X-Trader, gracias por tu respuesta.
Creo que me he explicado mal. Lo que intento hacer es lo inverso. Poder crear una tabla de VC a partir de datos ubicados en Excel/Access.
Saludos.

Publicado: 28 Mar 2006 16:33
por X-Trader
Eso ya es harina de otro costal... ;-)

Un saludo
X-Trader

Publicado: 28 Mar 2006 17:56
por hammer
Optiondreamer,

Para acceder al contenido de una tabla de Access desde un sistema de VC hay que hacer lo siguiente:

Declarar las variables

Código: Seleccionar todo

Dim WkSp As Workspace
Dim dbTnd As Database
Dim rstDatos As Recordset
Abrir el espacio de trabajo del motor y la base de datos

Código: Seleccionar todo

Set WkSp = DBEngine.CreateWorkspace("MainWS", "admin", "")
Set dbTnd = WkSp.OpenDatabase("MiBaseDeDatos.mdb")
Abrir la tabla en un recordset (con índice si se quiere)

Código: Seleccionar todo

Set rstDatos = dbTnd.OpenRecordset("MiTabla")
rstDatos.index = "PrimaryKey"
Y listos para acceder a los campos

Código: Seleccionar todo

rr = rstDatos("MiCampo")
Antes de poder compilar la primera vez, hay que indicar la referencia al motor de base de datos.

En Tools / References:
Imagen

En mi configuración, cada vez que abro un gráfico, y antes de insertar un sistema o estudio que use una base de datos, tengo que volver a recompilarlo. No sé si a ti te pasará lo mismo. No he investigado el porqué (tampoco me incordia mucho).

Lo de acceder a las tablas de VC no lo he intentado.

Saludos ;-)