PRB: Aparece el mensaje de error Formato de base de datos no reconocido al actualizar a Access 2000

Seleccione idioma Seleccione idioma
Id. de artículo: 238401 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E238401
Expandir todo | Contraer todo

Síntomas

Si intenta tener acceso a una base de datos de Access 2000, puede que se produzca uno de los errores siguientes en el programa de Visual Basic:

Si utiliza ADO (o el control de datos ADO):
Error en tiempo de ejecución: -2147467259. Formato de base de datos XXX no reconocido.
Si utiliza DAO (o el control de datos genérico DAO):
Error en tiempo de ejecución: 3343. Formato de base de datos XXX no reconocido.

Causa

Access 2000 utiliza el motor Jet 4.0, que crea archivos de bases de datos con formato de Jet 4.0. Los componentes de Jet 3.5 no reconocerán ese formato.
  • Si utiliza ADO, obtendrá el error -2147467259 cuando intente conectarse a Access 2000 mediante el proveedor "Microsoft.Jet.OLEDB.3.51".
  • Si utiliza DAO, obtendrá el error 3343 mencionado anteriormente cuando utilice la "Biblioteca de objetos Microsoft DAO 3.51".
  • El control de datos genérico de DAO no funciona con bases de datos de Access 2000 y genera siempre el error 3343 si no se utiliza como se indica en la sección "Resolución" de este artículo. Esto ocurre porque este control se basa en Jet 3.51 y sólo reconoce formatos de bases de datos de Jet 3.51 (o anteriores).

Solución

Para resolver este problema, realice una de las acciones siguientes:

  • Instale Visual Studio Service Pack 4.
  • Para ADO (o el control de datos ADO), utilice el proveedor "Microsoft.Jet.OLEDB.4.0".
  • Con el fin de utilizar DAO, vaya al menú Proyecto y elija Referencias para usar la "Biblioteca de Objetos Microsoft DAO 3.6".
  • Si utiliza el control de datos genérico, tendrá que abrir un conjunto de registros de DAO 3.6 y asignarlo después para que sea el origen del control de datos, de la manera siguiente:
     Option Explicit Private daoDB36 
    As Database Private rs 
    As DAO.Recordset 
    Dim sPath As String
    
    Private Sub Form_Load() sPath = _ "C:\Archivos de programa\Microsoft Office\Office\Samples\Neptuno.mdb" 
    Set daoDB36 = DBEngine(0).OpenDatabase(sPath) 
    Set rs = daoDB36.OpenRecordset("Clientes") 
    Set Data1.Recordset = rs 
    End Sub
  • Este problema se ha solucionado en Visual Basic Service Pack 4, puesto que se ha agregado un nuevo valor (Access 2000) a la propiedad Connect, que permite que el control de datos DAO abra bases de datos de Access 2000.

Estado

Microsoft ha solucionado este problema en Visual Basic Service Pack 4, puesto que se ha agregado un nuevo valor (Access 2000) a la propiedad Connect, que permite al control de datos DAO abrir bases de datos de Access 2000. Para obtener Visual Studio Service Pack 4, visite el siguiente sitio Web:

http://msdn2.microsoft.com/en-us/vstudio/aa718359.aspx

Referencias

Para obtener más información acerca de Jet 4.0, consulte la documentación de Access 2000.

Para obtener más información acerca de ADO y DAO, consulte la documentación de Visual Basic.

Para obtener más información acerca del "Formato de base de datos no reconocido", consulte en la biblioteca MSDN proporcionada con Visual Basic.

Propiedades

Id. de artículo: 238401 - Última revisión: domingo, 29 de abril de 2007 - Versión: 4.1
La información de este artículo se refiere a:
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Edición empresarial
  • Microsoft Access 2000 Standard Edition
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
Palabras clave: 
kbaccess kbado kbado260 kbctrl kbdaosearch kbgrpdsmdac kbjet kbmdac260 kboledb kbprb kbtophit kbvbp500 kbvbp600 KB238401

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com