Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Síntomas

Cuando se abre una base de datos creada con Access 2000 a través de las clases DAO de MFC en Visual C++, obtendrá el siguiente mensaje de error:

Formato de base de datos no reconocido.

También obtendrá este mensaje al intentar crear una nueva base de datos DAO de MFC SDI o un proyecto MDI con el Asistente para aplicaciones MFC.

Causa

Este mensaje de error se produce debido a que se envían con Visual C++ 6.0 carga DAO 3.5 (Dao350.dll) de las clases DAO de MFC de forma predeterminada. DAO 3.5 utiliza Jet 3.5, que sólo se puede abrir el formato de Jet 3.5 (o anterior de) las bases de datos. Access 2000 crea archivos de base de datos, que no reconoce Jet 3.5 de formato de Jet 4.0. Para abrir correctamente una base de datos de Access 2000 mediante las clases DAO de MFC, es necesario utilizar DAO 3.6 (Dao360.dll). DAO 3.6 utiliza Jet 4.0, que puede abrir cualquier formato de base de datos de acceso disponible.

Solución

Actualmente, no hay ninguna solución para utilizar el Asistente para aplicaciones con orígenes de datos de Access 2000.

Para que la aplicación para utilizar la versión 3.6 de DAO, debe actualizar la versión de MFC en tiempo de ejecución a MFC versión 6.01. Para hacer esto depende de si está generando la aplicación para utilizar la DLL de MFC o para construir con las bibliotecas estáticas MFC.

Si se vincula con la DLL de MFC, puede especificar que desea que MFC utilizar DAO 3.6 insertando la siguiente línea de código antes de abrir una base de datos de Access 2000:

AfxGetModuleState()->m_dwVersion = 0x0601;

Inserte la siguiente línea en la función CYourApp::Initinstance() del programa. Si está generando con las bibliotecas MFC estáticas, los siguientes son los pasos para obtener estático generaciones de MFC para utilizar DAO 3.6:

  1. Modifique el archivo Daocore.cpp en el directorio SRC de MFC. Recibirá el siguiente comentario:

    // Determine whether to use DAO 3.6, 3.5, or 3.0
    // Use DAO 3.0 if DLL build and not built with MFC 4.21 or later
    // Use DAO 3.6 if MFC 6.01 or later
    // otherwise, DAO 3.5

    Agregue las líneas siguientes:

    #undef _MFC_VER
    #define _MFC_VER 0x0601
  2. Vuelva a generar la biblioteca de la variante que necesita. Por ejemplo, para crear la biblioteca estática MFC, versión de depuración, no Unicode, no tiene archivos del explorador utilice el comando siguiente en el símbolo del sistema en la carpeta MFC\SRC:

      nmake DEBUG=1

    for release:
    nmake DEBUG=0

    for unicode builds:
    nmake DEBUG=1 UNICODE=1
    nmake DEBUG=0 UNICODE=1

Nota: Debe asegurarse de que las herramientas de compilador que estén en el path. Si no es así, puede que necesite ejecutar el archivo Vcvars32.bat ubicado en la carpeta \BIN de Visual C++. Tenga en cuenta que al generar estas nuevas versiones de las bibliotecas, se copiarán por encima de los existentes en la carpeta MFC\LIB así que es aconsejable guardar primero los antiguos.

Estado

Este comportamiento es por diseño.

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×