Cómo usar Microsoft Visual Basic .NET para conectar con una base de datos de Microsoft Access y recuperar datos

Seleccione idioma Seleccione idioma
Id. de artículo: 821765 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo paso a paso describe cómo utilizar Microsoft ADO.NET para abrir una base de datos de Microsoft Access utilizando el proveedor de datos OLE DB. Utilice la clase OleDbDataAdapter para obtener filas de la base de datos de Access e insertarlas en un objeto DataSet. En este artículo se describe cómo agregar filas, cómo eliminarlas y cómo actualizarlas en la base de datos de Access utilizando DataSet y OleDbDataAdapter.

Requisitos


En la lista siguiente se describe el hardware, el software, la infraestructura de red y los Service Packs recomendados que necesitará:
  • Microsoft .NET Framework
  • Microsoft Visual Basic .NET
  • Microsoft Access
En este artículo se supone que está familiarizado con los temas siguientes:
  • Visual Basic .NET
  • ADO.NET
  • Access:

Crear una base de datos de Microsoft Access

Para crear una base de datos en Access y luego crear una tabla en la base de datos, siga estos pasos:
  1. Inicie Access.
  2. En el menú Archivo, haga clic en Nuevo.
  3. Haga clic en Base de datos en blanco en el panel de tareas.
  4. En el cuadro Nombre de archivo, escriba testdb y haga clic en Crear.
  5. Haga clic con el botón secundario en Crear una tabla en vista Diseño y, a continuación, haga clic en Abrir.
  6. En el cuadro de texto Nombre del campo, escriba SName.
  7. En la lista Tipo de datos, haga clic en Texto.
  8. En el cuadro de texto Nombre del campo, escriba SNo.
  9. En la lista Tipo de datos, haga clic en Número.
  10. Haga clic con el botón secundario en SNo y luego en Clave principal.
  11. En el menú Archivo, haga clic en Guardar como.
  12. En el cuadro de diálogo Guardar como, escriba Alumno en el cuadro de texto y luego haga clic en Aceptar. Cierre la vista Diseño.
  13. Haga clic con el botón secundario en la tabla Alumno y luego haga clic en Abrir.
  14. Escriba ABC en la columna SName.
  15. Escriba 101 en la columna SNo.
  16. Escriba XYZ en la columna SName.
  17. Escriba 102 en la columna SNo.
  18. Escriba varios registros adicionales en la tabla Alumno y luego cierre la ventana Alumno:Tabla.
  19. Cierre la base de datos testdb.

Crear una conexión a la base de datos de Access utilizando Visual Basic .NET

En el siguiente ejemplo paso a paso se describe cómo crear una conexión a la base de datos de Access utilizando el Explorador de Microsoft Visual Studio .NET Server. En el ejemplo siguiente también se describe cómo utilizar la clase OleDbDataAdapter para recuperar los datos de la base de datos e insertarlos en un objeto DataSet. En este ejemplo también se describe cómo crear nuevas filas, cómo agregarlas a la tabla, cómo modificar los datos de las filas y cómo quitar dichas filas de la tabla de la base de datos de Access.

Crear una nueva aplicación basada en Windows con Visual Basic .NET.
  1. Inicie Microsoft Visual Studio .NET.
  2. En el menú Archivo, seleccione Nuevo y haga clic enProyecto.
  3. En Tipos de proyecto, haga clic en Proyectos de Visual Basic.
  4. En Plantillas, haga clic en Aplicación para Windows y, a continuación, haga clic en Aceptar.

    De forma predeterminada, se crea Form1.
Abra una conexión a la base de datos de Access
  1. En el menú Ver, haga clic en Explorador del servidor.
  2. En el Explorador del servidor, haga clic con el botón secundario en Conexiones de datos y luego haga clic en Agregar conexión.
  3. En el cuadro de diálogo Propiedades, haga clic en la ficha Proveedor.
  4. En la lista Proveedores de OLE DB, haga clic en Proveedor de OLE DB Microsoft Jet 4.0 y, a continuación, haga clic en Siguiente.
  5. Haga clic en la ficha Conexión y, a continuación, haga clic en el botón (... ).
  6. Busque el archivo testdb.mdb de base de datos de Access que creó siguiendo la ruta de acceso correspondiente en su equipo.
  7. Seleccione el archivo testdb.mdb y luego haga clic en Abrir.
  8. En el cuadro de diálogo Propiedades de vínculo de datos, haga clic en Aceptar.
Recupere los datos de la base de datos de Access utilizando la clase OleDbDataAdapter
  1. En el cuadro de herramientas, haga clic en la ficha Datos.
  2. Arrastre un control OleDbDataAdapter hasta Form1.
  3. En el Asistente para la configuración del adaptador de datos, haga clic en Siguiente tres veces.
  4. En el panel Generar las instrucciones SQL, escriba la siguiente instrucción de Microsoft SQL Server y, a continuación, haga clic en Siguiente:
    Seleccionar * en Alumno
  5. En el panel Ver resultados del Asistente, haga clic en Finalizar.

    Nota: en el cuadro de diálogo ¿Desea incluir la contraseña en la cadena de conexión?, haga clic en No incluir contraseña.
  6. Haga clic con el botón secundario en OleDbDataAdapter1 y, a continuación, haga clic en Generar conjunto de datos.
  7. En el cuadro de diálogo Generar conjunto de datos, haga clic en Aceptar.
  8. Agregue el siguiente código al controlador de eventos Form1_Load:
     'Para rellenar se recuperan las filas del origen de datos mediante la instrucción SELECT
    OleDbDataAdapter1.Fill(DataSet11)

Mostrar los registros recuperados de la base de datos de Access

  1. Agregue un control DataGrid a Form1.

    De forma predeterminada, se crea DataGrid1.
  2. Haga clic con el botón secundario en DataGrid1 y, a continuación, en Propiedades.
  3. En el cuadro de diálogo Propiedades, establezca la propiedad DataSource en DataSet11 y la propiedad DataMember en Alumno.

Agregar una fila a la tabla de la base de datos de Access

  1. Agregue un control Button a Form1.
  2. Haga clic con el botón secundario en Button1 y luego haga clic en Propiedades.
  3. En el cuadro de diálogo Propiedades, establezca la propiedad Text en Agregar.
  4. Agregue el código siguiente al controlador de evento Button1_Click:
    Dim i, sno As Integer
    Dim sname As String
    Dim rw As DataRow
    'Agregar una nueva fila a la tabla de alumnos.
    rw = DataSet11.Tables(0).NewRow
    sno = InputBox("Escriba el número de lista del alumno:")
    sname = InputBox ("Escriba el nombre del alumno":)
    rw.Item("SNo") = sno
    rw.Item("SName") = sname
    Try
         DataSet11.Tables(0).Rows.Add(rw)
         "Actualizar la tabla de alumnos en la base de datos testdb.
         i = OleDbDataAdapter1.Update(DataSet11)
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
    'Muestra el número de filas actualizadas. 
    MessageBox.Show("no of rows updated=" & i)

Actualizar las filas de una tabla en la base de datos de Access

  1. Agregue un control Button a Form1.

    De forma predeterminada, se crea Button2.
  2. Haga clic con el botón secundario en Button2 y luego haga clic en Propiedades.
  3. En el cuadro de diálogo Propiedades, establezca la propiedad Text en Actualizar.
  4. Agregue el siguiente código al controlador de eventos Button2_Click:
     Dim i, rwno As Integer
    Dim colname As String
    Dim value As Object
    colname = InputBox("Escriba el nombre de la columna que desea actualizar")
    rwno = InputBox("Escriba el número de fila que desea actualizar: los números de fila empiezan a partir de 0")
    valor = InputBox ("Escriba el valor que aparecerá en la tabla de alumnos")
    Try
         "Actualizar la columna en la tabla de alumnos.
         DataSet11.Tables(0).Rows(rwno).Item(colname) = value
         "Actualizar la tabla de alumnos en la base de datos testdb.
         i = OleDbDataAdapter1.Update(DataSet11)
    Catch ex As Exception
         MessageBox.Show(ex.Message)
    End Try
    'Muestra el número de filas actualizadas.
    MessageBox.Show("no of rows updated=" & i)
    

Borrar filas desde una tabla en la base de datos de Access

  1. Agregue un control Button a Form1.

    De forma predeterminada, se crea Button3.
  2. Haga clic con el botón secundario en Button3 y luego haga clic en Propiedades.
  3. En el cuadro de diálogo Propiedades, establezca la propiedad Text en Eliminar.
  4. Agregue el código siguiente al controlador de evento Button3_Click:
    Dim i As Integer
    Dim rno As Integer
    rno = InputBox("Escriba el número de fila que se va a eliminar: los números de fila empiezan a partir de 0")
    Try
         'Eliminar una fila de la tabla de alumnos.
         DataSet11.Tables(0).Rows(rno).Delete()
         "Actualizar la tabla de alumnos en la base de datos testdb.
         i = OleDbDataAdapter1.Update(DataSet11)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
    'Muestra el número de filas actualizadas. 
    MessageBox.Show("no of rows updated=" & i)

Comprobar que todo funciona

  1. En el menú Generar, haga clic en Generar solución.
  2. En el menú Depurar, haga clic en Iniciar.
  3. Haga clic en Agregar y, a continuación, escriba los datos en el cuadro de entrada para agregar una fila a la tabla Alumno.

    Nota: Recibe un error si hace clic en Cancelar en los cuadros de entrada.
  4. Haga clic en Actualizar y, a continuación, escriba los datos en los cuadros de entrada para actualizar una columna de la tabla Alumno.
  5. Haga clic en Eliminar y, a continuación, escriba los datos en los cuadros de entrada correspondientes para borrar una fila de la tabla Alumno.

Referencias

Para obtener más información, visite los siguientes sitios Web de Microsoft Developer Network (MSDN):
OleDbDataAdapter Class
http://msdn2.microsoft.com/es-es/library/system.data.oledb.oledbdataadapter(vs.71).aspx
Acceso a datos con ADO.NET
http://msdn2.microsoft.com/es-es/library/e80y5yhx(vs.71).aspx
Nota: es un artículo de "PUBLICACIÓN RÁPIDA" creado directamente por la organización de soporte técnico de Microsoft. La información aquí contenida se proporciona como está, como respuesta a problemas que han surgido. Como consecuencia de la rapidez con la que lo hemos puesto disponible, los materiales podrían incluir errores tipográficos y pueden ser revisados en cualquier momento sin previo aviso. Vea las Condiciones de uso para otras consideraciones

Propiedades

Id. de artículo: 821765 - Última revisión: martes, 02 de julio de 2013 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbtable kbhowtomaster kbhowto kbsystemdata kbdatabase kbdataadapter KB821765

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