Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se






descargar 131.41 Kb.
títuloHa llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se
página1/4
fecha de publicación03.10.2015
tamaño131.41 Kb.
tipoLección
m.exam-10.com > Documentos > Lección
  1   2   3   4
Diseño de Módulos

Ha llegado el momento de crear tus propios Módulos!. Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se almacenan juntos como una unidad. Aquí conocerás como declarar y utilizar tus propios procedimientos y funciones, y a hacer uso de las funciones predefinidas en Access. Aprenderás también a definir variables y a utilizar instrucciones y estructuras de control.

Te proponemos comenzar con un vistazo general de lo que significa la codificación en VBA pinchando en el siguiente vínculo de introducción al código de VBA.

Continuaremos avanzando con la codificación de VBA para abordar las estructuras de control e iteraciones, pincha en dicho vínculo para comenzar con dicho tema.
Otra característica que ofrece Access es una enorme cantidad de funciones prediseñadas listas para utilizar, te propongo que descubras todo el potencial de estas funciones pinchando en el vínculo funciones predefinidas.
Por último, te mostraremos unos ejemplo de uso de los módulo de Access, para ver de qué se trata te sugiero pinchar en el vínculo usos de módulos.
Ejercitación sugerida:
Te sugerimos ingresar al enlace Ejercitación Práctica nro. 9, donde encontrarás ejercicios prácticos para crear tus propias consultas utilizando SQL.

Una vez que hayas aprendido el tema, realiza esta autoevaluación para verificar tus conocimientos. Ten en cuenta que no puedes "entrar a mirar" la evaluación, cuando pinches en el enlace debes estar seguro de tus conocimientos, ya que entrar y salir, o suspender el examen te dificultará en el avance de los temas. Para cualquiera de estos casos ponte en contacto con el tutor de Contenidos del curso.
EJEMPLOS DE CÓDIGOS

Desde ya te estoy felicitando que hayas llegado hasta aquí luego de una gran paciencia al abordar estos temas.

En las páginas anteriores te hemos brindado una abundante cantidad de funciones y estructuras de programación que puedes aprovechar en la construcción de una aplicación de Access, pero hasta ahora no te hemos indicado como es posible aprovecharlas.

En un primer enfoque te indicamos como colocar un código en un formulario, pero también es posible ponerlo a disposición de todos los objetos de la base de datos mediante la utilización de los módulos. Los módulos son una colección de procedimientos y funciones que puedes programar para disponer en toda tu aplicación de Access. Si bien no es necesario que definas cada función en un módulo separado, resulta sumamente conveniente separar los módulos por categorías de usos, es decir, puedes programar todas aquellas funciones comunes en su tipo. Gracias a ello, es posible luego realizar un mantenimiento mucho más organizado; con ello quiero decir que posteriormente, tras haber pasado un cierto tiempo, casi con seguridad no recordarás qué, dónde y cómo habías escrito cada una de las funciones y procedimientos, pero si mantienes cierta organización este trabajo será mucho más simple.

Veamos entonces como puedes aprovechar una función confeccionada por ti para ser aplicada, por ejemplo, en una consulta de selección.

Supongamos que tienes que confeccionar una consulta para liquidar comisiones a vendedores por zona, podrías haber solucionado esto con consultas de tablas relacionadas, pero te mostraremos como puedes hacerlo mediante una función definida en un módulo.

Entonces como este código está definido en el módulo, es posible utilizarlo en una consulta o en un formulario.

Si observas en el diseño de la consulta tendrías las siguientes columnas.



Suponiendo que posees una tabla denominada “Ventas Comisiones” con las columnas Importe y Zona. En la tercer columna utilizas la función definida anteriormente con los argumentos de Importe y Zona Actualizar([Importe];[Zona]).

Como puedes notar, la función Actualizar, decide que porcentaje le corresponde a cada zona según la definición. Por otro lado tienes las diferentes estructuras mencionadas anteriormente y funciones.

El resultado de esta consulta podría ser el siguiente.



Observa como varía la salida de los valores de la comisión de acuerdo a los importes de las ventas, para los valores negativos no debemos liquidar comisión, es por ello que la función format se encargará de modificar estos valores.

Avanza a la siguiente página para mostrarte otro ejemplo

OTRO EJEMPLO DE CÓDIGO

Pasemos a otro ejemplo, ahora vamos a mostrarte como puedes combinar en un formulario, las características que hemos estado abordando hasta aquí, en estructuras, funciones, iteraciones, etc. Supongamos tienes que realizar un formulario en donde permita calcular el área de un polígono de n lados cuya longitud de cada lado sea b, entonces la fórmula necesaria será:



En el formulario colocamos dos cuadros de texto para solicitar el valor de n y de b, además un botón para calcular el área. Entonces, el formulario sería el siguiente.



Puedes notar que el mismo es sumamente sencillo aunque encierra una serie de características que te iremos mostrando a continuación. Veamos que sucede cuando se ingresan valores en los cuadros de texto.



Al hacer clic sobre el botón Calcular área se muestra al pie del formulario, el resultado del cálculo. Luego cuando colocas el cursor en alguno de los campos de texto observa lo que sucede.



Es decir, desaparece el resultado del cálculo. También hemos agregado algunos controles para evitar que se produzcan errores durante la ejecución; por ejemplo, si ingresas algún valor en cero e intentas realizar el cálculo del área, se muestra un mensaje de advertencia.



Ahora bien, te preguntarás ¿cómo es posible realizar estos comportamientos? Todo el código necesario se ha colocado en el mismo formulario y sería el siguiente.

Entonces al abrir el editor de VBA mediante la combinación de teclas Alt + F11 observarías el siguiente código.

Veamos el significado de cada procedimiento y función. Comenzaremos por el procedimiento Form_Load,estees un procedimiento especial que se ejecuta cuando se carga el formulario, por lo que será lo primero que realizará en el formulario y si observas detenidamente, lo que hacemos es inicializar los cuadros de texto al valor 0.

Luego tenemos el procedimiento calcular_area_Click, este procedimiento se realiza cuando pinchas sobre el botón Calcular área, pero antes de realizar el cálculo propiamente dicho, hacemos la verificación de que los datos ingresados sean mayores de cero If Val(Me.n) = 0 Or Val(Me.b) = 0 Then. En este caso hacemos referencia a los campos de texto mediante la expreción Me.n y Me.b donde n y b son los nombres de los campos de texto (podría haber sido cualquier otro nombre) y Me se utiliza para hacer referencia al formulario actual. A continuación, si todo es correcto, se calcula el área mediante la función AreaPoligono. Posteriormente se hace visible el cuadro de texto denominado resultado mediante la instrucción Me.resultado.Visible=True.

Si recuerdas, cuando colocas el cursor en algunos de los cuadro de texto, el resultado del área se hace invisible. Esto se logra mediante el control de los eventos n_GotFocus y b_GotFocus, como puedes notar en estos procedimientos, se coloca la visibilidad del control a falso.

En síntesis, con esto queríamos mostrarte que las posibilidades son extremadamente amplias, los límites serán únicamente tu imaginación y creatividad por lo que queda en tus manos probar todas las características según se cree la necesidad para ello.

ESTRUCTURAS DE CONTROL

Si todos los programas fueran totalmente secuenciales en la ejecución de las instrucciones la programación sería algo complicado de resolver para ciertas circunstancias que requieran modificar el flujo de este programa, es por ello que VBA y al igual que muchos otros lenguajes de programación incorporan diferentes tipos de instrucciones que permiten alterar el curso de la ejecución de los programas, nos referimos precisamente a las estructuras de control.

Las estructuras de control permiten tomar decisiones en el código según las cuales se ejecutarán ciertas partes del programa de acuerdo a dicha decisión.

Las instrucciones que permiten tomar decisiones son:

If...Then y

Select...Case

La primera de ellas resulta útil para evaluar pocas condiciones, es decir para evaluar el resultado de una expresión.

Supongamos que tenemos una función que permite calcular la altura de un cilindro a partir de su volumen y su radio, entonces la fórmula quedaría de la siguiente manera:

h= V/(pi * r^2)

Con ello queremos decir que antes de realizar el cálculo sería conveniente determinar que el radio ingresado a la función no sea igual a cero para que no provoque un error durante la ejecución y para ello utilizamos la estructura de control If..Then, de la siguiente manera:

Para este caso entonces, en primer lugar se verifica que el valor del radio sea mayor de cero y si ello se cumple realizamos el cálculo correspondiente, de lo contrario (Else) mostramos algún mensaje de error.

Ahora bien, si la cantidad de valores que hay que verificar se incrementa, podrías utilizar varios If anidados pero ello no es lo más conveniente, por eso VBA brinda la otra estructura de control que te habíamos indicado, es decir la Select...Case.

Veamos otro ejemplo en donde te mostraremos la necesidad de utilizar esta estructura de control; supongamos que de acuerdo a la categoría del empleado se realizan diferentes liquidaciones:

Entonces de acuerdo al valor que toma la variable strCodEmpleado, será el tipo de cálculo que se realice (no es relevante las fórmulas realizadas aquí, es sólo un ejemplo), te imaginas que construir esta estructura con If...Then se complicaría un poco, máxime si la cantidad de valores a evaluar son mucho más de los que mostramos en el ejemplo.

ITERACIONES CON BUCLES

Los bucles te permiten repetir un bloque de código hasta que se cumpla una cierta condición. VBA ofrece tres estructuras para estos casos, tales como:

Do...Loop

For...Next

For Each...Next

Veamos como se utiliza cada uno de ellos, comenzaremos por Do...Loop. Esta estructura puede aplicarse de tres maneras diferentes, una es evaluando la condición al principio del bucle, otra al final del bucle y la última es sin evaluar condición alguna.

Para el caso de la primera forma de uso, tienes la siguiente estructura de control.




Do While | Until condición

instrucciones

Exit Do

instrucciones

Loop

La segunda forma es con la condición al final del bucle.

Do

instrucciones

Exit Do

instrucciones

Loop While | Until condición

O bien sin evaluación de condición.

Do

instrucciones

Exit Do

instrucciones

Loop

La utilización de cada uno de ellos dependerá de la situación en particular de cada caso, pero como pautas generales tienes que en la primera forma, según la condición evaluada puede suceder que el bucle nunca se ejecute, mientras que en la segunda forma, el bucle se ejecutará al menos una vez y en la tercera forma puede suceder que el bucle se ejecute indefinidamente.

En las dos primeras formas puedes utilizar tanto la palabra While como Until antes de la condición, traducidas del inglés como puedes haberte dado cuenta (si tu inglés anda bien ;-)) significan Mientras y Hasta que respectivamente, es decir que al colocar While el bucle se repetirá mientras se cumpla la condición, por lo contrario, cuando colocas la palabra Until el bucle se repetirá hasta que se cumpla la condición. En síntesis ambas palabras hacen funcionar al bucle de manera diferente.

EJEMPLO DE ITERACIONES CON DO..LOOP

Te mostraremos un ejemplo de la primera forma de uso de la estructura de control Do..Loop. Supongamos que tienes que realizar la siguiente función, como por ejemplo, calcular el factorial de un número, entonces esta estructura sería justo lo que necesitamos para utilizar; la estructura sería la siguiente:

Si observas el código anterior, hemos colocado la evaluación de la condición al principio del bucle While x > 0 de manera tal que si el valor ingresado como argumento de la función es cero, el resultado del factorial será igual a 1, como dice su definición y directamente no ingresa al código dentro de la estructura, saltando a la línea siguiente a continuación del Loop.

De la misma manera podríamos haber confeccionado la misma iteración pero evaluando con la palabra Until con una sutil diferencia en la expresión que debemos evaluar como te mostramos a continuación.

Es decir, hemos cambiado por Until x = 0 que es algo diferente a la evaluación anterior, en el caso anterior decíamos que se repita el bucle mientras x sea mayor a cero y aquí decimos que se repita el bucle hasta que x sea igual a cero.

Ahora te mostraremos como podemos utilizar la evaluación de la condición al final del bucle haciendo algunas modificaciones sobre la función anterior para calcular el factorial de un número, entonces el código modificado sería:

Como puedes, notar seguimos con el mismo tipo de cálculo pero la condición la incluimos al final del bucle, es por ello que debimos modificar algunas líneas del código para que se obtuviera el mismo resultado final. Hemos agregado una nueva variable entera que denominamos Secuencia. A diferencia de los bucles anteriores, en vez de decrecer un valor hasta llegar a uno lo que hicimos es incrementar un valor hasta llegar al número del argumento que se ingresa a la función.

La última forma que habíamos mencionado es la de Do...Loop sin condiciones, en este modo podemos hacer que el bucle se realice indefinidamente, salvo que le indiquemos la salida del mismo mediante la instrucción Exit Do. En el siguiente ejemplo, la rutina no finaliza hasta que no se ingrese la palabra correcta.

Por supuesto que dicha construcción tranquilamente podrías haberla realizado con las otras formas de la estructura Do...Loop.

ITERACIONES CON LA ESTRUCTURA FOR...NEXT

En los casos anteriores, la cantidad de bucles que podían hacerse con las estructuras Do...Loop podían variar de acuerdo a la condición que las controla. Otros tipos de iteraciones se pueden utilizar cuando se sabe de antemano la cantidad de veces que debe realizarse cierta porción de código, tal es el caso de la estructura For...Next. Aquí se debe indicar el valor de comienzo y el valor de finalización del bucle. Veamos como es la estructura genérica de construcción del For..Next.
  1   2   3   4

Añadir el documento a tu blog o sitio web

similar:

Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se iconExplorando el medio ambiente de Visual Basic

Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se icon“ En algún momento nos equivocamos y estudiamos más la enfermedad...

Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se iconEnseñar a los estudiantes que para escribir bien una palabra se necesita:...

Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se iconSi el Tokata ha llegado a tus manos y estás fuera, ¡intenta que pase dentro! Marzo 2011

Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se iconLey para crear la “Ley para el Rescate de una Generación”, establecer...

Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se iconEs una colección de 3 tomos para los correspondientes ciclos de Educación Primaria

Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se iconUna resonancia magnética (RM) es un examen imagenológico que utiliza...

Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se iconAtrás quedaron los años de quedar como una momia luego de una cirugía...

Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se iconInforme para la reducción de módulos para el añO 2008 de coag-almeríA

Ha llegado el momento de crear tus propios Módulos! Un módulo es una colección de declaraciones y procedimientos de Visual Basic para aplicaciones que se iconBoe núm. 74,Martes 28 marzo 2006
«db-hs salubridad» especifica parámetros objetivos y procedimientos cuyo cumplimiento asegura la satisfacción de las exigencias básicas...






© 2015
contactos
m.exam-10.com