Programación con Visual Basic y Access

Anuncio
Con este manual usted será capaz de crear una aplicación en visual Basic que contenga:
a) Base de datos en ACCESS 2003
a) conexión a datos por medio de DATAENVIRONMENT
b) crear DATAREPORT con DATAENVIRPNMENT
c) Botones de mantenimiento de registros como nuevo, modificar, guardar y eliminar
d) Botones de navegación de registros como último, siguiente, anterior y primero
CONSIDERACIONES:
Para el desarrollo de conexiones a visual Basic 6.0 con Access se recomienda guardar todo lo que se
desarrollara en una sola carpeta, la cuál al poner en ejecución la aplicación en Visual Basic tendrá que tener la
misma ruta siempre lo ejecute donde lo ejecute.
CREACION DE UNA BASE DE DATOS CON MICROSOFT ACCESS 2003
Para tal fin debe realizar lo siguiente:
• Arrancar Microsoft Access 2000.
• Seleccionar la orden Nueva. . . del Menú Archivo.
• Dentro del cuadro de diálogo Nueva, en la ficha General, seleccionar Base de datos y hacer clic en el
botón Aceptar.
• Ingresar un nombre para la base de datos. En seguida se mostrará una ventana similar a la siguiente:
1
• Enseguida cree una nueva tabla. Seleccione la opción tablas y haga doble clic en Crear tabla en vista
de diseño
• Introduzca el nombre, tipo y propiedades para cada campo:
2
• Luego, debe asignar a uno de los campos una clave principal ( se recomienda que sea el ID) de la
siguiente manera:
3
• Proceda a guardar la tabla:
De clic en serrar
4
Clic en si; poner el nombre de la tabla. Clic en Aceptar
5
• Por ultimo aparecera una ventana de a siguiente manera:
6
• De doble clic en
y proceda a llenar la tabla: (ejemplo)
Proceda a hacer el mismo proceso para cada una de las tablas que quiera en su base da datos.
VISUAL BASIC Y ACCESS
Ya que este realizada la base da datos como usted la deseó proceda a realizar la aplicación en Visual Basic:
Para realizar la UNA APLICACIÓN CONECTADA CON ALGUNA TABLA se debe hacer el siguiente
procedimiento:
• Abrir Visual Basic como normalmente lo hacemos
• Tener nuestra base da datos terminada.
Al terminar esta aplicación tendremos algo así:
7
HACER CONEXIÓN CON DATAENVIRONMENT:
Ya una vez abierto visual Basic de clic en
:
• Dar clic en la opción
Aparecerá un cuadro como el siguiente:
8
• Enseguida una vez seleccionada la conection1, (solo de clic sobre
) proceda a dar clic en el botón de la parte superior izquierda
Agregar comando.
• Aparecerá ahora algo así:
9
• Nota: si usted lo quiere puede cambiar el nombre de la conexión y del comando solo haga clic
derecho sobre el comando en el apartado propiedades y de esta manera cambiar su nombre; para
cambiar el nombre de la conexión de clic derecho y enseguida en cambiar nombre.
• Enseguida sobre
de clic en
y aparecerá una ventana como la siguiente:
10
• Seleccione la opción
enseguida de clic en
aparecerá un cuadro como el siguiente:
11
• A Continuación de clic en
deberá aparecer:
• Una vez que se hizo lo anterior deberá proceder ahora a las propiedades del
Comando creado bajo la conexión:
• Sobre el botón de comando
de la conexión creada
de clic derecho y después de clic en
aparecerá un cuadro como el siguiente:
12
• Posteriormente de clic en la pestaña
ahora aparecerá algo así:
• Enseguida una vez establecido lo anterior dar clic en
UNA VEZ HECHO EL PROCEDIMIENTO ANTERIOR APARECERA AHORA UNA VENTANA
PARECIDA A ESTA:
13
A continuación proceda a hacer lo siguiente.
• Tener un nuevo Form listo para usarse.
• Arrastre ahora el botón de comando al Form existente:(de clic en
y arrastre hasta en form sin soltar el botón izquierdo.)
En el Form en el cual arrastro el botón ahora aparecerá así:
14
De esta manera es como se hace una conexión de Visual Basic 6.0
y Microsoft Access 2003
por medio de DataEnvironment.
Ahora contrastada con el Form que esta al principio faltaría:
• Un navegador de registros (primero, siguiente, anterior y ultimo)
• Controles de mantenimiento de registros (nuevo, modificar, guardar, eliminar)
• botón para salir de la aplicación
• Botón de imprimir reportes
• Botón para buscar un registro.
Ahora procedemos a agregarlos:
• Un navegador de registros (primero, siguiente, anterior y ultimo)
15
Para integrar esto a nuestro formulario debemos insertar un Frame (si así usted lo prefiere, ya que no es
necesario) en el Frame proceda a insertar 4 Botones de Comando.
Para efectos que usted entienda lo siguiente los botones les pondré los siguientes nombres:
CmdPrimero
CmdAnterior
CmdSiguiente
CmdUltimo
Ahora inserte el siguiente código para:
CmdPrimero
Private Sub CmdPrimero_Click()
DataEnvironment1.rsCommand1.MoveFirst
End Sub
CmdAnterior
Private Sub CmdAnterior_Click()
DataEnvironment1.rsCommand1.MovePrevious
If DataEnvironment1.rsCommand1.BOF Then
DataEnvironment1.rsCommand1.MoveFirst
MsgBox "Estamos en el primer registro"
End If
End Sub
CmdSiguiente
Private Sub CmdSiguiente_Click (Index As Integer)
DataEnvironment1.rsCommand1.MoveNext
DataEnvironment1.rsCommand1.EOF Then DataEnvironment1.rsCommand1.MoveLast
MsgBox "Estamos en el último registro"
End If
16
End Sub
CmdUltimo
Private Sub CmdUltimo_Click()
DataEnvironment1.rsCommand1.MoveLast
End Sub
• Controles de mantenimiento de registros (nuevo, modificar, guardar, eliminar
Una vez establecido lo anterior se procederá ahora a insertar Controles para el mantenimiento de registros.
Para esto también se recomienda usar un Frame y ahora le pondré los siguientes nombres:
CmdNuevo
CmdEditar
CmdGuardar
CmdEliminar
Ahora insertaremos el siguiente código para cada uno de los botones de comando:
CmdNuevo
Private Sub CmdNuevo_Click()
DataEnvironment1.rsCommand1.AddNew
ModoEditar True
End Sub
CmdEditar
Private Sub CmdEditar_Click()
ModoEditarComven True
End Sub
17
CmdGuardar
Private Sub CmdGuardar_Click()
If MsgBox("¿desea guardar los cambios?", _
vbQuestion + vbYesNo, "Pregunta") = vbYes Then
MsgBox ("guardado")
DataEnvironment1.rsCommand1.Update
ModoEditar False
End If
End Sub
CmdEliminar
Private Sub CmdEliminar_Click()
If MsgBox("¿esta seguro de eliminar este registro?", _
vbQuestion + vbYesNo, "Pregunta") = vbYes Then
DataEnvironment1.rsCommand1.Delete
MsgBox ("eliminado")
DataEnvironment1.rsCommand1.MoveFirst
Else
DataEnvironment1.rsCommand1.Cancel
If DataEnvironment1.rsCommand1.EOF Then
DataEnvironment1.rsCommand1.MoveLast
End If
End If
End Sub
El siguiente codigo sirve solo para avilitar el ModoEditar que fue usado antes
Private Sub Form_Activate()
ModoEditarComven False
18
End Sub
Private Sub ModoEditarComven(ByVal Ok As Boolean)
txtidProducto.Locked = Not Ok: txtNombreProducto.Locked = Not Ok: txtFechaCompra.Locked = Not
Ok: txtCantidad.Locked = Not Ok: txtPrecio.Locked = Not Ok
CmdNuevo.Enabled = Not Ok: CmdEditar.Enabled = Not Ok
CmdGuardar.Enabled = Not Ok: CmdEliminar.Enabled = Not Ok
txtidProducto.SetFocus
End Sub
• Botón para salir de la aplicación
Para salir de la aplicación inserte el siguiente código en un botón de comando (en este caso lo denominaremos
CmdSalir)
Private Sub CmdSalir_Click()
If MsgBox ("¿Desea terminar la aplicación?", _
vbQuestion + vbYesNo, "Pregunta") = vbYes Then
End
Else
Cancel = True
End If
End Sub
• Botón de imprimir reportes
Antes de insertar el código de este botón tenemos que saber crear reportes. Pera esta opción crearemos
reportes en Visual Basic 6.0 de la siguiente manera:
• Dar clic en
enseguida en la opción
aparecerá una ventana así:
19
• Después del DataEnvironment ya creado se deben de arrastrar cada uno de los campos que en botón
de comando se tengan en la parte Detalle (seleccion1) del DataReport:
20
Al arrastrar cada campo se tendrán 2 etiquetas por cada campo:
Es recomendable que la etiqueta que tiene 2 puntos se coloque en la parte Encabezado de pagina (Seccion2)
para darle mejor presentación al reporte.
Una vez que ya se haya arrastrado cada uno de los campos al ejecutar el DataReport se tendrá algo semejante
a:
El código para mostrar el DataReport desde otro formulario es:
Private Sub CmdImprimir_Click()
DataReport1.Show
End Sub
NOTA: Antes de ejecutarse se tienen que establecer las siguientes propiedades del DataReport:
21
SI NO SE ESTABLECEN ESTAS PROPIEDADES CORRECTAMENTE EN EL MOMENTO DE
EJECUTAR EL DATAREPORT SE TENDRA UN ERROR:
• Botón Para Buscar un registro:
Establecemos un comando el cual nombrare CmdBuscar el cual tiene el siguiente código:
Private Sub CmdBuscar_Click()
Dim No_producto As String
DataEnvironment1.rsCommand1.MoveFirst
22
'antes de buscar hay que posicionarse en el primer registro
'ahora pedimos el no de producto y lo almacenamos
No_producto = InputBox("Escriba el no de producto a buscar!!")
If No_producto <> "" Then
'hacemos la búsqueda
DataEnvironment1.rsCommand1.Find "[IdProducto]=" & No_producto
'le decimo ke busqye poe el campo Improducto
`solo si no se encontró nada pues le avisamos
If DataEnvironment1.rsCommand1.EOF Then
MsgBox "No se encontró el pedido"
DataEnvironment1.rsCommand1.MoveFirst
End If
End If
End Sub
De clic para buscar la ubicación de su base de datos
Por ultimo dar clic
Nombre del comando
Nombre de la conexión
Dar clic y seleccionar la opción TABLA
Seleccionar la tabla deseada
Dar clic y seleccionar la opción 3−Optimistic
Campos de la tabla seleccionada
Campos de la tabla seleccionada
Aquí se deben de poner el nombre de cada TextBox en el formulario (en este caso el de productos)
Aquí se deben de poner los nombres de los comandos de mantenimiento
Esto es para mandar el foco al primer TextBox (en este caso es txtProducto)
23
Campos del DataEnvironment ya creado
arrastrar
Etiqueta añadida en vista de diseño
DataEnvironment al cual hace referencia
Nombre del comando del DataEnvironment al cual hace referencia
24
Nombre del campo por el cual se quiere buscar
25
Descargar