vb access

13

Click here to load reader

Upload: luisj9212

Post on 03-Jul-2015

2.198 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Vb access

Insertar datos en una base de datos Access 2007 desde Visual Basic 6

Guía y ejercicios

Programación Orientada a Objetos – Cuarto Semestre

Conalep Ixtapaluca

Daniel Martínez Ortiz

[email protected]

http://danielmartinez236d.spaces.live.com

Mayo del 2010

Page 2: Vb access

Índice

Paso 1. Crear una base de datos..........................................................................................................3

Paso 2. Crear la tabla............................................................................................................................3

Paso 3. Abrir visual basic y crear un proyecto nuevo.............................................................................3

Paso 4. Agregar la referencia ADO........................................................................................................4

Paso 5. Modificar las propiedades del nombre del proyecto..................................................................5

Paso 6. Modificar las propiedades del formulario..................................................................................5

Paso 7. Diseñar el formulario.................................................................................................................5

Paso 8. Programar el botón de cerrar....................................................................................................6

Paso 9. Programar el botón de guardar.................................................................................................6

Paso 10. Guardando el proyecto...........................................................................................................9

Paso 11. Probando la aplicación............................................................................................................9

Ejercicios.............................................................................................................................................12

Agencia automotriz - Catálogo de automoviles...............................................................................12

Restaurante – Platillos del menú.....................................................................................................12

Hospital – Ingreso de pacientes a urgencias...................................................................................12

Floreria – Arreglos florales..............................................................................................................12

Sistema administrativo – Captura de clientes..................................................................................12

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 2 de 13

Page 3: Vb access

Paso 1. Crear una base de datos

Crear una base de datos en access 2007 llamada “Inventario” y guardela en una carpeta “inventarios” en “Mis Documentos”.

Paso 2. Crear la tabla

Crear una tabla, dentro de la base de datos, llamada “Producto” con los siguientes campos:

Campo Tipo de dato

productoId Autonumérico

nombre Texto

costo Moneda

descripcion Memo

La vista de la base de datos, en access 2007, debe quedar como se ilustra a continuación.

Paso 3. Abrir visual basic y crear un proyecto nuevo.

Abrir visual basic y crear un proyecto nuevo de tipo “EXE estándar”

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 3 de 13

Page 4: Vb access

Paso 4. Agregar la referencia ADO.Agrear la referencia de acceso a datos ADO.

En el menú “Proyecto”, elegir “Referencias...”

Aparecerá una ventana titulada “Referencias”. En esta ventana buscar, en la lista de “Referencias disponibles” la opción “Microsoft ActiveX Data Object 6.0 Library” y activarla; presionar el botón “Aceptar”

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 4 de 13

Page 5: Vb access

NOTA IMPORTANTE:

Si utilizas Windows XP es muy probable que no tengas disponible la biblioteca “Microsoft ActiveX Data Objects 6.0 Library” debido a que esta biblioteca sólo se encuentra disponible en versiones de Windows Vista y posteriores. ¿Pero qué debemos hacer para activar el acceso a bases de datos Access 2007 cuándo no tenemos esta biblioteca disponible? A continuación la solución.

1er paso. Descargar del sitio de microsoft el driver adecuado para tener acceso a bases de datos de Access 2007.

http://www.microsoft.com/downloads/details.aspx?familyid=7554f536-8c28-4598-9b72-ef94e038c891

De esta página de internet descargaremos un archivo llamado “AccessDatabaseEngine.exe”

2do paso. Instalar el programa “AccessDatabaseEngine.exe” descargado en el paso anterior.

3er paso. En el cuadro de dialogo de referencias activaremos “Microsoft ActiveX Data Objects 2.8 Library” en vez de la versión 6.0.

Eso es todo lo que hay que hacer, los pasos que continuan se deben realizar de forma normal.

Paso 5. Modificar las propiedades del nombre del proyecto.

Modificar las propiedades del nombre del proyecto para que se llame “Inventarios” en vez de “Proyecto1”.

Paso 6. Modificar las propiedades del formulario.

Modificar las propiedades del formulario para que llame “frmProductoAgregar” en vez de “Form1”

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 5 de 13

Page 6: Vb access

Paso 7. Diseñar el formulario

Diseñar el formulario para la captura de los datos de un producto. El diseño debe parecerse a la siguiente imagen.

Los cuadros de texto deben llamarse “txtNombre”, “txtCosto” y “txtDescripcion”.

Se debe modificar la propiedades “Multiline” a “True” y “ScrollBars” a “3 – Both” del cuadro de texto “txtDescripcion”. Ajuste el tamaño para que quede como en la imagen anterior.

Los botones se deben llamar “btnGuardar” y “btnCerrar”

Paso 8. Programar el botón de cerrar

Para programar el botón de cerrar sólo se utiliza la instrucción Unload <nombreDelFormulario>.

Paso 9. Programar el botón de guardarPara programar el botón de guardar debemos seguir una serie de pasos bien definidos que nos ayudarán a escribir el código más fácil.

Declarar la variable “conexion” que permitirá la conexión con la base de datos. Esta variable debe ser de tipo ADODB.Connection

Declarar la variable “sql” que permitirá la construcción de la instrucción sql INSERT INTO para almacenar los datos en la base de datos. Esta variable debe ser de tipo String.

Declarar una variable por cada campo del formulario, cada una de esta variables será del tipo de dato adecuado al valor que se pretende almacenar en la base de datos. Para este formulario necesitamos declarar 3 variables:

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 6 de 13

Page 7: Vb access

• nombre de tipo String

• costo de tipo Currency

• descripción de tipo String

Verificar que cada uno de los campos del formulario que se consideren como datos obligatorios contenga un valor. En caso de que no tengan valor mostrar al usuario un mensaje indicando que le falto capturar ese dato.

Asignar los valores de los cuadros de texto a las variables declaradas para ese proposito.

Construir la instrucción SQL para almacenar los datos en la tabla de la base de datos.

Establecer la conexión con la base de datos

Ejecutar la instruccion SQL de inserción

Cerrar la conexión con la base de datos

Limpiar los campos del formulario

Mostrar al usuario un mensaje de que los datos fueron agregados correctamente.

Ahora, tomando como base los pasos anteriores para almacenar los datos en la base de datos, haremos la escritura del código. Sigamos, uno a uno, los pasos.

Declarar la variable “conexion” que permitirá la conexión con la base de datos. Esta variable debe ser de tipo ADODB.Connection

Dim conexion As ADODB.Connection

Declarar la variable “sql” que permitirá la construcción de la instrucción sql INSERT INTO para almacenar los datos en la base de datos. Esta variable debe ser de tipo String.

Dim sql As String

Declarar una variable por cada campo del formulario, cada una de esta variables será del tipo de dato adecuado al valor que se pretende almacenar en la base de datos. Para este formulario necesitamos declarar 3 variables:

• nombre de tipo String

• costo de tipo Currency

• descripción de tipo String

Dim nombre As String

Dim costo As Currency

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 7 de 13

Page 8: Vb access

Dim descripcion as String

Verificar que cada uno de los campos del formulario que se consideren como datos obligatorios contenga un valor. En caso de que no tengan valor mostrar al usuario un mensaje indicando que le falto capturar ese dato.

If (txtNombre.Text = "") Then

MsgBox "El nombre del producto es obligatorio", vbExclamation + vbOKOnly, "Agregar producto"

Exit Sub

End If

If (txtCosto.Text = "") Then

MsgBox "El costo del producto es obligatorio", vbExclamation + vbOKOnly, "Agregar producto"

Exit Sub

End If

If (txtDescripcion.Text = "") Then

MsgBox "La descripción del producto es obligatorio", vbExclamation + vbOKOnly, "Agregar producto"

Exit Sub

End If

If (Val(txtCosto.Text) <= 0) Then

MsgBox "El valor del costo del producto es incorrecto", vbExclamation + vbOKOnly, "Agregar producto"

Exit Sub

End If

Asignar los valores de los cuadros de texto a las variables declaradas para ese proposito.

nombre = txtNombre.Text

costo = FormatCurrency(Val(txtCosto.Text), 2)

descripcion = txtDescripcion.Text

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 8 de 13

Page 9: Vb access

Construir la instrucción SQL para almacenar los datos en la tabla de la base de datos.

sql = "INSERT INTO producto (nombre, costo, descripcion) VALUES ('" & nombre & "','" & costo & "','" & descripcion & "')"

Establecer la conexión con la base de datos

Set conexion = New ADODB.Connection

conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=inventarios.accdb;Persist Security Info=False;"

conexion.Open

Ejecutar la instruccion SQL de inserción

conexion.Execute sql

Cerrar la conexión con la base de datos

conexion.Close

Limpiar los campos del formulario

txtNombre.Text = ""

txtCosto.Text = ""

txtDescripcion.Text = ""

Mostrar al usuario un mensaje de que los datos fueron agregados correctamente.

MsgBox “Datos almacenados con éxito”

Paso 10. Guardando el proyectoGuarde el proyecto y todos los formularios en la carpeta “inventarios” dentro de “Mis Documentos”, donde inicialmente almacenó el archivo de la base de datos.

Cierre completamente visual basic y vuelva a abrir el proyecto desde el explorador de archivos, dando doble clic en el icono del proyecto llamado “Inventarios.vbp”.

Paso 11. Probando la aplicación

Ha llegado el momento de probar el programa y verificar si los datos se insertan correctamente. Primero que nada ejecutamos el programa. Si al momento de la ejecución aparecen errores, por favor regresé a los pasos anteriores y verifique que fue lo que hizó incorrectamente y corrijalo.

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 9 de 13

Page 10: Vb access

Al ejecutar el programa debe aparecer el formulario que diseñamos.

Si no escribimos el nombre o alguno de los demás datos nos aparecerá un mensaje de error como el siguiente, con esto podemos verificar que estamos haciendo la verificación de los datos obligatorios:

Escribimos los datos de un producto:

Nombre: Computadora Laptop

Costo: $12,500.00

Descripción: Computadora portatil con 350 GB de Disco Duro, 3 GB de memoria RAM, Pantalla LED de 14.1”, 2.5 Kg de peso.

Después de la captura el formulario deberia verse similar al siguiente:

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 10 de 13

Page 11: Vb access

Y al presionar el botón de “Guardar” debe aparecer el mensaje de aviso que los datos fueron almacenados con éxito.

Finalmente debemos abrir la base de datos de access 2007 para verificar que los datos capturados en el formulario se encuentran correctamente insertados en la tabla. Como lo ilustra la siguiente imagen.

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 11 de 13

Page 12: Vb access

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 12 de 13

Page 13: Vb access

Ejercicios

Elabore cada uno de los 5 siguiente programas. Cada programa deberá tener su propia base de datos y deberá insertar la información que se pide en cada caso. Se consideraran puntos adicionales si los programas incluyen campos adicionales a los incluidos en la lista de datos solicitados:

Agencia automotriz - Catálogo de automoviles

• Datos solicitados: marca, modelo, colores disponibles, cantidad de puertas, tamaño de rin, cantidad de cilindros, cantidad de kilometros por litro de combustible, precio al contado, caracteristicas adicionales, velocidad máxima.

Restaurante – Platillos del menú.

• Datos solicitados: Nombre del platillo, precio, lista de ingredientes principales, cantidad de calorias, se sirve en (desayuno, comida o cena).

Hospital – Ingreso de pacientes a urgencias

• Datos solicitados: Nombre del paciente, nombre del primer familiar responsable directo, telefono del primer familiar responsable directo, nombre del segundo familiar responsable directo, telefono del segundo familiar responsable directo, fecha y hora de ingreso al hospital, numero de seguro social, edad, sexo, descripción de los sintómas u observaciones de ingreso.

Floreria – Arreglos florales

• Datos solicitados: Nombre del arreglo, precio, tipo de flores que incluye, dimensiones (largo, ancho, alto), peso.

Sistema administrativo – Captura de clientes

• Datos solicitados: Nombre completo, RFC, Domicilio completo, fecha y hora de registro, tipo de persona (moral/fisica), teléfono, correo electrónico, comentarios adicionales.

Insertar datos en una base de datos Access 2007 desde Visual Basic Mayo 2010Daniel Martínez Ortiz http://danielmartinez236d.spaces.live.com 13 de 13