Como acceder a una base de datos Access 2007 con Ado.Net

Buenas 

hace unos minutos Juan Francisco nos preguntaba como podemos acceder a una Db Access 2007 utilizando Ado.Net. Yo (al igual que él) suponia que el Microsoft Jet  Provider, servía para los nuevos archivos accdb de Microsoft Access 2007, pero la cosa ha cambiado un poco.

En realidad ahora el acceso es mucho mas simple utilizando ADO 6.0; ya que la cadena de conexión se simplifica hasta llegar a

“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=LOCATIONDB.accdb;Persist Security Info=False”

y podemos ver que es bastante parecida a una conexion clásica OLEDB.  (gracias una vez mas www.connectionstrings.com) ADO 6.0 está incluido en Windows Vista y es el equivalente a ADO 2.8; un detalle más completo de la historia y versiones de Ado puede ser consultado aqui.

Para probarlo paso a paso, lo primero que necesitamos es crear una base de datos Access 2007; como estoy a punto de recibir mi WII no tengo mucho tiempo, aprovecho y descargo uno de los templates que ya vienen preinstalados con Access 2007.

Yo he elegido el template para manejo de proyectos y lo he descargado en mi Desktop (ubicación física= C:UsersbrunocDesktopProjects.accdb”).

Luego he creado un proyecto en Visual Basic .Net y dentro de un formulario he agregado el siguiente código en el evento Load del mismo:

 

1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 2 Dim cnn As New OleDb.OleDbConnection 3 Dim dt As New DataTable 4 Dim da As New OleDb.OleDbDataAdapter 5 Dim cmd As New OleDb.OleDbCommand 6 7 ' abro la conexion 8 cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:UsersbrunocDesktopProjects.accdb;Persist Security Info=False" 9 cnn.Open() 10 11 ' creo el comando y lo lleno con la tabla empleados 12 cmd.Connection = cnn 13 cmd.CommandText = "Employees" 14 cmd.CommandType = CommandType.TableDirect 15 da.SelectCommand = cmd 16 da.Fill(dt) 17 18 ' muestro los resultados en la datagridview 19 Me.DataGridView1.DataSource = dt 20 21 End Sub

No voy a entrar en detalle en lo relacionado a Ado y a Oledb; pero si remarcar que a partir de ahora recordar una cadena de conexión es mucho mas simple :D.

 

Saludos

El Bruno

40 comentarios en “Como acceder a una base de datos Access 2007 con Ado.Net”

  1. Soy nu neofito en esta materia y tengo un problema espero que esto que pones arriba me sirva, pero no tengo Vista. mi windows es xp, y office 2007, visual basic 6.0 y no he logrado entrar a una base de datos por mas que lo intento si puedes agregarme cabelopc@hotmail.com es urgente la ayuda casi depende mi vida de ello. vere si lo que dices arriba me sirve.

  2. Hola soy muy nuevo en esto de .NET, pero me gustaría saber si puedo hacer una conexión a una base de datos Access 2007 con ADO.net y DbProviderFactory

    BaseDatos.factory = DbProviderFactories.GetFactory(Microsoft.ACE.OLEDB.12.0);

    Muchas gracias

  3. sabes amigo, la verdad quiero sabes como convertir una base de datos de acces 2007 a 97 porq deseo crear un sistema de informacion.. par aun amigo.. porfavor dime como convierto la base de datos de la version 2007 a 97 para conectarla con vissual basic version 6.0
    mi coreo es jcge87@hotmail.com
    gracias

  4. respuesta para juan Carlos:

    en el botn grande que esta arriba a la izquierda de tu access 2007 aparece un sub menu donde le das a guardar como y seleccionas access 2003 o 2000, no recuerdo si hay opcion para 97 pero pruebalo, además luego de guardarla a accsess 2000 seguro puedes convertirla a 97 desde el access 2000

  5. Hola amigo sus ayudas son muy utiles pero tengo un problema
    quiero pasar mi proy hecho en vbasic a C# y como lo haria en .net 2005

    espero me ayuden

    gracias

  6. Envio un Truco para la captura de la direccion de la BD, espero les sirva

    Dim DireccionBD As String

    DireccionBD = Application.StartupPath + “Projects.accdb”

    Cnn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & DireccionBD & “;Persist Security Info=False”

    cnn.Open()

  7. Hola!!!!!!!!!!!!!!!!!!

    Necesito saber acerca de la conexion a bases de datos
    a través de visual studio.net, si alguien puede y quiere
    ayudarme, no lo dude.

    Gracias………………..

  8. Hize una coneccion de una base de datos creada en acces con visual . Net resulta que declares los tipos de datos en las tablas de access y en el momento de agregar un nuevo registro no me esta validando lo datos de tipo fecha, como puedo hacer para validar fechas.

  9. Muy util la informacion muchisimas gracias por la informacion me parecio buena y efectiva les pido el favor de mandarme informacion acerca de exel y visual a mi correo electronico oscarffi@hotmail.com de todos los temas y enlaces de visual a access y viceversa

    gracias
    oscar alexander cepeda
    1053605705

  10. hola tengo una base d datos de asistencia con las tablas de profesor, curso, horario, seccion , seleccionando algunos datos de esa tabla para poder ver esos datos en un formulario, mi problema es con los horarios supuestamente tengouna hora activa, el horario de entrada y salida, como hago para hacer opeaciones con las horas osea si esta llegado temprano que pueda hacwer click en el boton si esta llegando tarde que me salga un mensaje y si no ha llegado que me cgurade como falta y todo esto guardarlo en una tabla que le puse asistencia, ahora en ese tabla he agregado dato con los datos en el form que he grabado pero al hacer una consulta para que se me muestre en un datagrid no me sale que problema semeesta originand__?/si aguien puede aydarme escriban a vazagho@hotmailcom y aver si me pueden ayudar, puedo pasale mi practica para ver que cosa se puede corregir

  11. olaa!
    tengo un proyecto.. es un sistema para un ultramarino, una pasteleria y una ferreteria y tienen qe ievar bitacoras en acces y no se como hacerlo…

    alguien puede ayudarme pleeeeease!!! XD

    si no me ayudan estoi perdida y reprobada por supesto

    por favor alguien me puede ayudar???
    dejo mi email

    koki_ixi@hotmail.com

    por favor ayudenme (>_<) espero respuesta

  12. tengo una dida a mi me dejaron crear una base de datos pero nueva ala forma que tu desees pero no se como alguin me podra responder.

    x fas y grasias

  13. Hola soy Nuevo en esta materia; recien estoy iniciando en este mundo de programación y ncesito ayuda de Uds. Resulta que tengo una base de datos en en Access y hago las conexiones todo funciona; pero cuando hago los cambios en el fichero de visual no lo guarda. ¿Cómo hago para que guarde los cambios que hago en mi base de datos? Espero que me puedan ayudar. Gracias

  14. fijate que utilice tu codigo y todo funciona correctamente ahora solo quiero saber si sabes como ejecutar un qeury mas especifico para desplegar en el grindview gracias!!! algo como un select * from clientes where id = 1263 xx ejemplo

  15. Perfectisimo es lo que venia buscando me causo problemas el cambio de visual basic 6 al .net jajaja en fin gracias ya con esto are un tuto para hacer mas dinamico tu ejemplo (te mencionare) bueno gracias y saludos

  16. Hola soy nuevo usando access y visual.net. Quisiera que por favor me ayudaran publicando el codigo para realizar, INSERT, UPDATE, DELETE. Muchas gracias.

  17. hola yo tengo una maquina antigua 10 años que toma datos y luego en su programa yo le pongo el nombre del paciente, pero a la hora de enlazarlo con mi programa particular no me deja abrirlo, yo he instalado el access 2007, y creo que la maquina lo hace con una version anterior, hay alguna manera de cambiarlo para poder ver los datos grabados en mi programa.
    muchas gracias

  18. Hola

    ayudame por favor en mi tarea me piden
    Creación de la tabla y captura de registros.
    pero todos mis pasos son para el access 2003
    y no tengo idea de como hacer esto

    te mando mi correo

    stephy.1998@gmail.com

    ayuda!!!

    se me acaban las ideas y encuentro opcion

  19. Ayudame por favor en mi tarea me piden
    como puedo conectar una base de datos access 2007 en visual basic 2005

    Creación de la tabla, captura de registros y consultas de la captura.

    Pero todos mis pasos son para el access 2007

    y no tengo idea de como hacer esto

    te mando mi correo

    chika_fresa5@hotmail.com

    plissssssssssssssssss!!!

    se me acaban las ideas y encuentro opcion

  20. Saludos mi pregunta es la siguiente y si quiere filtrar los datos del datagriedview1 desde un textbox y que al presionar el boton mostrar salga en el datagridview1 todos los datos de ese registro

  21. Muy Buena aportacion Bruno probe el codigo y me funciono muy bien y para no estar duplicando codigo en todo el proyecto lo agregue a una clase Conexion para obtener los datos con un objeto reader y funciona muy bien gracias por tu informacion ha sido de mucha utilidad, saludos…..

  22. por favor necesito su ayuda para crear una base de datos en access no tengo idea como empesar, le agradezco todo lo que puedan hacer por mi

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *