Error 429 de ActiveX al ejecutar macro de Visual Basic

26/03/2009 - 13:35 por Victor Aguayo | Informe spam
Buenas amigos... estoy en un verdadero desastre informático...

Sucede que me han facilitado un archivo hecho en Excel más o menos en
la versión 97 el cual tiene una macro que hace consultas de una base
de datos Oracle...

No se si es el grupo correcto pero como tiene que ver con Excel pense
que a lo mejor a alguien le paso...

Cuando ejecuto la consulta, este tiene que crear un objeto conexión y
conectarse a la base de datos con los datos previamente marcados como
User, contraseña y demás...

Pero es en ese momento en que se produce el error 429 ActiveX no puede
crear el objeto. Espero que me puedan orientar... ya probe muchas
opciones como la de registrar nuevamente la libreria dao350.dll o
instalar una version mejorada de la tecnología DOA de microsoft o de
registrar dos librerias más que quizas no venga al caso mensionar.
Muchas Gracias a los que me puedan ayudar... adjunto el código hecho
en Basic

'Variables de Base de Datos

Public OraSession As Object
Public OraDatabase As Object
Public DatosDynaSet As Object
Public VariosDynaSet As Object
Public Row As Integer

'Otras variables de Base de Datos para acceso con DAO

Dim bd As Database, reg As Recordset
Dim dRuta As String
Dim h As Integer, HojaNueva As Worksheet

'Variables de Parametros

Public pConexion As String
Public pusuario As String
Public psql As String
Public ppag_desde As String
Public peje_desde, peje_hasta As String
Public pnen_desde, pnen_hasta As String
Public pent_desde, pent_hasta As String
Public pfte_desde, pfte_hasta As String
Public pmes_desde, pmes_hasta As String
Public pfec_desde, pfec_hasta As Date
Public pEntidad As String
Public pTitulo As String
Public pNivel As Double
Public vNombNivel As String
Public vObligado As Double
Public vPagado As Double
Public vVigente As Double
Public vAprobado As Double
Public vModificado As Double

'Variables de control de la posición actual de despliegue

Public cPrimero, cFila, cFilaini, cFilaCuadro, cUltimaCol As Double
Dim Bandera_A As Boolean
Dim MatrizParámetros(1 To 9) As Variant
Dim Matnivel0(1 To 15) As Double
Dim Matnivel1(1 To 15) As Double
Dim MatTotal(1 To 15) As Double
Dim TotalReg As Double
'
Sub Auto_Abrir()
Reporte1
End Sub
'
Sub Reporte1()
Setea_Hoja ("Reporte")
End Sub
'
Sub ComenzarParámetros()
'Comienza el bucle que muestra los diálogos.
Do While True
Bandera_A = True
'Asigna valores por defecto.
'With DialogSheets("Parámetros")
' .EditBoxes("xconexion").Text = "T:125.100.10.254:siaf"
' .EditBoxes("xusuario").Text = "annepom/annepom"
' .EditBoxes("xeje_desde").Text = "1997"
'.EditBoxes("xeje_hasta").Text = "1997"
' .EditBoxes("xnen_desde").Text = "0"
' .EditBoxes("xnen_hasta").Text = "999"
' .EditBoxes("xent_desde").Text = "0"
' .EditBoxes("xent_hasta").Text = "999"
'.EditBoxes("xfte_desde").Text = "0"
'.EditBoxes("xfte_hasta").Text = "999"
'.EditBoxes("xmes_desde").Text = "1"
'.EditBoxes("xmes_hasta").Text = "12"
'End With
Sheets("Reporte").Cells(1, 20).Value = "Niv.1- Por Nivel Ent."
Sheets("Reporte").Cells(2, 20).Value = "Niv.2- Por Entidades"
'Muestra el cuadro de diálogo.
DialogSheets("Parámetros").Show

'Si el usuario elige el botón "Cerrar", Bandera_A se vuelve Falso;
'sale del bucle.
If Bandera_A = False Then
'Sale de la subrutina.
Exit Sub
End If

'Muestra el diálogo.
DialogSheets("Parámetros").Show
Loop
End Sub

'Cierra el cuadro de diálogo.

Sub FinParámetros()
'Oculta el cuadro de diálogo y finaliza el bucle
'asignando la bandera de salida (Bandera_A) en Falso
DialogSheets("Parámetros").Hide
Bandera_A = False
End Sub

'

'Ejecuta la sentencia de acceso a la Base de datos.

Sub Ejecutar()
Sheets("Reporte").Select
Limpiar_Hoja ("Reporte")
GuardarBarraEstado = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.StatusBar = "Inicio de Ejecutar..."
cFila = 1
DefinirHoja
Sheets("Reporte").Select
Ins_Encabezado_Principal

'Hace la conexión con la Base de Datos Oracle en el Servidor.
'
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.DbOpenDatabase(pConexion, pusuario, 0&)
Set DatosDynaSet = Nothing
If Not VER_ACCESO(pusuario, pnen_desde, pnen_hasta, pent_desde, _
pent_hasta) Then
Exit Sub
End If

Preguntas similare

Leer las respuestas

#1 Victor A. Aguayo
28/03/2009 - 16:15 | Informe spam
Muchas gracias por tu ayuda... voy a probar a ver si puedo solucionarlo. Te
comento que en las páginas de Microsoft no he encontrado la solución a mis
problemas, pero voy a probar la última...

Te agradezco la molestia en ayudarme...


Victor A. Aguayo
Tel: (+54) - 03718-426042
Movil Claro AR (+54)3718-15551438


"Juan M" escribió en el mensaje de
noticias:
Hola Víctor,

Buscando en google por el error que comentas salen las siguientes
opciones, comprueba a ver si son aplicables a tu caso:

http://support.microsoft.com/kb/292054
http://support.microsoft.com/kb/260885
http://www.vbaccelerator.com/insprob.htm

Un saludo,
Juan

Consulta Original

"Victor Aguayo" escribió
Buenas amigos... estoy en un verdadero desastre informático...

Sucede que me han facilitado un archivo hecho en Excel más o menos en
la versión 97 el cual tiene una macro que hace consultas de una base
de datos Oracle...

No se si es el grupo correcto pero como tiene que ver con Excel pense
que a lo mejor a alguien le paso...

Cuando ejecuto la consulta, este tiene que crear un objeto conexión y
conectarse a la base de datos con los datos previamente marcados como
User, contraseña y demás...

Pero es en ese momento en que se produce el error 429 ActiveX no puede
crear el objeto. Espero que me puedan orientar... ya probe muchas
opciones como la de registrar nuevamente la libreria dao350.dll o
instalar una version mejorada de la tecnología DOA de microsoft o de
registrar dos librerias más que quizas no venga al caso mensionar.
Muchas Gracias a los que me puedan ayudar... adjunto el código hecho
en Basic



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