Click here to load reader
View
17
Download
0
Embed Size (px)
VBA 1
Unidad didáct ica 11
VBA
VBA (Visual Basic para Aplicaciones) es un lenguaje de programación creado por Microsoft para Office que incluye su propio entorno de desarrollo.
Esto no es un curso de Visual Basic. Se trata de comprender la utilización de este
lenguaje para generar diferentes procedimientos que asignaremos a eventos de objetos de nuestra base de datos.
Al finalizar el estudio de estas lecciones serás capaz de:
Conocer el entorno de desarrollo de Visual Basic.
Definir variables, expresiones y objetos.
Establecer propiedades a distintos objetos de Access.
VBA 2
Lección 1
Entorno de desarrol lo
Es el lugar en el que generamos los diferentes procedimientos y funciones que afectarán a los diferentes objetos de nuestra base de datos.
Podemos acceder a él seleccionando la ficha Herramientas de bases de datos, grupo Macro, opción Visual Basic.
VBA 3
La ventana de código
En ella podemos escribir y editar el código de Visual Basic.
Selector de “Objetos”
Muestra el nombre del objeto seleccionado. Si hacemos clic en el
“desplegable” se mostrarán todos los controles situados en el formulario.
Selector de “Procedimientos”
Muestra todos los eventos relacionados con el control seleccionado.
Los botones que se muestran en la esquina inferior derecha de la ventana
permitirán mostrar todos los procedimientos del módulo o únicamente el procedimiento seleccionado.
Ver procedimiento / Ver módulo completo
Explorador del proyecto
Muestra una lista de todos los proyectos y de los elementos de cada uno de ellos.
VBA 4
Ver código
Muestra la ventana de código asociada al elemento seleccionado.
Ver objeto
Muestra la ventana del objeto correspondiente al elemento seleccionado.
Alternar carpetas
Permite ocultar y mostrar las carpetas y los elementos que contienen éstas.
Propiedades
Muestra los valores de las propiedades del elemento seleccionado.
Cuadro de objetos
Es el desplegable que se encuentra en la parte superior y, en él, aparecen
todos los objetos del elemento seleccionado en el explorador de proyectos.
Lista alfabética
Muestra las propiedades del objeto ordenadas en orden alfabético.
Lista por categorías
Muestra las propiedades del objeto seleccionado agrupadas por categorías.
VBA 5
Ventana "inmediato"
Puedes mostrarla desde la opción “Ver/Ventana inmediato” y permite probar la
ejecución de instrucciones escribiendo la línea de código y pulsando la tecla “Enter”.
Barra de herramientas estándar
Esta barra incluye los típicos botones de cortar, copiar, pegar y buscar. La
posibilidad de deshacer y rehacer. Desde ella podemos mostrar u ocultar diferentes
paneles como el explorador de proyectos, propiedades y examinador de objetos.
Podemos crear nuevos procedimientos y guardarlos. También permite ejecutar el
procedimiento, interrumpir su ejecución y restablecerla.
VBA 6
Lección 2
Procedimientos y func iones
Son sucesiones de instrucciones que realizan diferentes tareas o calculan valores. Podemos clasificar los procedimientos en dos tipos…
Procedimientos Sub()
Realizan una serie de procesos pero no devuelven un valor. Las instrucciones van
comprendidas entre las expresiones Sub() y End Sub.
Proced01
Private Sub Comando0_Click()
MsgBox "Bienvenido"
End Sub
Fíjate que la ejecución del procedimiento se ha asignado automáticamente al
evento “Al hacer clic” del botón.
Resultado
Proced02
Tenemos un formulario con un botón de comando al que le hemos
asignado la ejecución del siguiente procedimiento al hacer clic en él.
VBA 7
Si quieres realizar el ejemplo…
Crea un formulario en vista “Diseño”.
Inserta un control del tipo “Botón de comando” (si quieres desactiva el “Asistente
para controles” puesto que la acción se la asignaremos de forma manual).
Pulsa el botón derecho del ratón sobre el “Botón de comando” insertado y
selecciona la opción “Generar evento”. En la ventana que aparece, elige “Generador
de código” y pulsa el botón “Aceptar”. Entrarás en el “Entorno de desarrollo” en el
que ya aparece el procedimiento asignado al evento “Al hacer clic” del botón. En la
posición en la que queda situado el cursor escribe la instrucción del ejemplo:
MsgBox "Bienvenido"
Cierra la ventana del “Entorno de desarrollo” y prueba.
El manejo del “Entorno de desarrollo” y sus diferentes paneles y componentes será
comentado en posteriores lecciones.
Procedimientos Function()
Este tipo de procedimientos se denominan genéricamente funciones y, devuelven
el valor resultante de una serie de cálculos o procesos. Las instrucciones estarán comprendidas entre las expresiones Function y End Function.
Funcion01
Tenemos un formulario con tres cuadros de texto (Precio,
Cantidad e Importe) y un botón de comando al que le asignaremos la ejecución de una función que calcule el importe.
VBA 8
La función sería:
Function CalculaImporte()
Importe.Value = Cantidad.Value * Precio.Value
End Function
Así como los procedimientos van directamente asignados a eventos, las funciones
serán creadas y, después asignadas al evento en el que queramos que se ejecuten.
Observa que, a la función le damos un nombre para poder hacer referencia a ella
en el momento que decidamos ejecutarla. Dicho nombre no podrá contener
espacios en blanco ni caracteres extraños. A continuación del nombre abriremos y
cerraremos paréntesis (en algunos casos escribiremos una serie de argumentos entre ellos).
Si quieres realizar el ejemplo…
Crea un formulario en vista “Diseño”.
Inserta tres controles del tipo “Cuadro de texto” y un botón de comando (a los
cuadros de texto les he puesto como nombre: Precio, Cantidad e Importe).
Accede al “Entorno de desarrollo” pulsando las teclas “Alt+F11” y escribe lo siguiente:
Function CalculaImporte()
Importe.Value = Cantidad.Value * Precio.Value
End Function
De momento no te preocupes por el contenido de la expresión (aunque, en este
caso es muy sencillo de entender). Ya comentaremos los conceptos de objeto, propiedad y método en próximas lecciones.
Una vez creada la función, cierra la ventana del “Entorno de desarrollo” y, vamos a
decidir el momento en el que se ejecutará. Pulsa el botón derecho del ratón sobre
el “Botón de comando” insertado en el formulario y selecciona la opción
“Propiedades”. Sitúate en el apartado “Eventos” y, en el evento “Al hacer clic”, escribe el nombre de la función precedido del signo “=”.
=CalculaImporte()
¡No te preocupes por las mayúsculas y minúsculas, a Access le da igual!
Ahora prueba a introducir el precio y la cantidad y pulsa el botón “Calcular” para comprobar que está todo correcto.
VBA 9
Lección 3
Var iab les
Podemos definir una variable como un contenedor en el que almacenamos cierta información para utilizarla posteriormente.
Proced01
Private Sub Comando0_Click()
dato = "Carlos"
MsgBox "Hola " + dato + ", Bienvenido"
End Sub
Hemos creado una variable a la que le hemos puesto como nombre “dato” y le
hemos asignado el valor “Carlos”. A continuación mostramos un cuadro de mensaje
en el que unimos texto y el contenido de la variable dato mediante el signo “+”.
Resultado
Variables01
Tenemos un formulario con un “Botón de comando” al que le hemos asignado la ejecución del siguiente procedimiento…
VBA 10
Nombre de variable
El nombre de la variable tiene que cumplir las siguientes condiciones…
No se pueden usar caracteres especiales de Access, como el punto, los paréntesis, la barra vertical o caracteres utilizados como operadores (+, -, /, *, ).
Debe empezar por una letra o por el carácter de subrayado “_”.
No puede contener espacios en blanco.
No se pueden utilizar palabras reservadas de VBA (for, if, integer…)
Puede tener hasta 255 caracteres.
No puede haber dos variables con el mismo nombre dentro del mismo procedimiento.
Para definir las variables que utilizaremos en el procedimiento utilizaremos la instrucción Dim, seguida del nombre de la variable y de su tipo de datos.
Tipos de datos
Al igual que en los campos, el tipo de datos permite establecer la clase de
información que se almacenará en la variable.
Numéricos
Existen dos grupos
Números enteros. Permite almacenar valores enteros. Sus tipos son:
Tipo Tamaño Valor inferior Valor superior
Byte 1 byt