SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Bases de Datos => Mensaje iniciado por: La_Vane en Domingo 19 de Marzo de 2006, 02:47
-
Hola, intento conectarme a una BD mediante ADO y en el momento en el que intento realizar la conexión me da el siguiente error:
error:'-2147221164(80040154)' en tiempo de ejecución: Clase no registrada
el mismo proyecto lo ejecuto en otras máquinas y funciona perfectamente. Alguién me puede dar una pista de por qué falla en mi pc y cómo podría solucionarlo?? puede ser por alguna .dll??
muchas gracias
-
Hola La_vane.
Pues tienes que mostrar parte del codigo para ver donde sale el error, ya que puede ser como dices una Dll, un componente que falte o una referencia.
Para mi concepto si es una dll porque la mayoria de las veces se manejan por medio de las clases, que windows tienes en ese y en los otros??
-
ok, ahí va el código q tengo en el módulo:
---------------------------
Public conexion As Connection
Public ruta As String
Public registro As Recordset
Sub conectar()
ruta = App.Path & "\mis_libros.mdb"
Set conexion = New Connection
conexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & ruta
conexion.Open
Set registro = New Recordset
With registro
.Source = "Select * from Amigos"
.ActiveConnection = conexion
.CursorType = adOpenDynamic
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Open
End With
End Sub
---------------------------
En mi pc tengo el XP y en los demás donde he probado tienen el Windows 2000server. He probado en otros pc con XP y también va bien, así que supongo que es problema de mi sistema. No tengo mucha idea y me gustaría saber cómo solucionarlo, gracias.
También apuntar que cuando creo el fichero de vínculo de datos después de elegir el proveedor para Access me da error y me vuelve a decir lo de la clase no registrada.
:unsure:
-
Hola la_Vane
Pues sinceramente no doy con tu problema.
En que parte del codigo te señala el error???
Y ya miraste si los componentes y las referencias estan bien, es decir, que tengas las mismas que el los otros equipos???
Sigo creyendo que es una dll.
-
Probemos con esto
'Esto lo remplazas en los public que escribiste
Dim conexion as New ADODB.connection
Dim registro as New ADODB.recordset
'esto lo reemplazas en los set.
Set conexion = New ADODB.Connection
Set registro = New ADODB.recordset
Me dices que sucedio :hola:
-
jo.... nada, me sigue diciendo lo mismo con lo que me has puesto. Los componentes y referencias están bien. Me da el error en conexión.open
muchas gracias de todas formas
-
Calmate, cogela suave no te deseperes todavia no se me acaban los recursos.
Haberlo dicho antes lo del error.
Probemos asi:
Luego de lo que te pasé, intenta colocarle esto.
'Reemplaza el conexion.open en este codigo y quitale el conexion.connectionstring.
conexion.open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="
Me dices que te salio.
Sino funciona intentamos por ultima vez. si quieres entra en mi msn y charlamos bien del tema.
Ha eso sí, si encontramos la solucion la posteamos aqui.