Ya que tenemos lo esencial empezaremos a trabajar con ejemplos. y de ahí les pediré que me elaboren preguntas si tienen dudas.
dejen su comentario o manden sus aclaraciones a mi correo:
rigo_rdz_92@hotmail.com
Saludos
Programación VBA en Access
Ya que tenemos lo esencial empezaremos a trabajar con ejemplos. y de ahí les pediré que me elaboren preguntas si tienen dudas.
dejen su comentario o manden sus aclaraciones a mi correo:
rigo_rdz_92@hotmail.com
Saludos
Publicado por yashirorig el septiembre 3, 2012
https://todoaccessvba.wordpress.com/2012/09/03/informacion-3/
Además de las variables hay otra serie de elementos que manejan datos, como son las Constantes, procedimientos Sub, y Function, que son capaces de manejar datos de distintos tipos incluso, las funciones que devuelven datos.
Que tipos de datos podemos manejar:
Datos Numéricos
Existen 2 familias de datos numéricos, números enteros, y de coma flotante.
Como datos Enteres tenemos lo siguientes tipos:
Valor Inferior = 0
Valor superior = 255
Valor Inferior = -32.768
Valor superior = 32.767
Valor Inferior = -2.147.483.648
Valor Superior = 2.147.483.647
Números como Flotante(Números con Decimal)
Los números de cómo flotante son números que admiten valores no enteros.
Como datos de cómo flotante tenemos lo siguiente
Nombre Tamaño
En general estos son los tipos de datos de tipo decimal según su tamaño aumenta el numero en el que puede contener sus decimales. Al usar algún tipo de dato explicare en que consiste.
Publicado por yashirorig el septiembre 3, 2012
https://todoaccessvba.wordpress.com/2012/09/03/tipos-de-datos/
Una variable es un elemento del código que apunta a una dirección de memoria en donde se almacena un dato. Haciendo referencia ala variable se puede devolver el dato al que apunta e incluso modificarlo.
Las constantes son similares a las variables, solo que su contenido se le asigna en el momento en el que se declaran, y después no es posible cambiarlo.
Hay 3 cosas que debemos considerar en una variable:
Construcción del nombre de una variable o constante.
Nombre:
El nombre de una variable esta compuesto por caracteres ASCII.
Para su construcción hay indicar las siguientes reglas:
Publicado por yashirorig el septiembre 3, 2012
https://todoaccessvba.wordpress.com/2012/09/03/declaracion-de-variables/
En el capitulo anterior vimos lo procedimientos sub, otro de los tipos de procedimientos son las Funciones, que al igual que los procedimientos sub están delimitados por Function y End Function.
La principal diferencia entre un procedimiento sub y un procedimiento Function es que este ultimo devuelve un valor. Entre los delimitadores se escribe el código que va a realizar las tareas que deseemos y al final devolverá un valor, son las llamadas funciones.
Para declarar una Función empezaríamos, por ejemplo poniendo la palabra Public si quisiéramos que esta función sea accesible desde cualquier parte de Access, después la palabra Function, después el nombre de la Función, después del nombre abriríamos los paréntesis y pondríamos los parámetros que necesitáramos cerraríamos el paréntesis y finalmente pondríamos el tipo de datos que devolvería la función.
Supongamos que quisiéramos realizar una operación y que nos devolviera el resultado.
Esta seria la función:
Public Function Operacion(Valor1 As Double, Valor2 As Double) As Double
Operación = Valor1 * Valor2
End Function
Vamos aprobar esta Función en el formulario que hicimos anteriormente quitando el codigo que pusimos en el botón de comando cmdEjecutarProcedimiento, y colocando el siguiente.
Me.lblResultado.Caption = Operacion(Me.txtNumero1.value, Me.txtNumero2.value)
Quedando de esta manera
Private Sub cmdProcedimiento_Click()
Me.lblResultado.Caption = Operacion(Me.txtNumero1.value, Me.txtNumero2.value)
End Sub
Como podrán observar el código anterior ocupaba mas líneas de código para esta función solo ocupamos una. Tambien les comento este pequeño fragmento de código.
Me.txtNumero1.Value
En la parte Me., del código representa el formulario hace la referencia.
En la parte txtNumero1, representa el cuadro de texto que se encuentra en el formulario.
En la parte Value, representa el valor que contiene el cuadro de texto que se encuentra en el formulario.
Me.txtNumero1.Value, Entonces con el fragmento de código este, decimos que tomamos el valor del cuadro de texto que se encuentra en ele formulario actual.
Notaran que si ejecutan la función sin valores en los cuadro de texto aparecerá el siguiente mensaje de error.
Para esto existen dos funciones que podemos unir y evitar este error de valores nulos(campo vacío).
Para evitar este error que podemos hacer bueno, primero tenemos que convertir el valor del cuadro de texto a numérico, con la función Val(cadena), como se muestra en el ejemplo:
La funcion Val() permite convertir cualquier cadena a Numero.
Val(«23″) = lo convertiría a 23
Las comillas representan un valor cadena(String)
Pero que pasa si el al ejecutar la función Val() no tenemos nada generaría otro error de que no se tiene un valor numérico, entonces para eso existe la función Nz(Valor), esta función, opera así:
Nz(txtNumero1.value,»0»)
Aquí decimos que si el valor del cuadro de texto txtNumero1.Value es nulo(esta vacío), que le asigne el valor «0» de tipo cadena(String).
Entonces ya sabemos convertir un valor nulo a un tipo cadena, y una cadena que es numero, lo sabemos convertir a un valor numérico, como podríamos unir las dos funciones, ejemplo:
Val(Nz(txtNumero1.Value),»0″)
Aquí esta el ejemplo, el cual tiene el siguiente orden, es como las matemáticas primero se ejecutan el paréntesis que se encuentra adentro y después el de afuera.
Aquí primero se ejecuta la función Nz(txtNumero1.Value,»0″), porque?, porque primero tenemos que evaluar el valor del cuadro de texto txtNumero1, lo evaluamos y si es nulo(si esta vacío) entonces le ponemos la cadena numérica «0», porque cadena numérica?, porque una palabra no se puede convertir en un numero, pero un numero que esta como cadena si se puede convertir en numero, entonces decimos que si es nulo le aplicamos la cadena «0», al evaluar la función Nz(), entonces que nos queda no podemos multiplicar valores de cadena, lo que hacemos es convertirla a un valor numérico, ejemplo:
Val(Nz(txtNumero1.Value),»0″)
Aquí es cuando la convertimos, la conclusión es, la siguiente,
Si el valor del cuadro de texto txtNumero es nulo entonces ponle la cadena «0», pero no se puede multiplicar un valor cadena, entonces la convertimos a numero.
Publicado por yashirorig el agosto 30, 2012
https://todoaccessvba.wordpress.com/2012/08/30/113/
Un procedimiento Sub llamado también Procedimiento es un conjunto de código que realiza determinadas tareas, suele estar contenido entre las expresiones Sub y End Sub.
Como vimos en el ejemplo de Introducción:
Sub intro()
‘Declaramos una variable tipo cadena
Dim cadena As String
cadena = «Hola, el curso se llama CursoVBA»
‘Utilizamos la función Debug.Print para imprimir el contenido de cadena en la ventana inmediato
Debug.Print cadena
End Sub
Aquí vemos que el nombre del Procedimiento se llama intro dentro del procedimiento intro tenemos un pequeño codigo el cual le indicamos que declare una variable llamada cadena de tipo String y le asignamos un valor(«Hola, el curso se llama CursoVBA») el cual le pedimos que lo imprima en la ventana inmediato con la función Debug.Print cadena.
El termino de Sub puede ir precediendo de otras expresiones , por ejemplo para determinar el alcance en el que puede ser llamado el procedimiento.
Al procedimiento se le puede pasar una serie de datos para que lo use internamente, a esos datos se les llama Parámetros. Ejemplo
Sub Operación(Valor1 as Integer)
Dim Valor2 as Integer
Dim Resultado as Double
Resultado = Valor1 * Valor2
Debug.Print Resultado
End Sub
En el modulo conceptos escribimos el siguiente código:
Public Sub Multiplicación()
‘declaramos 2 variables de tipo entero, las variables enteras se declaran con Integer
‘declaramos 1 variable de tipo Double, para ver el resultado con decimales
Dim Valor1 As Integer
Dim Valor2 As Integer
Dim Resultado As Double
‘le asignamos valores a las variables enteras
Valor1 = 10
Valor2 = 15
‘hacemos la operación
‘aquí le decimos a la variable resultado que es igual ala multiplicación de las variables
‘valor1 y valor2
Resultado = Valor1 * Valor2
‘imprimimos el resultado
Debug.Print Resultado
End Sub
Si ejecutamos este código nos mostrara el resultado en la ventana inmediato.
Realizaremos el siguiente ejercicio de lo que hemos visto hasta ahora.
Pasos:
El código debe quedar de esta manera:
Option Compare Database ‘Aparecen por default
Option Explicit ‘Aparecen por default
Public Resultado As Double
Sub Operacion2(Numero1 As Double, Numero2 As Double)
Resultado = Numero1 * Numero2
Forms![Alcance]![lblResultado].Caption = Resultado
End Sub
El capitón cambia el texto que muestra la etiqueta, el Titulo
El código del botón de comando debe quedar de la siguiente manera:
Private Sub cmdProcedimiento_Click()
Call Operacion2(Me.txtNumero1, Me.txtNumero2)
End Sub
Imagen del Formulario:
Espero sus comentarios para resolver las dudas que tengan por si no me supe explicar o no me entendieron. Para poder seguir con el curso
Saludos
Publicado por yashirorig el agosto 29, 2012
https://todoaccessvba.wordpress.com/2012/08/29/procedimientos-sub/
Al declarar en la cabecera de un modulo una variable con Dim, o una constante con Const hacemos que esa variable y esa constante solo sean visibles desde dentro del código del modulo.
Para que puedan verse desde fuera es necesario ponerles la palabra Public , esto se hace de forma diferente para las variables y constantes como se muestra en el siguiente ejemplo.
Option Compare Database ‘Aparecen por default
Option Explicit ‘Aparecen por default
Public Const Pi As Double = 3.1416
Public Precio As Currency
Public Nombre As String
En el caso de la constante solo se le agrego la palabra Public al principio, porque?, porque tenemos que decirle que es constante la declaración de Pi, si no fuera constante solo se sustituye Dim por Public.
En el ejemplo con Currency hacemos que la variable Precio sea de tipo Moneda, un tipo de datos creado para manejar datos monetarios, con String hacemos que la variable Nombre sea tratada como una variable de tipo cadena, que permite manejar cadenas de caracteres.
Publicado por yashirorig el agosto 29, 2012
https://todoaccessvba.wordpress.com/2012/08/29/alcance-de-las-constantes-y-variables/
En este capitulo creamos un modulo y lo guardamos con el nombre de conceptos, después escribimos el siguiente código.
Option Compare Database ‘Aparecen por default
Option Explicit ‘Aparecen por default
Const Pi As Double = 3.1416
En esta ultima línea declaramos una constante llamada Pi del tipo Double(un valor numérico de cómo flotante de 8 bits) y le asignamos un valor a Pi que es 3.1416.
Al declarar una constante nos impide que en otro punto del modulo le reasignemos una valor, porque, porque pi actualmente lo declaramos con el valor de 3.1416 y como constante(Const), entonces esto quiere decir que no podemos hacer lo siguiente.
Pi = 30.25
Una constante es simplemente algo que no se puede cambiar.
Para declarar algo que si se pueda cambiar entonces recurrimos alas Variables.
Dim Precio As Currency
Dim Nombre As String
Mas adelante explicaremos String y Currency.
Publicado por yashirorig el agosto 29, 2012
https://todoaccessvba.wordpress.com/2012/08/29/conceptos/
Los módulos son los objetos en los que se guarda el código que va utilizar VBA.
Existen tres tipos de módulos:
Vamos a crear una base de datos con el nombre de CursoVBA.
Al crear el modulo vacío le deben aparecer las siguientes líneas de código:
Option Compare Database
Option Explicit
Si no aparece Option Explicit, vamos hacer lo siguiente:
Desde la ventana editor que se ha abierto presionamos la opción del menú:
Herramientas > opciones
Activamos la siguiente casilla:
Al terminar de hacer esto cerramos el modulo guardando los cambios y después eliminamos el modulo creado y creamos otro y veremos que ya aparecerá el Option Explicit.
Para nuestro primer ejemplo creamos un modulo y lo guardamos con el nombre Introducción, una vez echo esto colocamos el siguiente código:
Sub intro()
‘Declaramos una variable tipo cadena
Dim cadena As String
cadena = «Hola, el curso se llama CursoVBA»
‘Utilizamos la función Debug.Print para imprimir el contenido de cadena en la ventana inmediato
Debug.Print cadena
End Sub
Ejecutamos el código presionando F5 o al dar clic en el botón de play.
Este es un ejemplo sencillo mas adelante explicaremos como utilizar estos módulos en botones de comando, cuadros combinados, etc.
Publicado por yashirorig el agosto 29, 2012
https://todoaccessvba.wordpress.com/2012/08/29/los-modulos/
VBA quiere decir Visual Basic para Aplicaciones.
Es un conjunto de librerías desarrollado por Microsoft que incluye entre otras cosas un entorno de desarrollo y un lenguaje de programación.
VBA no es exclusivo de Access lo podemos encontrar también en todas las aplicaciones de Office como Word, Excel .
Publicado por yashirorig el agosto 29, 2012
https://todoaccessvba.wordpress.com/2012/08/29/que-es-vba/