You are on page 1of 12

VARIABLES

Una variable contiene un valor que puede modificarse a los largo de la


ejecucin de la aplicacin. Tiene 3 atributos:
Nombre
Tipo
mbito
Ambito
Local
Modulo
Global

Declaracin
Dim, Static
Dim o Private
Public

CONSTANTES
Es un valor que no cambia durante la ejecucin de un programa.
FUNCION VAL
Convierte una cadena de caracteres en una cadena numrica
Minicalculadora elemental

OptionExplicit
PrivateSubcmdDiv_Click()
txtResult.Text=Val(txtOper1.Text)/Val(txtOper2.Text)
lblOp.Caption="/"
EndSub
PrivateSubcmdProd_Click()
txtResult.Text=Val(txtOper1.Text)*Val(txtOper2.Text)
lblOp.Caption="*"
EndSub
PrivateSubcmdResta_Click()
txtResult.Text=Val(txtOper1.Text)Val(txtOper2.Text)
lblOp.Caption=""
EndSub

PrivateSubcmdSuma_Click()
txtResult.Text=Val(txtOper1.Text)+Val(txtOper2.Text)
lblOp.Caption="+"
EndSub

SENTENCIAS DE CONTROL
Las sentencias de control, denominadas tambin estructuras de control, permiten tomar
decisiones y realizar un proceso repetidas veces. Son los denominados bifurcaciones y
bucles
Visual Basic 6.0 dispone de las siguientes estructuras de control:
If ... Then ... Else
Select Case
For ... Next
Do ... Loop
While Wend
For Each Next
Sentencia IF ... THEN ... ELSE ...
Esta estructura permite ejecutar condicionalmente una o ms sentencias y puede escribirse
de dos formas. La primera ocupa slo una lnea y tiene la forma siguiente:
If condicion Then sentencia1 [Else sentencia2]
La segunda es ms general y se muestra a continuacin:
If condicionThen
sentencia(s)
[Else
sentencia(s)]
End If

Si condicion es True (verdadera), se ejecutan las sentencias que estn a continuacin de


Then, y si condicion es False (falsa), se ejecutan las sentencias que estn a continuacin
de Else, si esta clusula ha sido especificada (pues es opcional).
Sentencia SELECT CASE
Esta sentencia permite ejecutar una de entre varias acciones en funcin del valor de una
expresin. Es una alternativa a If ... Then ... ElseIf cuando se compara la misma expresin
con diferentes valores. Su forma general es la siguiente:
Selec Case expresin_prueba
[Case lista_expresiones1
[bloque de sentencias 1]]
[Case lista_expresiones2
[bloque de sentencias 2]]
.
.

.
[Case Else
[bloque de sentencias n]]
End Select

Do...Loop
Utilice el bucle Do para ejecutar un bloque de sentencias un nmero indefinido de
veces. Hay algunas variantes en la sentencia Do...Loop, pero cada una evala una
condicin numrica para determinar si contina la ejecucin. Como ocurre con
If...Then, la condicin debe ser un valor o una expresin que d como resultado
False (cero) o True (distinto de cero).
En el siguiente ejemplo de Do...Loop, las sentencias se ejecutan siempre y cuando
condicin sea True:
Do While condicin
Sentencias
Loop

For...Next
Los bucles Do funcionan bien cuando no se sabe cuntas veces se necesitar ejecutar
las sentencias del bucle. Sin embargo, cuando se sabe que se va a ejecutar las
sentencias un nmero determinado de veces, es mejor elegir el bucle For...Next. A
diferencia del bucle Do, el bucle For utiliza una variable llamada contador que
incrementa o reduce su valor en cada repeticin del bucle. La sintaxis es la siguiente:
For contador = iniciar To finalizar [Step incremento]
Sentencias
Next [contador]
Los argumentos contador, iniciar, finalizar e incremento son todos numricos.
For Each...Next
El bucle For Each...Next es similar al bucle For...Next, pero repite un grupo de
sentencia por cada elemento de una coleccin de objetos o de una matriz en vez de
repetir las sentencias un nmero especificado de veces. Esto resulta especialmente til
si no se sabe cuntos elementos hay en la coleccin. He aqu la sintaxis del bucle For
Each...Next:
For Each elemento In grupo
Sentencias
Next elemento

Control Marco (Frame)


Este control permite agrupar otros controles para darle mayor funcionalidad a la
interfaz. Los controles Botones de Opcin necesariamente tienen que estar
agrupados por el control Marco. Para agrupar controles, dibuje primero el control
Marco y, a continuacin, dibuje los controles dentro de Marco.

Propiedades
Caption
Enabled
usuario.
Name
Visible

Ttulo de marco.
Determina si est habilitado para responder a las acciones del
Nombre del control.
Determina si el Marco y los controles que contiene estn visibles o no.

Control

Casilla

de

Verificacin

(CheckBox)

Las casillas de verificacin se utilizan para proporcionar al usuario opciones de tipo


Si/No o Verdadero/Falso. Cuando el usuario selecciona una opcin (activa la casilla),
aparece una marca de verificacin () dentro de la casilla.

Propiedades

Caption
Descripcin que acompaa a la casilla.
Enabled
True/False. Determina si est habilitado para responder a las
acciones del usuario.
Name
Nombre del control.
Value
0 Unchecked (Vaco, no marcado)
1 Checked (Marcado)
2 Grayed (Gris, Indefinido)
Visible
Determina si la casilla est visible o no.

Control

Botn

de

Opcin

(OptionButton)

Estos controles se utilizan para que el usuario seleccione una opcin de un grupo
opciones. La opcin seleccionada tiene un punto en el centro.

Propiedades

Caption
Descripcin que acompaa a la opcin.
Enabled
True/False. Determina si est habilitado para responder a las
acciones del usuario.
Name
Nombre del control.
Value
True/False, marcado o no marcado.
Visible
True/False. Determina si el botn est visible o no.

ARRAYS
Un array permite referirse a una serie de elementos del mismo tipo con un mismo nombre,
y hacereferencia un nico elemento de la serie utilizando uno o ms ndices, como un
vector o una matrizen lgebra.
ARRAYS DE CONTROLES
Un array de controles esta formado por controles del mismo tipo que comparten el nombre
y los
procedimientos o funciones para gestionar los eventos. Para identificar a cada uno de los
controles
pertenecientes al array se utiliza Index o ndice, que es una propiedad ms de cada control.
Suponiendo que el sistema tenga memoria suficiente un array en Windows 95/98/NT podra
llegar a
tener hasta 32767 elementos.
Para crear un array de controles basta crear el primero de ellos y luego hacer
Copy y Paste tantas veces como se desee, respondiendo afirmativamente al cuadro de
dilogo que
pregunta si desea crear un array.
Los arreglos de controles hace que el cdigo sea ms fcil de escribir y mantener
debido a que solo escribe un solo procedimiento de evento para todos los controles
pertenecientes al arreglo, el parmetro Index del procedimiento de evento determina
desde que control ocurri el evento.

Uso

del

control

Data

En Visual Basic puede utilizar el control Data para crear aplicaciones de


bases de datos para una gran variedad de formatos de base de datos. El
control Data interacta con el motor de base de datos Microsoft Jet y
permite crear aplicaciones preparadas para datos con la mnima
cantidad de cdigo posible.

Conceptos Bsicos acerca de las Bases de Datos


Tabla
Una tabla es un grupo lgico de informacin relacionada.

Registros

Un registro contiene informacin acerca de un solo ingreso en una tabla.


Generalmente, no se desea que dos registros en una tabla tengan los mismos datos.
Por ejemplo, un registro en la tabla Empleados contiene informacin acerca de un nico
empleado.

Campos
Cada campo en una tabla contiene una parte de la informacin. Por ejemplo, la tabla
Empleados incluye campos para el Id del empleado, Apellidos, Nombre, etc.

Trabajando con el Control Data


El control Data de Visual Basic permite escribir aplicaciones de bases de
datos muy eficaces con muy poco cdigo.
En esta parte se aprender a generar aplicaciones de bases de datos
con el control Data y el objeto Recordset asociado. Tambin se
aprender como el Asistente para Formularios de Datos puede construir
una aplicacin que incluye el control Data.

Establecer las Propiedades del Control Data


Los siguientes pasos describen como conectar un control Data a una
base de datos.
1.

2.

Especificar las base de datos a la cual se quiere acceder


estableciendo la propiedad DatabaseName al nombre de la base
de datos.
Para especificar que registros recuperar, establecer la propiedad
RecordSource al nombre de la tabla dentro de la base de datos, o a
una cadena SQL.

Nota: Para acceder a una base de datos dBase, Paradox, o Btrieve, se


debe establecer la propiedad DatabaseName a la carpeta que contiene
los archivos de la base de datos, y la propiedad Connect al tipo
apropiado de base de datos.

Enlazar Controles
Despus de establecer los valores de las propiedades para el control
Data, es necesario enlazar al control Data controles individuales y
despus especificar qu campo de la tabla mostrar cada control.
1.

En tiempo de diseo, establecer la propiedad DataSource del


control enlazado a datos al control Data.

2.

En tiempo de diseo o en tiempo de ejecucin, especificar que


campo se desea mostrar en el control enlazado estableciendo la
propiedad DataField.
La propiedad DataField puede ser establecida en tiempo de diseo
o en tiempo de ejecucin.

La Propiedad Recordset
La propiedad Recordset es un objeto que contiene el conjunto de
registros devueltos por el control Data. Esta propiedad contiene a su vez
propiedades y mtodos que pueden ser usados para trabajar con los
registros devueltos.

Qu es un Recordset?
Todo el conjunto de registros al que hace referencia un control Data se
denomina conjunto de registros o Recordset. El Recordset se
almacena en la memoria, transfirindose al disco si es necesario.
Para manipular el Recordset, se emplea la propiedad Recordset del
control Data. El Recordset contiene el registro actual. La informacin
del registro actual es mostrada por los controles enlazados. Se puede
cambiar la posicin del registro actual haciendo clic en el control Data o
escribiendo cdigo que emplee mtodos del objeto Recordset.

Determinar los lmites de un Recordset


Si utiliza cdigo para cambiar la posicin del registro actual, debe
comprobar las propiedades EOF y BOF del objeto Recordset para
determinar el inicio y el final del mismo. Cuando se desplace al registro
EOF o al BOF, se ejecutar la accin indicada por el valor de la
propiedad BOFAction o EOFAction.
Por ejemplo, se puede establecer la propiedad EOFAction para aadir
un nuevo registro automticamente. Si se establece la propiedad
EOFAction a EOF, ninguna accin ser tomada cuando se desplace al
registro EOF. Cuando se desplace pasando un registro los registros BOF

o EOF, se producir un error en tiempo de ejecucin.

En la siguiente ilustracin se muestra cmo las propiedades BOF y EOF


determinan los lmites del objeto Recordset.

Las Propiedades BOF y EOF


Las propiedades BOF y EOF del objeto Recordset indican si la posicin
del registro actual es antes del primer registro o despus del ltimo
registro dentro del conjunto de registros. Si no hay registros en el
recordset, entonces el valor de las propiedades BOF y EOF es True.

El Mtodo AddNew del Recordset


Para agregar un nuevo registro a un recordset, se emplea el mtodo
AddNew. Cuando se ejecuta el mtodo AddNew, Visual Basic limpia los
controles enlazados y establece la propiedad EditMode del control Data
a dbEditAdd.
El nuevo registro no ser aadido a la base de datos hasta que sea
ejecutado explcitamente un mtodo UpdateRecord o Update, o hasta
que el usuario se mueva a otro registro.
El siguiente cdigo muestra como agregar un nuevo registro a un
recordset.
Private Sub cmdAgregar_Click()
Data1.Recordset.AddNew

El Mtodo UpdateRecord del Control Data


El mtodo UpdateRecord se emplea para grabar el registro actual a
una base de datos. El siguiente cdigo muestra como grabar el registro
actual y actualizar la base de datos.
Private Sub cmdGrabar_Click()
Data1.UpdateRecord

El Mtodo CancelUpdate del Control Data


El mtodo CancelUpdate se emplea para cancelar un mtodo AddNew
o Edit y renovar o refrescar los controles enlazados con datos del
recordset.

Por ejemplo, si un usuario ha modificado los campos de un formulario,


pero todava no los ha actualizado, el mtodo CancelUpdate refrescar
los campos con los datos originales del recordset.
Si un usuario selecciona un botn Agregar de un formulario, y luego
decide no agregar el registro, el mtodo CancelUpdate cancelar la
operacin y visualizar el registro actual.
El siguiente cdigo muestra como cancelar la agregacin o edicin de un
registro.
Private Sub cmdCancelar_Click()
Data1.CancelUpdate

El Mtodo Delete del Recordset


Para eliminar un registro de una base de datos, se emplea el mtodo
Delete. El registro eliminado permanecer como el registro actual hasta
que el usuario se mueva a un registro diferente, como se muestra en el
siguiente cdigo.
Private Sub cmdEliminar_Click()
Data1.Recordset.Delete
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
End If
End Sub
PRACTICA

Private Sub cmdCerrar_Click()


End
End Sub
Private Sub cmdEliminar_Click()
res = MsgBox("Confirme que desea eliminar el registro", vbYesNo)
If res = vbYes Then
datProductos.Recordset.Delete
datProductos.Recordset.MoveNext
If datProductos.Recordset.EOF Then
datProductos.Recordset.MoveFirst
End If
End If
End Sub
Private Sub cmdGuardar_Click()
datProductos.UpdateRecord
End Sub
Private Sub cmdNuevo_Click()
datProductos.Recordset.AddNew
End Sub
'*********************************************************
************
Private Sub cmdAnterior_Click()
datProductos.Recordset.MovePrevious
If datProductos.Recordset.BOF Then
MsgBox "Llego al principio de los registros"

datProductos.Recordset.MoveLast
End If
End Sub
Private Sub cmdPrimero_Click()
datProductos.Recordset.MoveFirst
End Sub
Private Sub cmdSiguiente_Click()
datProductos.Recordset.MoveNext
If datProductos.Recordset.EOF Then
MsgBox "Final de registros"
datProductos.Recordset.MoveFirst
End If

End Sub
Private Sub cmdUltimo_Click()
datProductos.Recordset.MoveLast
End Sub

You might also like