Saber Version ADO instalada

27/09/2005 - 01:15 por Luis M | Informe spam
Buen dia a todos

Como puedo saber mediante Codigo la version de la Referencia ADO (libreria
Active Data Objects) instalada?

Gracias

Luis

Preguntas similare

Leer las respuestas

#1 Luis M
27/09/2005 - 01:20 | Informe spam
Adiciono mi pregunta porque talvez no fui claro: no quiero identificarla si
ya esta instalada. Quiero saber la version para instalarla mediante codigo.

Gracias otra vez

Luis


"Luis M" <luism0(arroba)yahoo.es> escribió en el mensaje
news:uV0tn$
Mostrar la cita
#2 Héctor Miguel
27/09/2005 - 03:04 | Informe spam
hola, L.A.M. !

Mostrar la cita
[creo que] necesitaras 're/plantear/te'... NO 'la pregunta'... sino lo que -realmente- necesitas lograr -?- [me explico]...
-> una cosa es que alg/una libreria ADO se encuentre ->en el sistema<- [el archivo en un directorio]...
-> otra cosa es que la misma se encuentre 'debidamente' registrada [en el registro de windows] para poderla usar...
-> otra cosa es si se encuentra [o no] 'instalada/referenciada/...' en un proyecto de macros
-> y [todavia] habria que 'averiguar' cuantas y cuales 'versiones' se encuentran en el sistema [y si registradas o no]

aunque solo es posible marcar referencia en el proyecto de macros A UNA SOLA [si varias]... podria 'haber' varias -?-
las librerias de conexion a sql, ado, etc. son 'compatibles hacia arriba'... mas NO... 'hacia abajo' [los archivos 'danzan' entre equipos ?]

si estas programando para diferentes versiones/equipos/platformas/... [probablemente]...
seria necesario 'barrer' -todas- las posibilidades desde vba [p.e. usando la propiedad 'References' del proyecto VBE]
-> usando el metodo para 'agregar desde archivo' o... [quizas] leyendo el registro de windows o... -?-

comentas por donde 'le damos' ?
saludos,
hector.
#3 Luis M
27/09/2005 - 04:08 | Informe spam
Hector, gracias. La pregunta "completa" esta bien enfocada porque dirige a
lo que planteas. Eso, si no hay tal referencia instalada en el proyecto VBA,
cómo hago para detectar cual es la ultima (de muchas o varias versiones)
disponible en un equipo para poder vincularla al proyecto, bien sea con el
metodo AddFromFile o usando el Guid. Y es posible que la libreria o el
archivo Activex que busco esté en la libreria de la aplicacion o del
sistema, segun sea ADO, Outlook, etc.

Saludos,

Luis


"Héctor Miguel" escribió en el mensaje
news:##
Mostrar la cita
Active Data Objects) instalada?
Mostrar la cita
si ya esta instalada.
Mostrar la cita
que -realmente- necesitas lograr -?- [me explico]...
Mostrar la cita
archivo en un directorio]...
Mostrar la cita
registro de windows] para poderla usar...
Mostrar la cita
proyecto de macros
Mostrar la cita
encuentran en el sistema [y si registradas o no]
Mostrar la cita
SOLA [si varias]... podria 'haber' varias -?-
Mostrar la cita
arriba'... mas NO... 'hacia abajo' [los archivos 'danzan' entre equipos ?]
Mostrar la cita
[probablemente]...
Mostrar la cita
la propiedad 'References' del proyecto VBE]
Mostrar la cita
do el registro de windows o... -?-
Mostrar la cita
#4 Héctor Miguel
27/09/2005 - 08:01 | Informe spam
hola, Luis !

Mostrar la cita
te paso [hasta donde se] cuales serian los procedimientos [segun el caso de la libreria 'buscada' Y en caso de no ser 'solo' ADO]... -?-
si requires ayuda adicional... comentas?
saludos,
hector.

1) para el caso de 'librerias' como Outlook, Word, etc 'se buscan/encuentran' en la carpeta de la 'suite'
-> p.e. c:\archivos de programa\microsoft office\office\
-> algunas 'requieren' una libreria 'aparte' [como excel 97/2000] con la extension .OLB y otras el ejecutable .EXE

2) para el caso de las librerias de ADO [ActiveX Data Objects]... se buscan/encuentran en la carpeta de archivos comunes
-> y segun si el SO/Windows es ingles o castellano <- :))
-> puedes 'encontrarla' [p.e.] preguntando al entorno -> MsgBox Environ("CommonProgramFiles") & "\System\ado"
-> la parte final de: \System\ado [me parece que] es 'constante' ;)

3) un 'intento' por 'registrar/agregar/... referencias a alguna version instalada Y registrada como...
Sub Agregar_Referencias()
ThisWorkbook.VBProject.References.AddFromFile _
"C:\Archivos de programa\Archivos comunes\System\ado\msado20.tlb"
End Sub
=> 'encuentra problemas' si la version de office/excel es xp/2002 o 2003 [y seguramente tambien en las siguientes] :-((
la causa...
-> en excel XP/2003 => REQUIERE [ademas] de un 'ajuste' [que por omision es 'NO'] a las 'Fuentes de confianza'
el ajuste es en: herramientas/macros/seguridad/[pestaña] fuentes de confianza y ...
poner una marca en: 'confiar en el acceso a proyectos de visual basic'
=> 'nota' que este sera un -verdadero- 'dolor de cabeza' :-( ya que...
OJO: NO es 'manipulable' desde el mismo vba :-(( revisa informacion en:
Is Access to the VB Project Allowed?
http://www.j-walk.com/ss/excel/tips/tip96.htm
XL97: How to Programmatically Create a Reference
http://support.microsoft.com/defaul...roduct=xlw
XL2000: How to Programmatically Create a Reference
http://support.microsoft.com/defaul...roduct=xlw

4) de las versiones de ADO que recuerdo [todas en el mismo directorio] los archivos correspondientes son...
C:\Archivos de programa\Archivos comunes\System\ado\msado*.*
Name FullPath Description
ADODB msado20.tlb Microsoft Activex Data Objects 2.0 Library
ADODB msado21.tlb Microsoft Activex Data Objects 2.1 Library
ADODB msado25.tlb Microsoft Activex Data Objects 2.5 Library
ADODB msado26.tlb Microsoft Activex Data Objects 2.6 Library
ADODB msado27.tlb Microsoft Activex Data Objects 2.7 Library
ADODB msado15.dll Microsoft Activex Data Objects 2.8 Library
ADOMD msadomd.dll Microsoft Activex Data Objects (Multi-Dimesional) 2.8 Library
ADOR msador15.dll Microsoft Activex Data Objects Recordset 2.8 Library
ADORH msadorh15.dll Microsoft Activex Data Objects Rowset Helper 2.8 Library
ADOX msadox.dll Microsoft Activex Data Objects Extensions 2.8 Library

5) las claves en el registro de windows [por si te decides por la opcion del Guid] son...
en el registro de windows... la version 2.0 esta en...
Mi PC\HKEY_CLASSES_ROOT\TypeLib\{00000200-0000-0010-8000-00AA006D2EA4}\2.0\0\win32
Mi PC\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{00000200-0000-0010-8000-00AA006D2EA4}\2.0\0\win32
variantes:
2.1 {00000201-...}\2.1\
2.5 {00000205-...}\2.5\
2.6 {00000206-...}\2.6\
2.7 {00000300-...}\2.7\
2.8 {00000300-...}\2.8\

6) seguramente habra otras variables que deberan ser consideradas :)
comentas -de nuevo- por donde le seguimos ?
#5 Luis M
27/09/2005 - 18:18 | Informe spam
Hector, está interesante el curso y más claras las cosas.

Pienso que la idea seria recorrer mediante codigo los directorios donde
deben estar las librerias (.dll, .ocx, etc.) y verificar con base en una
lista previa de nombres de las mismas (que ya tenemos creada) cuáles existen
en el equipo y segun la ultima version que encontremos, ejecutar la adicion
de la referencia o la instalacion del respectivo GUID mediante código.

Con algun controlador de errores podemos detectar si esta activada la opcion
de Fuentes de Confianza, asociandole la instruccion que permita al usuario
activarla si esta restringida.

Escucho tus sugerencias

Gracias

Luis


"Héctor Miguel" escribió en el mensaje
news:%
Mostrar la cita
Ads by Google
Search Busqueda sugerida