Dificil.Librerias

21/07/2005 - 08:59 por dargento | Informe spam
Hola!
Creo que lo que voy a plantear es algo bastante dificil, o mas bie
imposible, espero que no, pero no o veo claro.
Bueno,hay vamos...
Tengo una aplicacion excel, que utiliza la libreria Microsoft Active
Data Object 2.x Library,en mi caso tengo la 2.7.Ya que utilizo ADO par
la conexion a la base de datos.
Mi problema es que cuando paso la aplicacion a otro ordenador,si n
tiene esa version de libreria,me da error, logicamente,porque adema
normalmente esos ordenadores tienen versiones mas antiguas.
Yo quisiera saber si hay alguna manera de que al arrancar la aplicacio
cogiera el solo la version de la libreria que hay en el equipo,para n
tener que andar metiendo mano en ele codigo y que haya una person
para la instalacion.
Muchas Gracias por tod

dargent
dargento's Profile: http://www.msusenet.com/member.php?userid4
View this thread: http://www.msusenet.com/t-187091777

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
21/07/2005 - 10:52 | Informe spam
Yo no lo he hecho nunca, pero supongo que será posible añadir referencias usando los métodos AddFronGuid o AddFromFile, y quitarlas usando el método Remove, todos ellos pertenecientes a la colección References del objeto VBProject del libro.

Lo que no entiendo es lo siguiente: si no sabes qué versión de la librería van a tener los equipos donde se ejecutará el código, pienso que dicho código no debería usar ninguna característica que haya sido implementada después de la versión inicial (la 2.0, creo).

Por lo tanto, quizás lo más sencillo sería que establecieras la referencia a dicha librería en el proyecto del libro que vas a distribuir y probaras el código, puesto que si no te funcionara tampoco lo haría en los equipos que tuvieran la versión más antigua de ADO...
Un saludo.


Fernando Arroyo
MS MVP - Excel


"dargento" escribió en el mensaje news:

Hola!
Creo que lo que voy a plantear es algo bastante dificil, o mas bien
imposible, espero que no, pero no o veo claro.
Bueno,hay vamos...
Tengo una aplicacion excel, que utiliza la libreria Microsoft ActiveX
Data Object 2.x Library,en mi caso tengo la 2.7.Ya que utilizo ADO para
la conexion a la base de datos.
Mi problema es que cuando paso la aplicacion a otro ordenador,si no
tiene esa version de libreria,me da error, logicamente,porque ademas
normalmente esos ordenadores tienen versiones mas antiguas.
Yo quisiera saber si hay alguna manera de que al arrancar la aplicacion
cogiera el solo la version de la libreria que hay en el equipo,para no
tener que andar metiendo mano en ele codigo y que haya una persona
para la instalacion.
Muchas Gracias por todo


dargento

dargento's Profile: http://www.msusenet.com/member.php?userid47
View this thread: http://www.msusenet.com/t-1870917775

Respuesta Responder a este mensaje
#2 KL
21/07/2005 - 11:12 | Informe spam
Hola dargento,

Como no expones tu codigo que usa ADO ni aclaras en que version(es) de Excel
te falla, creo que una otra cosa a tener en cuenta es la que se describe en
el mensaje de Hector Miguel que te cito mas abajo. Espero que te sea de
ayuda.

Saludos,
KL


'--
la 'verdadera' razon de la falla cuando el codigo se corre en xl97 [supongo
que] es...
1.- segun el siguiente articulo...
INFO: Methods for Transferring Data to Excel from Visual Basic
http://support.microsoft.com/kb/247412/EN-US/
=> revisa la seccion: 'Use Automation to Transfer an ADO Recordset to a
Worksheet Range'
' Excel 2000 introduced the CopyFromRecordset... to transfer an ADO (or
DAO) recordset...'
' Excel 97 also provides a CopyFromRecordset method but... does not
support ADO.'

2.- que 'sugiere' una visita posterior a...
How To Transfer Data from an ADO Recordset to Excel with Automation
http://support.microsoft.com/kb/246335/EN-US/
=> ve la seccion de 'more information'
... y el codigo de ejemplo que 'verifica' si es excel 2000/2002 o 97 <
3.- incluso, Ole P. Erlandsen, en su pagina:
Transfer data from a recordset to a worksheet (ADO)
http://www.erlandsendata.no/english...badacrs2ws
'dice' [al principio del articulo]...
' If you don't want to use the CopyFromRecordset method (Excel 2000 or
later) you can ... '

4.- 'en resumen'... [creo que] tratandose de excel '97 la alternativa es...
Use a closed workbook as a database (DAO)
http://www.erlandsendata.no/english...dacwbdbdao

'--
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida