Escolar Documentos
Profissional Documentos
Cultura Documentos
Visual Basic tiene un conjunto de funciones que podremos usar. A continuacin veremos las ms representativas, si
bien hay muchas ms. Se aconseja ir a la ayuda para ampliar o profundizar sobre la cuestin
Palabras reservadas.
Rem: Nos permite incluir comentarios sobre el programa en medio del cdigo, la sintaxis es:
Rem Comentario
Adems, se puede conseguir lo mismo sin necesidad de escribir Rem, utilizando la comilla simple, es decir, la anterior
orden es equivalente a:
'Comentario
Observaremos como el editor de cdigo reconoce los comentarios ya que les aplica como color del texto el verde.
Exit Sub: Nos permite acabar la ejecucin del procedimiento en el que lo pongamos, y en punto del mismo donde se
halle situado.
End: Nos permite acabar la ejecucin del programa en el punto del mismo donde se halle situado.
Funciones.
MsgBox: Muestra un mensaje en un cuadro de dilogo, espera a que el usuario haga clic en un botn y devuelve un
tipo Integer correspondiente al botn elegido por el usuario.
Sintaxis
Parte Descripcin
prompt Requerido. Cadena que representa el prompt en el cuadro de dilogo. La longitud mxima de prompt
es de aproximadamente 1024 caracteres, segn el ancho de los caracteres utilizados.
buttons Opcional. Expresin numrica que corresponde a la suma de los valores que especifican el nmero y el
tipo de los botones que se pretenden mostrar, el estilo de icono que se va a utilizar, la identidad del
botn predeterminado y la modalidad del cuadro de mensajes. Si se omite este argumento, el valor
predeterminado para buttons es 0.
title Opcional. Expresin de cadena que se muestra en la barra de ttulo del cuadro de dilogo. Si se omite
title, en la barra de ttulo se coloca el nombre de la aplicacin.
helpfile Opcional. Expresin de cadena que identifica el archivo de Ayuda que se utiliza para proporcionar
ayuda interactiva en el cuadro de dilogo. Si se especifica helpfile, tambin se debe especificar
context.
context Opcional. Expresin numrica que es igual al nmero de contexto de Ayuda asignado por el autor al
tema de Ayuda correspondiente. Si se especifica context, tambin se debe especificar helpfile.
Valores
El primer grupo de valores (0 a 5) describe el nmero y el tipo de los botones mostrados en el cuadro de dilogo; el
segundo grupo (16, 32, 48, 64) describe el estilo del icono, el tercer grupo (0, 256, 512) determina el botn
predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensajes. Cuando se suman nmeros
para obtener el valor final del argumento buttons, se utiliza solamente un nmero de cada grupo.
Nota: Estas constantes las especifica Visual Basic para Aplicaciones. Por tanto, el nombre de las mismas puede
utilizarse en cualquier lugar del cdigo en vez de sus valores reales.
Valores devueltos
Comentarios
Cuando se proporcionan tanto helpfile como context, el usuario puede presionar F1 para ver el tema de Ayuda
correspondiente al context. Algunas aplicaciones como por ejemplo Microsoft Excel, tambin agregan automticamente
un botn Ayuda al cuadro de dilogo.
Si el cuadro de dilogo cuenta con un botn Cancelar, presionar la tecla ESC tendr el mismo efecto que hacer clic en
este botn. Si el cuadro de dilogo contiene un botn Ayuda, se suministra ayuda interactiva para ese cuadro de
dilogo. Sin embargo, no se devuelve valor alguno hasta que se hace clic en uno de estos botones.
Nota: Si se desea especificar ms que el primer argumento con nombre, se debe utilizar MsgBox en una expresin. Si
deseamos omitir algn argumento de posicin, debemos incluir el delimitador de coma correspondiente.
Ejemplo.
La siguiente orden genera un cuadro al cual le indicamos ttulo, texto, le ponemos tres botones: S, No y Cancelar.
Adems le incluimos el icono de pregunta:
InputBox: Muestra un mensaje en un cuadro de dilogo, espera que el usuario escriba un texto o haga clic en un botn
y devuelve un tipo String con el contenido del cuadro de texto.
Sintaxis
Parte Descripcin
prompt Requerido. Cadena que se muestra como mensaje en el cuadro de dilogo. La longitud mxima de
prompt es de aproximadamente 1024 caracteres, segn el ancho de los caracteres utilizados.
title Opcional. Expresin de cadena que se muestra en la barra de ttulo del cuadro de dilogo. Si omite
title, en la barra de ttulo se coloca el nombre de la aplicacin.
default Opcional. Expresin de cadena que se muestra en el cuadro de texto como respuesta
predeterminada cuando no se suministra una cadena. Si omite default, se muestra el cuadro de texto
vaco.
xpos Opcional. Expresin numrica que especifica, en twips, la distancia en sentido horizontal entre el
borde izquierdo del cuadro de dilogo y el borde izquierdo de la pantalla. Si se omite xpos, el cuadro
de dilogo se centra horizontalmente.
ypos Opcional. Expresin numrica que especifica, en twips, la distancia en sentido vertical entre el borde
superior del cuadro de dilogo y el borde superior de la pantalla. Si se omite ypos, el cuadro de
dilogo se coloca a aproximadamente un tercio de la altura de la pantalla, desde el borde superior de
la misma.
helpfile Opcional. Expresin de cadena que identifica el archivo de Ayuda que se utilizar para proporcionar
ayuda interactiva para el cuadro de dilogo. Si se especifica helpfile, tambin deber especificarse
context.
context Opcional. Expresin numrica que es el nmero de contexto de Ayuda asignado por el autor al tema
de Ayuda correspondiente. Si se especifica context, tambin deber especificarse helpfile.
Comentarios
Cuando se especifica tanto helpfile como context, el usuario puede presionar F1 para ver el tema de Ayuda
correspondiente a context. Algunas aplicaciones como por ejemplo, Microsoft Excel, tambin agregan
automticamente un botn Ayuda al cuadro de dilogo. Si el usuario hace clic en Aceptar o presiona Entrar , la
funcin InputBox devuelve lo que haya en el cuadro de texto. Si el usuario hace clic en Cancelar, la funcin devuelve
una cadena de caracteres de longitud cero ("").
Nota: Si deseamos especificar ms que el primer argumento con nombre, debemos utilizar InputBox en una expresin.
Si deseamos omitir algunos argumentos de posicin, debemos incluir el delimitador de coma correspondiente.
Ejemplo.
La siguiente orden genera un cuadro al cual le indicamos texto, ttulo y asignamos el texto que escriba el usuario a la
variable cadena:
Observar que como asignamos el resultado de la funcin InputBox a una variable, debemos encerrar los argumentos
entre parntesis.
Format: Visual Basic proporciona una gran flexibilidad a la hora de presentar formatos de nmeros, as como de fechas
y horas. Puede presentar con facilidad formatos internacionales de nmeros, fechas y horas.
La funcin Format convierte un valor numrico en una cadena de texto y le proporciona control sobre la apariencia de
la cadena. Por ejemplo, podemos especificar el nmero de decimales, los ceros a la izquierda o a la derecha y los
formatos de moneda. La sintaxis es:
Smbolo Descripcin
0 Marcador de posicin de dgito; imprime un cero a la izquierda o a la derecha en esa
posicin, si corresponde.
# Marcador de posicin de dgito; nunca imprime ceros a la izquierda ni a la derecha.
. Marcador de posicin decimal.
, Separador de millares.
- + $ ( ) espacio Carcter literal; los caracteres se presentan exactamente como estn escritos en la cadena
de formato.
Val: Devuelve el valor numrico de una cadena alfanumrica, solo convierte hasta que encuentra el primer carcter que
no es un nmero: Val(Cadena).
Propiedades comunes.
A continuacin veremos algunas propiedades comunes a la mayora de los controles, estas se podrn modificar desde
la vista formulario, con el control activado y en la ventana de propiedades:
Nombre: Nombre que deseemos asignar al objeto, es un identificador interno para el cdigo.
Caption: Habitualmente igual que el nombre del objeto, pero es la forma de identificar el objeto de cara al usuario, por
ejemplo, si tenemos un botn en nuestro formulario que al pulsarlo nos acabe la ejecucin, internamente le llamaremos
BotonSalir, pero basta con que le pongamos como Caption Salir, que es lo que ver el usuario.
Enabled: Slo admite dos valores: True o False, e indica si el control est o no activado.
Visible: Slo admite dos valores: True o False, e indica si el control est o no visible.
Ejemplo.
Crear un EXE estandar, llamar Ejemplo2 al formulario, al cual le insertaremos un botn en la parte inferior derecha,
ponerle como nombre BotonSalir y como Caption Salir ( si queremos que el usuario pueda activar el botn con la
combinacin de teclas ALT + S, deberemos anteponer a la letra S del caption el smbolo &).
A este botn le insertaremos cdigo de forma que cuando el usuario pulse, salga un cuadro por pantalla pidiendo
confirmacin para salir del programa, si el usuario pulsa S, debe acabar la ejecucin y si pulsa No, no debe hacer
nada.
Insertar otro botn en la parte inferior izquierda, ponerle como nombre BotonFecha y como Caption Fecha y hora del
sistema ( si queremos que el usuario pueda activar el botn con la combinacin de teclas ALT + F, deberemos
anteponer a la letra F del caption el smbolo &)
A este botn le insertaremos cdigo de forma que cuando el usuario pulse, imprima en el formulario la fecha en formato
largo, es decir, da de la semana, da, nombre del mes y ao con 4 cifras. Debajo debe imprimir la hora del sistema. El
formulario en diseo quedar:
Y la ventana de cdigo:
Observar que para continuar una lnea de cdigo en la siguiente, se utiliza despus de un espacio el guin bajo.
*VISUAL BASIC ACCESS*
El lenguaje Basic permite:
Las macros no permiten la mayora de estas cosas, y la mayora de las acciones de macros se pueden ejecutar
desde cdigo con el objeto (antes instruccin) DoCmd. Las macros son interesantes para crear prototipos de la
aplicacin con rapidez o hacer acciones sencillas que no entraen error; tambin hay algunas cosas que solo se
pueden hacer con macros (segn versiones).
MODULOS
El cdigo Visual se almacena en los mdulos de una base de datos de Access, en un fichero.mdb (en Visual
Basic en algo ms amplio que llamamos proyecto y que no tiene porque contener una base de datos).
Conviene no confundir la Base de datos con el cdigo o aplicacin que lo maneja aunque est contenida en el
mismo fichero.
Cada modulo contiene una Seccin de Declaraciones y a continuacin una serie de procedimientos.
La Seccin de declaraciones contiene la Instruccin Option Compare Database y puede contener otras como
Option Explicit, Option Base, declaraciones de variables, etc... que afectan al mdulo donde se encuentren estas
declaraciones.
Cada instruccin ocupa solo una lnea aunque una lnea puede contener varias siempre que estn separadas
por dos puntos (: ).
Mdulos de formulario o informe llamados LOCALES. Son privados de ese objeto y se crean y borran con
l ya que forman parte de su diseo; se les puede aadir procedimientos de evento o generales.
Mdulos GLOBALES. Son objetos independientes y sus procedimientos pueden ser llamados desde
cualquier sitio (expresiones, procedimientos, macros, etc. estn en ese u otro mdulo, sea local o global).
Para entrar en un modulo local basta seleccionar el objeto (formulario o informe) y pulsar la opcin Cdigo
del men Ver (tambin con el botn cdigo de la barra de herramientas o de iconos; otra de las formas es
Generar evento en el men de mtodo abreviado (el que se obtiene pulsando el botn derecho del ratn) para
ese objeto o para cualquiera de los controles contenidos en l.
PROCEDIMIENTOS
Hay dos tipos de procedimientos:
Si hay que modificar esa operacin solo ser necesario modificarla en un solo sitio.
Las operaciones pueden ser complejas (se podrn utilizar estructuras de control, variables, etc.
Se pueden controlar y recuperar los errores de ejecucin (errores runtime)
Se pueden incluir comentarios en el cdigo para documentarlo, aclararlo.
Los procedimientos de un mdulo local son privados (por eso puede haberlos con el mismo nombre en otro
mdulo local, nunca en el mismo) a no ser que se declaren pblicos (PUBLIC) mientras que los procedimientos de un
mdulo global son pblicos (y no puede haber otro procedimiento que se llame igual), a no ser que se declaren en l como
privados (PRIVATE).
Los procedimientos privados solo pueden ser llamados desde el correspondiente mdulo, mientras que los
pblicos pueden ser llamados desde cualquier mdulo.
Si hubiera dos procedimientos con el mismo nombre en dos mdulos distintos, Access primero lo buscara en
el modulo activo (local o global) y si no lo encontrara lo buscara en los mdulos globales (o en el resto de los
mdulos globales).
VARIABLES
Almacena valores fuera de las tablas. Tiene nombre y tipo y en algn caso se les puede asignar longitud
predeterminada.
Declaracin: Visual Access no obliga a declarar las variables sino que al usarlas simplemente Visual Access
las creara (declaracin implcita), pero con un tipo de datos (variant) que puede no ser conveniente.
CONVIENE DECLARAR las variables explcitamente para detectar errores de ejecucin y para documentar
el cdigo.
Las variables declaradas con DIM sern locales y dinmicas, es decir que son visibles en el procedimiento
donde se crearon y desaparecen al finalizar el procedimiento donde se crearon (distinto es que se puedan pasar
como parmetros a otros procedimientos).
Las variables declaradas con STATIC sern locales y estticas, es decir que son visibles en el procedimiento
donde se crearon pero NO desaparecen al finalizar el procedimiento donde se crearon, por lo que conservaran
el valor que tenan en la ocasin anterior.
Las variables declaradas como PUBLIC (antes GLOBAL) permitir que una variable pueda ser visible desde
cualquier procedimiento y no desaparezca hasta que finalice el programa.
NOTA: Todas estas ordenes permiten tambin crear matrices, determinar el tamao (segn casos) y clusulas
relacionadas con la programacin con objetos).
Ejecuta uno de varios grupos de instrucciones, dependiendo del valor de una expresin.
Sintaxis
Select Case expresin_prueba
[Case lista_expresionn
[instruccionesn]] ...
[Case Else
[instrucciones_else]]
End Select
** Se puede poner: Case 2 To 5 (como rango)
** O incluso una lista: Case 5,6,8,12,4
Estructuras de repeticin o bucles.
Do...Loop
Repite un bloque de instrucciones cuando una condicin es True o hasta que una condicin se convierta en
True.
Sintaxis
Do [{While | Until} condicin]
[instrucciones]
[Exit Do]
[instrucciones]
Loop
Las sentencias de control, denominadas tambin estructuras de control, permiten tomar decisiones y
realizar un proceso repetidas veces. Visual Basic dispone de las siguientes estructuras:
- If...Then
- If...Then...Else
- Select case
- For... Next
- While...Wend
- Do...loop
- Goto
Sentencia If
Permite tomar una decisin referente al camino a seguir o accin a ejecutar en un proceso basndose en el
resultado (verdadero o falso) de una condicin. Su sintaxis es: If condicin then accin1 [else accin2]
donde condicin debe ser una expresin numrica, relacional o lgica. Si la condicin es verdadera se
ejecuta la accin1 y si es falsa se ejecutar la accin2.
Sentencia SELECT
Esta expresin permite ejecutar una de varias acciones en funcin del valor de una expresin. Es una
alternativa a If... Then ... ElseIf cuando lo que se necesita es comprobar es la misma expresin con
diferentes valores. Su sintaxis es:
La sentencia for da lugar a un bucle que permite ejecutar un conjunto de sentencias cierto nmero de
veces. Su sintaxis es:
Un bucle While repite la ejecucin de un conjunto de sentencias mientras una condicin dada sea cierta. La
condicin se verifica antes de ejecutarse el conjunto de sentencias.
While condicion
[sentencias]
Wend
Donde condicin es cualquier expresin numrica, relacional o lgica. La ejecucin de la sentencia
While sucede as:
Un Loop(bucle) repite la ejecucin de un conjunto de sentencias mientras una condicin dada sea cierta, o
basta que una condicin dada sea cierta. La condicin puede ser verificada antes o despus de ejecutarse
el conjunto de sentencias:
Formato1 Formato2
Do
Do
[{While|Until}condicin]
[sentencias]
[sentencias]
[Exit do]
[Exit do]
[sentencias]
[sentencias]
Loop[{While|Until}condicin]
Loop
Sentencia Goto
Transmite el control a una lnea especfica del cdigo, identificada por una etiqueta o por un nmero de
lnea. Su sintaxis es:
Goto {etiqueta/n de lnea}
Si la lnea a la que se transfiere el control es una sentencia ejecutable, se ejecuta esa sentencia y las que le
siguen. Si no es ejecutable, la ejecucin se inicia en la primera sentencia ejecutable que se encuentra tras
dicha lnea. Por ejemplo, el siguiente procedimeinto calcula e imprime el rea de uno o ms crculos.