30 mayo 2012

39 Access y Visual Basic (ambos 2010)

Hace tiempo ya había escrito algunas cosas sobre cómo usar bases de datos de Access desde Visual Basic (versiones .net en adelante).  Al final pongo una lista de estos posts de mi blog.

Sin embargo, estoy ante la tarea de hacerlo lo más simple posible.  Mi experimento es tratar de usar Access 2010 desde Visual Basic 2010 sin tener que adentrarse mucho a SQL ni a comando complejos.  Comenzaré creando una base de datos de Access que tendrá una sola tabla, llamada Libros, que contendrá (como te podrás imaginar) datos sobre Libros.  Aquí está el tour paso a paso.  Recuerda que al hacer clic sobre cualquier imagen se abre en tamaño grande en otra ventana o pestaña de tu navegador.

Creando tabla en Access

Al abrir Access te aparece una pantalla como esta.  Elige una base de datos en blanco, elige la carpeta donde lo guardarás y el nombre de archivo y haz clic en el botón crear.

00_-_Access_1

Así quedó la ventana con los datos que yo escribí:

01_-_Access_2

Al abrir la ventana con una tabla en blanco, presiona el botón de la vista diseño (el que aparece abajo de estas líneas).

03_-_Access_3_-_Vista_diseño

Aparece una ventana preguntándote el nombre de la tabla.  Yo escribí Libros e hice clic en el botón Aceptar.

04_-_Access_4_-_Nombre_tabla

Aparece una ventana donde puedes dar de alta los campos y decir de qué tipo de dato son.  En mi caso, quedó así:

05_-_Access_5_-_Tabla_Libros_diseño

Al terminar de dar de alta, hago clic en la vista de hoja de datos (en el mismo lugar donde estaba el de vista diseño que ahora parece una hoja de cálculo) y me pregunta si deseo guardar la información de la tabla.  Hago clic en Aceptar.

06_-_Access_6_-_Guardar_Tabla

Al final di de alta 4 registros.  Así quedó en la vista hoja de datos:

07_-_Access_7_-_Tabla_con_datos

Ahora sí, cierro Access 2010 y vamos a Visual Basic 2010.

Creando un nuevo proyecto en Visual Basic 2010

Al abrir Visual Basic 2010 creo un nuevo proyecto.  Haz clic sobre nuevo proyecto y luego asegúrate que sea un Windows Form Application (en lenguaje Visual Basic), escribes el nombre del proyecto y das clic en Aceptar.  Aquí están las imágenes:

 

08_-_VB_1_-_Nuevo

09_-_VB2_-_Nuevo

Enseguida aparece una ventana con una ventana (conocido como Form en Visual Basic).  Lo primero que hay que hacer, es hacer una conexión con la base de datos de Access.  Esto lo haremos de la siguiente manera.  Primero encuentra la pestaña Data Sources.  Si no lo ves, lo puedes abrir desde el menú Data, Show Data Sources.  La pestaña debería verse así:

10_-_VB3_-_Data_Sources

Ahora haz clic sobre la liga Add New Data Source…  Debería aparecer la siguiente ventana.  Luego elige Database y haz clic en siguiente.

11_-_VB4_-_New_dBase_1

En la siguiente ventana, elige Dataset y haz clic en el botón Siguiente.

12_-_BV_-_DataSet

En la siguiente ventana, haz clic en el botón New Connection.

13_-_VB5_-_New_Connection

Seleccione Microsoft Access Database File y haz clic en siguiente.

14_-_VB_-_New_Conn

Elige el archivo y haz clic en Test Connection para asegurar que está bien.  No le hagas caso al usuario/contraseña porque eso se usa más en otros manejadores de bases de datos (como SQL Server, MySQL, etc.).  Luego haz clic en Ok.

15_-_VB_-_Conn_String

Ahora regresó a la ventana que preguntaba sobre la conexión a los datos.  Haz clic en Next.  Después de esto, te va a decir (probablemente) que el archivo de la base de datos no está en el mismo lugar donde está almacenado el proyecto y si quieres copiarlo a la ubicación.  Haz clic en Si.

16_-_VB_-_Copiar_dBase

Luego te pregunta si deseas guardar la conexión.  Haz clic en Next.

17_-_VB_-_Save_Conn

En la siguiente ventana te pregunta lo que deseas visualizar.  en este caso solo quiero ver la tabla Libros con todos sus elementos.  En la siguiente imagen expandí la parte de Tables y lo seleccioné.  al final haz clic en Finish para terminar el asistente.

18_-_VB_dBase_Obj

Al cerrar la última ventana del asistente podremos observar que el explorador de soluciones tiene nuevos elementos como se ve en la siguiente imagen.  Uno es el archivo de Access (Libros.accdb) y el otro es la conexión que nos permite accesar esta tabla (LibrosDataSet.xsd).  Con esto ya estamos listos para insertar, eliminar, consultar y modificar la tabla Libros.  Sería buen momento ded guardar el proyecto antes que otra cosa pase.

19_-_VB_-_Sol_Exp

Otra ventana que cambia es el de Data Sources.  Ahora aparece LibrosDataSet desde donde se pueden acceder los elementos de la tabla libros.

20_-_VB_-_Data_Sources

Supongamos que quiero mostrar una caja de texto sobre la ventana que tenga el ISBN.  Si arrastro el campo ISBN desde la ventana Data Sources a Form1 (en la vista diseño), crea un título con la caja de texto que accede al campo ISBN de la tabla Libros y una barra de herramientas para moverse en la base de datos.  Hasta abajo aparecen muchos controles que no aparecerán en la ventana, pero que nos sirven mucho para hacer acceso a los datos de la tabla.  Este es Form1 en la vista diseño hasta este momento.

21_-_VB_-_Form1

Como te habrás de imaginar, hay botones para ir al primero, al anterior, una caja con el número de registro (que se puede modificar para moverse a un registro en particular), siguiente registro, el último, agregar, eliminar y guardar.  ¡Todo hecho de forma automática!  Si quiero que no sea una caja de texto y esté en otro tipo de control, puedo hacer clic en el triángulo que aparece a un lado del campo (en la ventana Data Sources) y seleccionar el tipo de control que quieres que tenga.  Se ve así:

22_-_VB_-_Tipo_Ctrl

Después de cambiar la editorial para que aparezca en un ComboBox, la ventana se ve así (fíjate como cambia el icono de Editorial).

23_-_VB_-_Data_Source

Llené Form1 con todos los controles (también agregué un botón llamado btnSalir).  En la vista diseño se ve así:

24_-_VB_-_Form1

¿Funcionará así?  Vamos a ver.  Al ejecutar el programa (espero que lo estés guardando cada de vez en cuando) aparece esto:

25_-_Ejecución

Si te fijas, está en el primer registro que di de alta.  Los botones para moverse entre los registros funcionan sin problemas.  Al presionar el botón de agregar registro (el signo +) se ponen en blanco los campos, el número de registro cambia a 6 (en este ejemplo dimos de alta 5 registros, como se observa en el dibujo anterior) y está listo para que escribamos los datos del libro.  Así se ve la ventana con datos de un libro:

27_-_Ejecicion_Alta

Al terminar de dar de alta los datos, presiono el botón Guardar (el que tiene forma de diskette… pero, ¿quién usa diskettes hoy en día?  ¿No deberíamos cambiar ese icono?  Bueno, ese es otro rollo…) y queda almacenado (fíjate como el número total de registros cambió a 6 y se puede mover a ese registro).  Ahora me posiciono en el registro que acabo de dar de alta y presiono el bortón para eliminar (la X roja).  Sin preguntar, lo elimina y asunto arreglado.

Si te fijas, no tuviste que escribir código para que esto funcionara.  No es precisamente así: Visual Basic agregó código por ti para que esto funcione.  Yo solo agregué un End para cuando presionen el botón Salir.  El código de la ventana es esta:

28_-_Código

Aquí les dejo también ligas a otros posts relacionados al tema que están en mi blog.

Ligas sobre programar Access y Visual Basic

Ligas sobre SQL Server y Visual Basic

Espero que esta explicación les haya sido útil.  ¡Saludos!

39 comentarios:

Related Posts Plugin for WordPress, Blogger...