Compartir a través de


Conexión a una base de datos de Access en aplicaciones de .NET Framework

Nota:

Los conjuntos de datos y las clases relacionadas son tecnologías heredadas de .NET Framework de principios de la década de 2000 que permiten a las aplicaciones trabajar con datos en memoria mientras están desconectadas de la base de datos. Las tecnologías son especialmente útiles para las aplicaciones que permiten a los usuarios modificar los datos y conservar los cambios en la base de datos. Aunque los conjuntos de datos han demostrado ser una tecnología de gran éxito, se recomienda que las nuevas aplicaciones de .NET usen Entity Framework Core. Entity Framework proporciona una manera más natural de trabajar con datos tabulares como modelos de objetos y tiene una interfaz de programación más sencilla.

Puede conectarse a una base de datos de Access (un archivo .mdb o un archivo .accdb) mediante Visual Studio. Después de definir la conexión, los datos aparecen en la ventana Orígenes de datos. Desde allí, puede arrastrar tablas o vistas a la superficie de diseño.

Nota

Si usa Visual Studio para conectarse a las bases de datos de Access, deberá tener en cuenta que las versiones de Visual Studio anteriores a Visual Studio 2022 son todas procesos de 32 bits. Esto significa que algunas de las herramientas de datos de Visual Studio 2019 y versiones anteriores solo podrán conectarse a las bases de datos de Access con proveedores de datos de 32 bits.

Si usa Visual Studio 2022 para conectarse a las bases de datos de Access, deberá tener en cuenta que Visual Studio 2022 es ahora un proceso de 64 bits. Esto significa que algunas de las herramientas de datos de Visual Studio no podrán conectarse a las bases de datos de Access con proveedores de datos de 32 bits.

Si necesita mantener aplicaciones de 32 bits que se conectan a bases de datos de Access, podrá compilar y ejecutar la aplicación con Visual Studio 2022. Sin embargo, si necesita usar cualquiera de las herramientas de datos de Visual Studio, como el Explorador de servidores, el Asistente para orígenes de datos o el Diseñador de DataSet, deberá usar una versión anterior de Visual Studio que siga siendo un proceso de 32 bits. La última versión de Visual Studio como proceso de 32 bits fue Visual Studio 2019.

Si tiene previsto convertir el proyecto en un proceso de 64 bits, se recomienda utilizar el motor de base de datos de Microsoft Access de 64 bits, también llamado motor de conectividad de Access (ACE). Consulte El proveedor OLE DB para el controlador Jet y ODBC solo está disponible en versiones de 32 bits para obtener más información.

Requisitos previos

Para seguir estos procedimientos, necesita:

  • Visual Studio
  • Un proyecto de Windows Forms o WPF
  • Una base de datos de Access (archivo .accdb) o una base de datos de Access 2000-2003 (archivo .mdb). Siga el procedimiento que corresponde al tipo de archivo.

Creación de un conjunto de datos para un archivo .accdb

Conéctese a bases de datos creadas con Microsoft 365, Access 2016, Access 2013, Access 2010 o Access 2007 mediante el procedimiento siguiente.

  1. Abra un proyecto de aplicación de Windows Forms o WPF en Visual Studio.

  2. Para abrir la ventana Orígenes de datos, presione Ctrl+Q, escriba "datos" en el cuadro de búsqueda y elija la ventana Orígenes de datos. Otra opción es, en el menú Ver, seleccione Otras ventanas>Orígenes de datos. O bien, en el teclado, presione Mayús+Alt+D.

    Captura de pantalla de orígenes de datos en el cuadro de búsqueda

  3. En la ventana Orígenes de datos , seleccione Agregar nuevo origen de datos.

    Se abrirá el Asistente para configuración de orígenes de datos.

    Captura de pantalla del Asistente para configuración de orígenes de datos

  4. Seleccione Base de datos en la página Elegir un tipo de origen de datos y, a continuación, seleccione Siguiente.

  5. Seleccione Conjunto de datos en la página Elegir un modelo de base de datos y, a continuación, seleccione Siguiente.

    Captura de pantalla de la página Elegir un modelo de base de datos

  6. En la página Elegir la conexión de datos, seleccione Nueva conexión para configurar una nueva conexión de datos.

    Captura de pantalla de la página Elegir la conexión de datos

    Se abrirá el cuadro de diálogo Agregar conexión.

    Captura de pantalla del cuadro de diálogo Agregar conexión

  7. Si Origen de datos no está establecido en Archivo de base de datos de Microsoft Access, seleccione el botón Cambiar.

    Se abrirá el cuadro de diálogo Cambiar origen de datos. En la lista de orígenes de datos, elija Archivo de base de datos de Microsoft Access. La opción Proveedor de datos de .NET Framework para OLE DB ya está preseleccionada. Elija Aceptar.

    Captura de pantalla del cuadro de diálogo Elegir origen de datos

  8. Elija Examinar junto a Nombre del archivo de base de datos y, a continuación, vaya al archivo .accdb y elija Abrir.

    Nota:

    Si el valor de bits (32 o 64 bits) de Microsoft Office y Visual Studio no coinciden, aparecerá un error al conectarse a una base de datos de Access. En Visual Studio 2019, obtendrá un error que indica que el proveedor de base de datos no está registrado. En Visual Studio 2022, verá un error que indica que no se puede conectar a un proveedor de datos de 32 bits. Para resolverlo, asegúrese de que, en caso de estar usando una versión de Office de 32 bits, utiliza Visual Studio 2019 o una versión anterior; para una versión de Office de 64 bits, se necesita Visual Studio 2022 o posterior.

  9. Escriba un nombre de usuario y una contraseña (si es necesario) y, a continuación, elija Aceptar.

  10. Elija Siguiente en la página Elegir la conexión de datos.

    Puede que aparezca un cuadro de diálogo que le indique que el archivo de datos no está en el proyecto actual. Seleccione Yes (Sí) o No.

  11. Seleccione Siguiente en la página Guardar la cadena de conexión en el archivo de configuración de la aplicación.

    Captura de pantalla de la página

  12. Expanda el nodo Tablas en la página Elija los objetos de base de datos.

    Captura de pantalla de la página Elija los objetos de base de datos

  13. Seleccione las tablas o las vistas que quiere incluir en el conjunto de datos y, a continuación, seleccione Finalizar.

    El conjunto de datos se agrega al proyecto y las tablas y las vistas aparecen en la ventana Orígenes de datos.

    Captura de pantalla de la ventana Orígenes de datos, rellenada con objetos de base de datos

  14. En las máquinas de 64 bits con el motor de base de datos de Access de 64 bits, debe asegurarse de que la aplicación se ejecuta como una aplicación de 64 bits. Abra las propiedades del proyecto (pulse Alt+Enter o haga clic con el botón derecho en el nodo de proyecto y seleccione Propiedades). En la pestaña Compilar, desactive la casilla Preferencia de 32 bits.

Creación de un conjunto de datos para un archivo .accdb

Conéctese a bases de datos creadas con Microsoft 365, Access 2016, Access 2013, Access 2010 o Access 2007 mediante el procedimiento siguiente.

  1. Abra un proyecto de aplicación de Windows Forms o WPF en Visual Studio.

  2. Para abrir la ventana Orígenes de datos, presione Ctrl+Q, escriba "datos" en el cuadro de búsqueda y elija la ventana Orígenes de datos. Otra opción es, en el menú Ver, seleccione Otras ventanas>Orígenes de datos. O bien, en el teclado, presione Mayús+Alt+D.

    Ver orígenes de datos en Otras ventanas

  3. En la ventana Orígenes de datos , seleccione Agregar nuevo origen de datos.

    Se abrirá el Asistente para configuración de orígenes de datos.

  4. Seleccione Base de datos en la página Elegir un tipo de origen de datos y, a continuación, seleccione Siguiente.

  5. Seleccione Conjunto de datos en la página Elegir un modelo de base de datos y, a continuación, seleccione Siguiente.

    Captura de pantalla de la página Elegir un modelo de base de datos

  6. En la página Elegir la conexión de datos, seleccione Nueva conexión para configurar una nueva conexión de datos.

    Captura de pantalla de la página Elegir la conexión de datos

    Se abrirá el cuadro de diálogo Agregar conexión.

    Captura de pantalla del cuadro de diálogo Agregar conexión

  7. Si Origen de datos no está establecido en Archivo de base de datos de Microsoft Access, seleccione el botón Cambiar.

    Se abrirá el cuadro de diálogo Cambiar origen de datos. En la lista de orígenes de datos, elija Archivo de base de datos de Microsoft Access. La opción Proveedor de datos de .NET Framework para OLE DB ya está preseleccionada. Elija Aceptar.

    Captura de pantalla del cuadro de diálogo Elegir origen de datos

  8. Elija Examinar junto a Nombre del archivo de base de datos y, a continuación, vaya al archivo .accdb y elija Abrir.

    Nota:

    Si el valor de bits (32 o 64 bits) de Microsoft Office y Visual Studio no coinciden, aparecerá un error al conectarse a una base de datos de Access. En Visual Studio 2019, obtendrá un error que indica que el proveedor de base de datos no está registrado. En Visual Studio 2022, verá un error que indica que no se puede conectar a un proveedor de datos de 32 bits. Para resolverlo, asegúrese de que, en caso de estar usando una versión de Office de 32 bits, utiliza Visual Studio 2019 o una versión anterior; para una versión de Office de 64 bits, se necesita Visual Studio 2022 o posterior.

  9. Escriba un nombre de usuario y una contraseña (si es necesario) y, a continuación, elija Aceptar.

  10. Elija Siguiente en la página Elegir la conexión de datos.

    Puede que aparezca un cuadro de diálogo que le indique que el archivo de datos no está en el proyecto actual. Seleccione Yes (Sí) o No.

  11. Seleccione Siguiente en la página Guardar la cadena de conexión en el archivo de configuración de la aplicación.

    Captura de pantalla de la página

  12. Expanda el nodo Tablas en la página Elija los objetos de base de datos.

  13. Seleccione las tablas o las vistas que quiere incluir en el conjunto de datos y, a continuación, seleccione Finalizar.

    El conjunto de datos se agrega al proyecto y las tablas y las vistas aparecen en la ventana Orígenes de datos.

Creación de un conjunto de datos para un archivo .mdb

Conéctese a las bases de datos creadas con Access 2000 hasta 2003 mediante el procedimiento siguiente.

  1. Abra un proyecto de aplicación de Windows Forms o WPF en Visual Studio.

  2. En el menú Ver, seleccione Otras ventanas>Orígenes de datos.

  3. En la ventana Orígenes de datos , seleccione Agregar nuevo origen de datos.

    Se abrirá el Asistente para configuración de orígenes de datos.

  4. Seleccione Base de datos en la página Elegir un tipo de origen de datos y, a continuación, seleccione Siguiente.

  5. Seleccione Conjunto de datos en la página Elegir un modelo de base de datos y, a continuación, seleccione Siguiente.

  6. En la página Elegir la conexión de datos, seleccione Nueva conexión para configurar una nueva conexión de datos.

  7. Si el origen de datos no es un Archivo de base de datos de Microsoft Access (OLE DB), elija Cambiar para abrir el cuadro de diálogo Cambiar origen de datos, seleccione Archivo de base de datos de Microsoft Access y, después, Aceptar.

  8. En Nombre de archivo de base de datos, especifique la ruta de acceso y el nombre del archivo .mdb al que quiere conectarse y, después, seleccione Aceptar.

    Adición de un archivo de base de datos de acceso a la conexión

  9. Elija Siguiente en la página Elegir la conexión de datos.

  10. Seleccione Siguiente en la página Guardar la cadena de conexión en el archivo de configuración de la aplicación.

  11. Expanda el nodo Tablas en la página Elija los objetos de base de datos.

  12. Seleccione las tablas o las vistas que quiere incluir en el conjunto de datos y, a continuación, seleccione Finalizar.

    El conjunto de datos se agrega al proyecto y las tablas y las vistas aparecen en la ventana Orígenes de datos.

Revise el código generado

Las herramientas de datos se configuran para generar mucho código automáticamente cuando se realizan determinadas operaciones en el Diseñador de formularios. Por ejemplo, al arrastrar y colocar una tabla en el formulario, se agrega un DataGridView y se crea código para enlazar los datos con el control. Puede ver este código en el archivo *.Designer.cs. Visual Studio agrega una serie de miembros privados:

private Database11DataSet database11DataSet;
private System.Windows.Forms.BindingSource ordersBindingSource;
private Database11DataSetTableAdapters.OrdersTableAdapter ordersTableAdapter;
private Database11DataSetTableAdapters.TableAdapterManager tableAdapterManager;
private System.Windows.Forms.BindingNavigator ordersBindingNavigator;
private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem;
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
private System.Windows.Forms.ToolStripButton ordersBindingNavigatorSaveItem;
private System.Windows.Forms.DataGridView ordersDataGridView;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12;

Si expande la región oculta, puede ver que Visual Studio también agrega una gran cantidad de código para configurar el control DataGridView con enlace de datos a la tabla que arrastró al formulario.

Además, en el archivo de código subyacente del formulario principal, Visual Studio agrega código que procesa la acción de guardar para guardar los cambios interactivos en los datos y el código que carga la tabla en el adaptador de tabla.

private void ordersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
    this.Validate();
    this.ordersBindingSource.EndEdit();
    this.tableAdapterManager.UpdateAll(this.database11DataSet);

}

private void Form1_Load(object sender, EventArgs e)
{
   // TODO: This line of code loads data into the 'database11DataSet.Orders' table. You can move, or remove it, as needed.
   this.ordersTableAdapter.Fill(this.database11DataSet.Orders);
}

Felicidades. Con una pequeña ayuda de Visual Studio, ha creado una experiencia de edición basada en formularios para una tabla de datos de Access.

Pasos siguientes

El conjunto de datos que acaba de crear está disponible en la ventana Orígenes de datos. Ahora puede realizar cualquiera de las tareas siguientes: