Mensaje de error al convertir un archivo de base de datos de una versión anterior de Access en un archivo de Access 2007: "error en tiempo de ejecución '13': tipo incorrecto"


Síntomas


Al convertir un archivo de base de datos de una versión anterior de Microsoft Access en un archivo de Microsoft Office Access 2007, la aplicación puede dejar de responder si se intenta ejecutar o compilar código que utiliza objetos de acceso a datos (DAO). Además, puede recibir el siguiente mensaje de error:
Error de tiempo de ejecución: '13':

Tipo incorrecto

Causa


Este problema se produce porque no se conserva el orden de las referencias de base de datos cuando se convierte el archivo de base de datos.

Solución alternativa


Para evitar este problema, utilice uno de los métodos siguientes:

Método 1

En el cuadro de diálogo referencias , asegúrese de que el motor de base de datos de Microsoft Office 2007 Access Object Library es superior en prioridad a Microsoft ActiveX Data Objects. Para ello, siga estos pasos:
  1. Inicie Access 2007.
  2. Haga clic en el Botón de Microsoft Office y, a continuación, haga clic en Abrir.
  3. En el cuadro de diálogo Abrir , busque y, a continuación, haga clic en Abrir < DatabaseName >.
  4. En el menú Herramientas de base de datos , haga clic en Visual Basic , en el grupo de macros para abrir el Editor de Visual Basic (VBE).

    Nota: También puede presionar ALT+F11 para abrir el VBE.
  5. En el menú Herramientas , haga clic en referencias.
  6. En el cuadro de diálogo referencias - < DatabaseName > , haga clic en el motor de base de datos de Microsoft Office 2007 Access Object Library.
  7. Haga clic en la flecha de prioridad para mover el motor de base de datos de Microsoft Office 2007 Access Object Library anteriormente Microsoft ActiveX Data Objectsy, a continuación, haga clic en Aceptar.

Método 2

Si debe hacer referencia y utilizar las bibliotecas de objetos DAO y ActiveX Data Objects (ADO), dimensión los objetos explícitamente como sigue:
Dim adoRS As ADODB.Recordset Dim daoRS As DAO.Recordset

Método 3

Si no utiliza una biblioteca de objetos ADO, desactive la referencia a la biblioteca. Para ello, siga estos pasos:
  1. Inicie Access 2007.
  2. Haga clic en el Botón de Microsoft Office y, a continuación, haga clic en Abrir.
  3. En el cuadro de diálogo Abrir , busque y, a continuación, haga clic en Abrir < DatabaseName >.
  4. En el menú Herramientas de base de datos , haga clic en Visual Basic , en el grupo de macros para abrir el VBE.
    Nota: También puede presionar ALT+F11 para abrir el VBE.
  5. En el menú Herramientas , haga clic en referencias.
  6. En el cuadro de diálogo referencias - < DatabaseName > , desactive la casilla de verificación Microsoft ActiveX Data Objectsy, a continuación, haga clic en Aceptar.

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".