Está en la página 1de 80

1

Curso Visual Basic 6.0 Nivel Bsico


Ejemplo1-1

Aplicacin Cronometro. Dibujando los controles.

1. Iniciar un Nuevo Proyecto
2. Coloca tres botones de comandos y seis etiquetas en el formulario.
Distribyelas de acuerdo a la siguiente ilustracin.



Establecer las propiedades de un objeto en tiempo de diseo.

Cada formulario y control tienen propiedades asignadas por defecto cuando se
inicia un nuevo proyecto. Hay dos maneras de desplegar las propiedades de un
objeto:
La Primera es Seleccionar el objeto y despus en la ventana de
propiedades buscar la propiedad a modificar
La segunda es seleccionar del cuadro combinado de la ventana de
propiedades el objeto y despus modificar las propiedades desde la
misma ventana.

Las propiedades en esta ventana se encuentran ordenadas alfabticamente.
Una propiedad muy importante de cada objeto es la propiedad name(Nombre).

Los programadores en Visual Basic utilizan una convencin para nombrar a cada
uno de los objetos de un proyecto, est convencin usa las tres primeras letras
como prefijo dependiendo del objeto, seguidas de un nombre que uno asigne, por
ejemplo:


Objeto Prefijo Ejemplo
Form frm FrmCronometro
Command Button cmd, btn CmdSalir, btnIniciar
Label lbl LblIniciar, LblFinalizar
Text Box txt txtTime, txtName
Menu mnu mnuExit, mnuSave
Check box chk chkChoice

Instructor : Ing. Francisco Torres Hernndez 2
Curso Visual Basic 6.0 Nivel Bsico
Los nombres de objetos pueden ser de hasta 40 caracteres de largo, deben
iniciar con una letra, pueden contener letras, nmeros y el carcter de
subrayado bajo. Los nombres son utilizados al establecer las propiedades en
tiempo de ejecucin y tambin para establece los nombres de los eventos de
los objetos.


Estableciendo las propiedades en tiempo de ejecucin

Se Pueden establecer las propiedades en tiempo de ejecucin siguiendo la
sintaxis:

ObjectName.Property =NewValue

Como por ejemplo el cambio de la propiedad (BackColor- Color de Fondo) de
un formulario FrmStar, al color azul , quedara de la siguiente manera.

frmStart.BackColor =BLUE



Instructor : Ing. Francisco Torres Hernndez 3
Curso Visual Basic 6.0 Nivel Bsico
Ejemplo1-2

Aplicacin Cronometro- Establecer las propiedades

1. Set properties of the form, three buttons, and six labels:

Form1:
BorderStyle 1-Fixed Single
Caption Aplicacin Cronometro
Name frmStopWatch

Command1:
Caption &Iniciar la cuenta
Name cmdIniciar

Command2:
Caption &Terminar de contar
Name CmdTerminar

Command3:
Caption &Salir
Name CmdSalir

Label1:
Caption Hora Inicial

Label2:
Caption Hora Final

Label3:
Caption Tiempo Transcurrido

Label4:
BorderStyle 1-Fixed Single
Caption En Blanco
Name LblIniciar

Label5:
BorderStyle 1-Fixed Single
Caption [Blank]
Name LblFinalizar


Instructor : Ing. Francisco Torres Hernndez 4
Curso Visual Basic 6.0 Nivel Bsico
Label6:
BorderStyle 1-Fixed Single
Caption [Blank]
Name lblTranscurrido



2. El formulario debe verse as en estos momentos:



Variables

Las Variables son usadas por VB para guarder informacin necesaria para la
aplicacin.

No pueden ser de ms de 40 caracteres de longitud
Pueden incluir letras, digitos y el caracter de subrayado bajo(_)
El primer caracter debe ser una letra
No pueden usarse palabras reservadas.


Algunos prefijos de los tipos de datos de Visual Basic

Boolean None
Integer %
Long (Integer) &
Single (Floating) !
Double (Floating) #
Currency @
Date None
Object None
String $
Variant None

Instructor : Ing. Francisco Torres Hernndez 5
Curso Visual Basic 6.0 Nivel Bsico


Declaracin de Variables

Las formas utilizadas en Visual Basic para declarar las variables son

1. Por Defecto (Variant)
2. Implicitas (MiNombre$)
3. Explicitas (Dim MiNombre as String)

Ejemplo del alcance de las variables

Module1
Global X as Integer

Form1 Form2
Dim Y as Integer Dim Z as Single

Sub Routine1() Sub Routine3()
Dim A as Double Dim C as String
. .
. .
End Sub End Sub

Sub Routine2()
Static B as Double
.
.
End Sub


Procedure Routine1 Tiene acceso aX, Y, y A (Pierde su valor al
terminar)
Procedure Routine2 Tiene acceso aX, Y, y B (conseva su valor)
Procedure Routine3 Tiene acceso aX, Z, y C (Pierde su valor)



Instructor : Ing. Francisco Torres Hernndez 6
Curso Visual Basic 6.0 Nivel Bsico
Ejemplo1-3

Aplicacin Cronometro- Aadiendo el cdigo


1. Realiza doble clic en cualquier parte del formulario para que se cargue la
ventana de cdigo.

2. En la ventana de cdigo selecciona el objeto General y la seccin
declaraciones.

3. y declara tres variables



La lnea Option Explicit forza al PROGRAMADOR a declarar todas las
variables que se usaran.

4. Selecciona el objeto CmdIniciar en el cuadro combinado de objetos. Aparecer
por defecto las Lneas que inician con Sub y End Sub. Escribe el cdigo que
se ilustra en la figura.

Private Sub cmdIniciar_Click()
IniciarReloj = Now
LblIniciar.Caption = Format(IniciarReloj, "hh:mm:ss")
LblFinalizar.Caption = ""
LblTranscurrido.Caption = ""
End Sub
5. En este procedimiento, una vez que se ha pulsado el botn de iniciar, se lee
la hora actual y se escribe en la caja de texto. Adems se colocan el blanco
las otras etiquetas.
6. El cdigo para el botn terminar
Private Sub cmdTerminar_Click()
TerminarReloj = Now
TiempoTranscurrido = TerminarReloj - IniciarReloj
LblFinalizar.Caption = Format(TerminarReloj,
"hh:mm:ss")
LblTranscurrido.Caption = Format(TiempoTranscurrido,
"hh:mm:ss")
End Sub


Instructor : Ing. Francisco Torres Hernndez 7
Curso Visual Basic 6.0 Nivel Bsico
Cuando el botn es presionado se guarda en la variable la hora actual y se
Procede a realizar el calculo aritmetico del tiempo transcurrido.

7. El Cdigo del botn CmdSalir.

Private Sub cmdSalir_Click()
End
End Sub

8. Verifica que el cdigo que has escrito sea correcto, de cualquier forma Visual
Basic y ate habr hecho notar en caso de un error.

9. Ejecuta la aplicacin.

10. Guarda la aplicacin.


Instructor : Ing. Francisco Torres Hernndez 8
Curso Visual Basic 6.0 Nivel Bsico

Curso VB Nivel Bsico FTH
I Id de ea as s p pa ar ra a m me ej jo or ra ar r l la a a ap pl li ic ca ac ci i n n

A. Cambiar el color de fondo del formulario, las Fuentes y tamaos de
los textos de los botones de comando y las etiquetas.

B. Nota que cuando el usuario pulsa el botn Terminar cuenta, el
usuario puede no haber hecho click en el botn para iniciar, o
viceversa. Modifica el comportamiento, de manera que solo se
pueda terminar, cuando se haya pulsado el botn Iniciar. Tip: Ver la
propiedad Enabled.

C. Mostrar continuamente el tiempo transcurrido. Cada Segundo. TIP
Utiliza el Control Timer.


Instructor : Ing. Francisco Torres Hernndez 9
Curso Visual Basic 6.0 Nivel Bsico
Ejercicio 1

Calendario / Hora

Disea una pantalla que despliegue el mes actual, el da, el ao. Tambin deber
desplegar la hora actual, actualizndose cada segundo. Procura realizar el
formulario para que se vea como una pgina del calendario.

La solucin Propuesta (Siempre Puede Mejorarse)

Form:

















timReloj
lblyear
lblDiaMes
LblMes
LblHora
lblDia
El nombre del formulario es frmAgenda
Cdigo auxiliar:

Pr i vat e Sub timReloj_Timer()
Di mHoy As Var i ant
Hoy = Now l a f echa y hor a act ual es
l bl Di a. Capt i on = For mat ( Hoy, " dddd" )
l bl Mes. Capt i on = For mat ( Hoy, " mmmm" )
l bl Year . Capt i on = For mat ( Hoy, " yyyy" )
l bl Di aMes. Capt i on = For mat ( Hoy, " d" )
l bl Hor a. Capt i on = For mat ( Hoy, " h: mm: ss ampm" )
End Sub



Instructor : Ing. Francisco Torres Hernndez 10
Curso Visual Basic 6.0 Nivel Bsico
Ejemplo 2-1

Cuenta de Ahorros

1. Inicia un n Nuevo proyecto. La idea de este proyecto es determiner cuanto
ganars haciendo depsitos mensuales a una cuenta de ahorros. Para
calcularlo usaremos la siguiente frmula.


F =D [ (1 +I)
M
- 1] / I

donde

F Monto final
D Cantidad de los depsitos mensuales
I Porcentaje de interes mensual
M Numero de meses.

2. Coloca cuatro etiquetas, 4 cajas de texto y 2 botones de comandos en el
formulario. Procura darle el siguiente aspecto.






Instructor : Ing. Francisco Torres Hernndez 11
Curso Visual Basic 6.0 Nivel Bsico
3. Establece los nombres de las propiedades a los objetos.

Form1:
BorderStyle 1-Fixed Single
Caption Cuenta de Ahorros
Name frmCuentaAhorros

Label1:
Caption Deposito mensual

Label2:
Caption Interes anual

Label3:
Caption Numero de meses

Label4:
Caption Saldo final

Text1:
Text [Blank]
Name txtDeposito

Text2:
Text [Blank]
Name txtInteres

Text3:
Text [Blank]
Name txtMeses

Text4:
Text [Blank]
Name txtFinal

Command1:
Caption &Calcular
Name cmdCalcular

Command2:
Caption &Salir
Name cmdSalir


Instructor : Ing. Francisco Torres Hernndez 12
Curso Visual Basic 6.0 Nivel Bsico
Ahora el formulario debe verse as.



4. Declara las siguientes variables en la seccin general.

Option Explicit
Dim Deposito As Single
Dim Interes As Single
Dim Meses As Single
Dim Final As Single

La sentencia Option Explicit indica al compilador que todas las variables
deban declararse previamente para su possible uso.
5. Attach code to the cmdCalculate command button Click event.
Private Sub cmdCalcular_Click()
Dim IntRate As Single
Dim IntNew As Single
Dim Fcn As Single, FcnD As Single
Deposito = Val(txtDeposito.Text)
Interes = Val(txtInteres.Text)
IntRate = Interes / 1200
Meses = Val(txtMeses.Text)
Final = Deposito * ((1 + IntRate) ^ Meses - 1) /
IntRate

txtFinal.Text = Format(Final, "#####0.00")
End Sub

Instructor : Ing. Francisco Torres Hernndez 13
Curso Visual Basic 6.0 Nivel Bsico

Este cdigo lee los tres valores introducidos en las cajas de texto, calcula el
saldo final usando la frmula proporcionada y coloca el resultado en la misma.

Instructor : Ing. Francisco Torres Hernndez 14
Curso Visual Basic 6.0 Nivel Bsico


6. Agrega el siguiente cdigo al evento Click del botn cmdSalir.

Private Sub cmdSalir_Click ()
End
End Sub

7. Revisa el proyecto ejecutndolo y no olvides guardar todos tus archivos.


Instructor : Ing. Francisco Torres Hernndez 15
Curso Visual Basic 6.0 Nivel Bsico
Ejemplo 2-2

Cuenta de Ahorro- Utilizacin del evento KeyPress

En este ejemplo veremos la utilizacin del Evento KeyPress para determinar la
validez de los datos introducidos por el usuario. Las cajas de texto nicamente
podrn aceptar los digitos del 0 al 9, el punto decimal y la tecla de borrado
(Backspace)

1. Los valores ASCII aceptados son los cdigos 48 (Dgito cero) al 57 (digito
Nueve), el nmero 46 que corresponde al punto decimal y el nmero 8 que
es la tecla Backspace. Para estos valores usaremos constantes que estan
disponibles excepto por el carcter del punto decimal, es por esto que
necesitamos declarar una nueva constante, en la seccin General

Const vbKeyDecPt = 46

2. Aade el cdigo siguiente al evento KeyPress de la caja de texto txtDeposito.
Private Sub txtDeposit_KeyPress (KeyAscii As Integer)
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii
=
vbKeyDecPt Or KeyAscii = vbKeyBack Then
Exit Sub
Else
KeyAscii = 0
Beep
End If
End Sub



En la sentencia If la sentencia se rompe , esto es debido a las
caractersticas del procesador de textos, pero recuerda que forman una
sola sentencia.

3. No olvides agregar el cdigo de validacin de teclas a las otras dos cajas de
texto.

Instructor : Ing. Francisco Torres Hernndez 16
Curso Visual Basic 6.0 Nivel Bsico

Ejercicio 2-1

Calculando la media y la desviacin estndar.
La facultad de estadstica de la universidad desea una aplicacin en
ambiente Windows que permita de una manera rpida y eficiente al usuario la
introduccin de una secuencia de nmeros y muestre la media y la desviacin
estndar.

La formula para el calculo de la media es la siguiente:
x =( )/ N x
i
i
N
=

1

Y la formula para la desviacin estndar est dada por

s
2
=[N - ( ) x
i
i
N
2
1 =

x
i
i
N
=

1
2
]/[N(N - 1)]




El Formulario propuesto:





lblNumero Label1
Label2
TxtEntrada
cmdAceptar
cmdCalcular
cmdNueva
cmdSalir
Label6
lblMedia
Label4
lblStdDesv



Instructor : Ing. Francisco Torres Hernndez 17
Curso Visual Basic 6.0 Nivel Bsico
Properties:

Form frmStats:
Caption =Mean and Standard Deviation

CommandButton cmdSalir:
Caption =&Salir

CommandButton cmdAceptar:
Caption =&Aceptar el Numero

CommandButton cmdCalcular:
Caption =&Calcular

CommandButton cmdNueva:
Caption =&Nueva Secuencia

TextBox txtEntrada:
FontName =MS Sans Serif
FontSize =12

Label lblStdDesv:
Alignment =2 - Center
BackColor =&H00FFFFFF& (White)
BorderStyle =1 - Fixed Single
FontName =MS Sans Serif
FontSize =12

Label Label6:
Caption =Desviacin estndar

Label lblMedia:
Alignment =2 - Center
BackColor =&H00FFFFFF& (White)
BorderStyle =1 - Fixed Single
FontName =MS Sans Serif
FontSize =12

Label Label4:
Caption =Media


Instructor : Ing. Francisco Torres Hernndez 18
Curso Visual Basic 6.0 Nivel Bsico
Label lblNumero:
Alignment =2 - Center
BackColor =&H00FFFFFF& (White)
BorderStyle =1 - Fixed Single
FontName =MS Sans Serif
FontSize =12

Label Label2:
Caption =Ingrese el nmero

Label Label1:
Caption =Nmero de valores ingresados


Cdigo :

Declaraciones en la seccin general:

Opt i on Expl i ci t
Di mNumVal or es As I nt eger
Di mSumX As Si ngl e
Di mSumX2 As Si ngl e


Cdigo del evento cmdAceptar


Pr i vat e Sub cmdAcept ar _Cl i ck( )
Di mVal ue As Si ngl e
t xt Ent r ada. Set Focus
NumVal or es = NumVal or es + 1
l bl Numer o. Capt i on = St r ( NumVal or es)

' Obt ener el nmer o, sumar y sumar al cuadr ado

Val ue = Val ( t xt Ent r ada. Text )
SumX = SumX + Val ue
SumX2 = SumX2 + Val ue ^ 2
t xt Ent r ada. Text = " "
End Sub

Colocar el siguiente cdigo en el evento clic del botn cmdcalcular

Pr i vat e Sub cmdCal cul ar _Cl i ck( )
Di mMEdi a As Si ngl e
Di mSt dDev As Si ngl e
t xt Ent r ada. Set Focus

Instructor : Ing. Francisco Torres Hernndez 19
Curso Visual Basic 6.0 Nivel Bsico
' Est ar segur o que hay al menos dos nmer os
I f NumVal or es < 2 Then
Beep
Exi t Sub
End I f
MEdi a = SumX / NumVal or es
l bl Medi a. Capt i on = St r ( MEdi a)
' cal cul ar l a desvi aci n est ndar
St dDev = Sqr ( ( NumVal or es * SumX2 - SumX ^ 2) /
( NumVal or es * ( NumVal or es - 1) ) )
l bl St dDesv. Capt i on = St r ( St dDev)
End Sub

Del botn cmdSalir:

Pr i vat e Sub cmdSal i r _Cl i ck( )
End
End Sub

Del botn cmdNueva

Pr i vat e Sub cmdNueva_Cl i ck( )

t xt Ent r ada. Set Focus
NumVal or es = 0
l bl Numer o. Capt i on = " 0"
t xt Ent r ada. Text = " "
l bl Medi a. Capt i on = " "
l bl St dDesv. Capt i on = " "
SumX = 0
SumX2 = 0
End Sub

Curso VB Nivel Bsico FTH
C Co os sa as s p pa ar ra a m me ej jo or ra ar r e en n e el l e ej je er rc ci ic ci io o d de e l la a m me ed di ia a y y l la a
D De es sv v E Es st t n nd da ar r. .


Valide los nmeros introducidos por el usuario a manera que nicamente se
acepten dgitos, el punto decimal y la tecla backspace.
Cambie la apariencia para que refleje las polticas de la facultad de estadstica
de la universidad.


Instructor : Ing. Francisco Torres Hernndez 20
Curso Visual Basic 6.0 Nivel Bsico
Ejercicio 2-2

Programa para generar problemas de sumatoria.

La primaria Reyes Heroles A.C necesita una aplicacin que permita a los
alumnos de primer ao practicar sus conocimientos sobre operaciones
aritmticas. Para eso hemos solicitados su ayuda para poder generar la
siguiente aplicacin.

La solucin propuesta

Label4
lblNum2
Formulario:



Label2
txtRespuesta
lblNum1
Label1
lblMensaje
lblPuntaje
cmdSalir

cmdSiguiente


Propiedades: score

Form frmAdd:
BorderStyle =1 - Fixed Single
Caption =Problemario

CommandButton cmdSiguiente:
Caption =&Siguiente
Enabled =False

CommandButton cmdSalir:
Caption =Sa&lir

TextBox txtRespuesta:
FontName =Arial
FontSize =48
MaxLength =2

Instructor : Ing. Francisco Torres Hernndez 21
Curso Visual Basic 6.0 Nivel Bsico
Label lblMensaje:
Alignment =2 - Center
BackColor =&H00FFFF00& (Cyan)
BorderStyle =1 - Fixed Single
FontName =MS Sans Serif
FontBold =True
FontSize =14
FontItalic =True

Label lblPuntaje:
Alignment =2 - Center
BackColor =&H0000FFFF& (Yellow)
BorderStyle =1 - Fixed Single
Caption =0
FontName =Times New Roman
FontBold =True
FontSize =36

Label Label1:
Alignment =2 - Center
Caption =Puntos
FontName =MS Sans Serif
FontSize =18

Label Label4:
Alignment =2 - Center
Caption ==
FontName =Arial
FontSize =48

Label lblNum2:
Alignment =2 - Center
FontName =Arial
FontSize =48

Label Label2:
Alignment =2 - Center
Caption =+
FontName =Arial
FontSize =48

Label lblNum1:
Alignment =2 - Center
FontName =Arial
FontSize =48

Instructor : Ing. Francisco Torres Hernndez 22
Curso Visual Basic 6.0 Nivel Bsico
Codigo:

General Declarations:

Opt i on Expl i ci t
Di mSumAs I nt eger
Di mNumPr ob As I nt eger , NumCor r ect o As I nt eger


cmdExit Click Event:

Pr i vat e Sub cmdSal i r _Cl i ck( )
End
End Sub


El cdigo del evento click del botn cmdSiguiente:

Pr i vat e Sub cmdSi gui ent e_Cl i ck( )

Di mNumer o1 As I nt eger
Di mNumer o2 As I nt eger
t xt Respuest a. Text = " "
l bl Mensaj e. Capt i on = " "
NumPr ob = NumPr ob + 1

Numer o1 = I nt ( Rnd * 21)
Numer o2 = I nt ( Rnd * 21)
l bl Num1. Capt i on = For mat ( Numer o1, " #0" )
l bl Num2. Capt i on = For mat ( Numer o2, " #0" )

Sum= Numer o1 + Numer o2
cmdSi gui ent e. Enabl ed = Fal se
t xt Respuest a. Set Focus
End Sub

Cdigo del evento Activate del formulario:

Pr i vat e Sub For m_Act i vat e( )
Cal l cmdSi gui ent e_Cl i ck
End Sub



Instructor : Ing. Francisco Torres Hernndez 23
Curso Visual Basic 6.0 Nivel Bsico
Cdigo del evento Load del Formulario:

Pr i vat e Sub For m_Load( )
Randomi ze Ti mer
NumPr ob = 0
NumCor r ect o = 0
End Sub


El evento KeyPress de la caja txtRespuesta:

Pr i vat e Sub Txt Respuest a_KeyPr ess( KeyAsci i As I nt eger )
Di mAns As I nt eger
' Ver i f i car que ni cament e se i nt r oduzcan di gi t os y el
car act er
' de r et r ocr eso
I f ( KeyAsci i >= vbKey0 And KeyAsci i <= vbKey9) Or
KeyAsci i = vbKeyBack Then
Exi t Sub
El seI f KeyAsci i = vbKeyRet ur n Then ' Tecl a Ent er ?
' Checar l a r espuest a
Ans = Val ( t xt Respuest a. Text )
I f Ans = SumThen
NumCor r ect o = NumCor r ect o + 1
l bl Mensaj e. Capt i on = " Cor r ect o! "
El se
l bl Mensaj e. Capt i on = " La r espuest a es " +
For mat ( Sum, " #0" )
End I f
Lbl Punt aj e. Capt i on = For mat ( 100 * NumCor r ect o /
NumPr ob, " ##0" )
cmdSi gui ent e. Enabl ed = Tr ue
cmdSi gui ent e. Set Focus
El se
KeyAsci i = 0
End I f
End Sub



Instructor : Ing. Francisco Torres Hernndez 24
Curso Visual Basic 6.0 Nivel Bsico
3. Manejando la Caja de Herramientas de Visual Basic




La funcin para los mensajes de Usuario(msgbox)

Una de las mejores funciones de Visual Basic es MsgBox. Esta caja de mensaje despliega un
mensaje, opcionalmente un icono y un conjunto seleccionado de botones. El usuario responde
haciendo clic sobre un botn.

La sintaxis de la funcin MsgBox es
MsgBox Mensaje, Tipo, Titulo

donde

Mensaje El mensaje de texto ha ser desplegado
Tipo Tipo de mensaje. Ilustrado ms adelante
Titulo El texto en la barra de ttulo de la ventana de mensajes.

Uno no tiene control sobre donde aparecer la ventana de mensajes, pero se muestra
centrada en la ventana de la aplicacin que la ejecuto.

La funcin MsgBox Retorna un Valor que puede Recuperarse de acuerdo a la siguiente regla.

Dim Respuesta as Integer
Respuesta =MsgBox(Mensaje, Tipo, Titulo)

El argumento Tipo es formado por el envi de cuatro valores correspondientes a los botones a
desplegar, un icono a desplegar, El botn que se encuentra por defecto, y la modalidad de la
caja de mensajes.
El primer componente especifica los botones a desplegar.

Se utilizo la siguiente lnea de cdigo
Msgbox Curso VB Bsico, ____________________ , Ejemplo

Valor Ejemplo Constantes de Visual Basic
0

VbOKOnly
1

vbOKCancel

Instructor : Ing. Francisco Torres Hernndez 25
Curso Visual Basic 6.0 Nivel Bsico
2 vbAbortRetryIgnore
3 vbYesNoCancel
4

VbYesNo
5

vbRetryCancel

El Segundo componente especfica el icono a utilizar, si se requiere combinar los valores
debern sumarse:

Se utilizo la siguiente lnea de cdigo
Msgbox Curso VB Bsico, vbYesNoCancel +____________________ , Ejemplo

Valor Ejemplo Constantes de Visual Basic
0 (None)
16 VbCritical
32 vbQuestion

Instructor : Ing. Francisco Torres Hernndez 26
Curso Visual Basic 6.0 Nivel Bsico
48 vbExclamation
64 vbInformation

El Tercer elemento indica cul ser el botn que se utilizar por defecto, si ve en el ejemplo
anterior el botn por defecto siempre es el primero, pero nosotros podemos cambiar este
comportamiento
Se utilizo la siguiente lnea de cdigo
Msgbox Curso VB Bsico, vbYesNoCancel +vbInformation+____________________ , Ejemplo


Valor Ejemplo Constantes de Visual Basic
0 vbDefaultButton1
256 vbDefaultButton2
512 vbDefaultButton3

El ultimo parmetro es utilizado para indicar la modalidad de la ventana:

Valor Significado Constante
0 Es modal unicamente para la
aplicacin
VbApplicationModal
4096 Es modal para todos los
programas cargados en el
vbSystemModal

Instructor : Ing. Francisco Torres Hernndez 27
Curso Visual Basic 6.0 Nivel Bsico
sistema operativo.

Considera que los valores de las constantes son numricos pero se recomienda el uso de las
constantes en lugar de los valores que representan

El valor devuelto por la funcin msgbox, depende del botn que se pulso y los valores son los
siguientes:


Valor Constante
1 vbOK
2 vbCancel
3 vbAbort
4 vbRetry
5 vbIgnore
6 vbYes
7 vbNo



Mtodos de objetos

En las clases anteriores hemos comentado que los objetos tienen propiedades y eventos
asociados con estos, un tercer concepto son los metodos. Un mtodo es un procedimiento o una
funcin que realiza alguna accin a un objeto.

La sintaxis general para los mtodos es la siguiente

NombreObjeto.Metodo {Argumentos opcionales}



El objeto Form

El Form es donde el usuario dibuja la interface. Es la parte central del desarrollo de aplicaciones
de Visual Basic.

Propiedades del Form

Appearance Especifica una apariencia 3D o
plana
BackColor Establece el color de fondo
BorderStyle Establece si formulario se podr
ajustar.
Caption Establece el ttulo de la ventana
Enabled Si es True permite al formulario
responder a los eventos generados.
Font Establece un tipo de fuente, un
estilo y un tamao
ForeColor Indiac el color del texto y de los
grficos para el primer plano
Picture Establece una imagen.
Visible Si es false el formulario se vuelve
invisible


Instructor : Ing. Francisco Torres Hernndez 28
Curso Visual Basic 6.0 Nivel Bsico
Eventos de un form

Activate Se da cuando el formulario pasa a
ser la ventana activa
Click Ocurre cuando el usuario realiza un
clic sobre el rea ocupada por este
DblClick Ocurre cuando el usuario realiza un
doble clic sobre el rea ocupada por
este.
Load Ocurre cuando el formulario se esta
cargando, aqu es un buen lugar
para establecer la inicializacin de
variables.

Algunos Mtodos

Print Imprime el contenido del formulario.



Command Buttons


Este control se ha usado para iniciar, interrumpir o pausar un proceso.

Propiedades de control botn de comando

Appearance Permite seleccionar la apariencia 3D o
flotante del control
Cancel Este indica que cuando el usuario
pulsa la tecla ESC, se ejecutar el
cdigo de este botn
Caption Establece el texto a ser desplegado
por el botn
Default Indica que este ser el botn que
responder a la tecla ENTER.
Font Establece la fuente, el tamao y el
estilo.

Evento ms cmun

Click Este evento se dispar cuando el
usuario realiza clic sobre el rea
ocupada por el control, o bien cuando
el usuario pulsa la combinacin de ALT
+la letra que tenga marcada como de
acceso directo.


Etiquetas



Instructor : Ing. Francisco Torres Hernndez 29
Curso Visual Basic 6.0 Nivel Bsico
Una etiqueta es un control que se usa para desplegar texto que el usuario no puede editar
directamente.

Propiedades

Alignment Indica la alineacin que tendr el
texto. Puede ser a la izquierda, a la
derecha o al centro.
Appearance Establece la apariencia 3D o flotante
AutoSize Si es True la etiqueta cambiar su
tamao para poder dar cabida a todo
el texto que tiene asignado a travs de
caption.
BorderStyle Determina el tipo de Borde
Caption Una cadena que especifica el texto a
desplegar dentro de la etiqueta.
Font Establece la fuente, el tamao y el
estilo para el texto.
WordWrap Trabaja en combinacin con Autosize.
Si autosize es True, entonces el texto
se desplegar de una manera
multilnea y la caja se expandira.
Verticalmente. Si AutoSize es True y
WordWrap es False entonces la
etiqueta se expandir
Horizontalmente.

Eventos de un Label:

Click
DblClick


Text Boxes


Una caja de texto es usada para desplegar informacin introducida en tiempo de ejecucin por
el usuario o generada por cdigo. El texto que se muestra debera poder ser editable.
Propiedades de un TextBox:

Appearance Indica la apariencia 3D o flotante
BorderStyle Indica el tipo de Borde
Font Establece la fuente, el tamao y el
estilo
MaxLength Indica la longitud mxima de
caracteres aceptados. 0 Indica
caracteres ilimitados
MultiLine Especifica si un textbox desplegar
una lnea como un conjunto de
estas. Similar a la propiedad
WordWrap de una etiqueta.
PasswordChar Esconde el texto, utilizando el
carcter que se le suministra.
ScrollBars Especifica si se utilizarn las barras

Instructor : Ing. Francisco Torres Hernndez 30
Curso Visual Basic 6.0 Nivel Bsico
de desplazamiento.
SelLength Indica la longitud del texto
seleccionado
SelStart Indica desde donde se empezar a
seleccionar.
SelText Texto Seleccionado. Solo
disponible en tiempo de ejecucin.
Tag Establece una cadena
Text El texto a desplegar dentro del
control


Eventos de las cajas de texto:

Change Ocurre cada vez que la propiedad
text cambia
LostFocus Ocurre cuando el usuario sale del
control.
KeyPress Ocurre cuando se presiona una
tecla dentro del control.

Mtodos del TextBox

SetFocus Establece el cursor en el textBox Seleccionado.

Ejemplo

txtEjemplo.SetFocus 'Mueve el cursor a la caja de texto TxtEjemplo


Casillas de Verificacin (CheckBox)


Los Check Boxes proveen una forma para realizar elecciones de una lista de potenciales
candidatos. Algunos, todos o ninguna opcin en un grupo pueden ser seleccionadas.

Check Box Propiedades

Caption Indica el texto a desplegar por el control.
Font Establece la fuente, el tamao y el estilo
Value Indica si esta sin marcar (0,
vbUnchecked), marcado (1, vbChecked), o
parcialmente marcado (2, vbGrayed)
.

Eventos del CheckBox:

Click Se dispar cuando un usuario realiza clic
sobre este. VB automticamente asigna
los valores.


Botones de Opcin (OptionButton)

Instructor : Ing. Francisco Torres Hernndez 31
Curso Visual Basic 6.0 Nivel Bsico


Los botones de Opciones proveen la capacidad para realizar una eleccin mutuamente
exclusiva en un grupo de posibles candidatos. Cuando los optionButtons trabajan como grupo
solo uno puede ser Trae.

Propiedades

Caption Especifica el texto que se mostrar al lado
del botn.
Font Establece la fuente, el estilo y el tamao
del texto.
Value Indica si se encuentra seleccionado (true)
o no (false)

Evento ms comn

Click


Marcos (Frames)

En las secciones anteriores hemos comentado que los optionButton y CheckBoxes
pueden agruparse, bueno el control que permite agrupar a estos controles se les conoce como
Frames.
Para agrupar controles primero se deber dibujar el frame, y despus dibujar los controles
que se quieran agrupar dentro del mismo.
Propiedades de los marcos

Caption Indica el texto que se desplegar al inicio
del marco.
Font Establece la fuente, el estilo y el tamao
del texto.



Instructor : Ing. Francisco Torres Hernndez 32
Curso Visual Basic 6.0 Nivel Bsico
Ejemplo 3-1

Dominos Pizza

1. Inicia un nuevo Proyecto. Deberemos construir un formulario donde una orden para Pizza
pueda ser introducida de manera sencilla a travs de la realizacin de clicks en Botones de
Opcin y Casillas de verificacin.
2. Dibuja tres frames. En el pimer frame dibuja tres botones de opcin, en el segundo dibuja dos
botones de opcin, y en el tercero dibuja seis casillas de verificacin. Aade dos botones de
opcin al formulario. Por ltimo agrega dos botones de comando.



3. Establece las propiedades del formulario y para cada control.

Form1:
BorderStyle 1-Fixed Single
Caption Dominos Pizza
Name frmPizza

Frame1:
Caption Tamao

Frame2:
Caption Masa

Frame3
Caption Ingredientes


Instructor : Ing. Francisco Torres Hernndez 33
Curso Visual Basic 6.0 Nivel Bsico
Option1:
Caption Pequea
Name optTam
Value True

Option2:
Caption Mediana
Name optTam (Responda que si, cuando se le pregunta si desea
crear un array de controles)

Option3:
Caption Grande
Name optTam

Option4:
Caption Delgada
Name optMasa
Value True

Option5:
Caption Gruesa
Name optMasa (Responda que si, cuando se le pregunta si desea
crear un array de controles)
Option6:
Caption Para Comer aqui
Name optDonde
Value True

Option7:
Caption Para llevar
Name optDonde (Responda que si, cuando se le pregunta si desea
crear un array de controles)

Check1:
Caption Queso Extra
Name chkTop

Check2:
Caption Championes
Name chkTop (Responda que si, cuando se le pregunta si desea
crear un array de controles)

Check3:
Caption Aceitunas
Name chkTop


Instructor : Ing. Francisco Torres Hernndez 34
Curso Visual Basic 6.0 Nivel Bsico
Check4:
Caption Cebolla
Name chkTop

Check5:
Caption Pimiento Verde
Name chkTop

Check6:
Caption Tomates
Name chkTop

Command1:
Caption &Hacer la pizza
Name cmdHacer

Command2:
Caption &Salir
Name cmdSalir

El formulario debera verse de la siguiente manera. Aqu se le han aadido dos imgenes.



4. Declara las siguientes variables en la seccin de declaraciones General:

Option Explicit
Dim PizzaTam As String
Dim PizzaMasa As String
Dim PizzaDonde As String

Estas variables van a guardar el tamao, la masa y el lugar donde se servir la pizza.

Instructor : Ing. Francisco Torres Hernndez 35
Curso Visual Basic 6.0 Nivel Bsico
5. Agrega el siguiente cdigo de inicializacin del evento Form Load. Esto hace que las variables
Globales tengan los valores por defecto.

Private Sub Form_Load()
'Cargamos los valores por defecto
PizzaTam = "Pequea"
PizzaMasa = "Delgada"
PizzaDonde = "Para comer aqu"
End Sub



6. Agrega el siguiente cdigo a cada uno de los procedimientos clic de los botones de opcin:

Private Sub optMasa_Click(Index As Integer)
PizzaMasa = optCrust(Index).Caption
End Sub

Private Sub optTam_Click(Index As Integer)
PizzaTam = optSize(Index).Caption
End Sub

Private Sub optDonde_Click(Index As Integer)
PizzaDonde = optWhere(Index).Caption
End Sub

7. Agrega el siguiente cdigo al boton cmdHacer en su evento click().

Private Sub cmdHacer_Click()
'Este procedimiento construye un mensaje donde se indica el tipo de
'Pizza a realizar
Dim Mensaje As String
Dim I As Integer

Mensaje = PizzaDonde + vbCr
Mensaje = Mensaje + PizzaTam + " Pizza" + vbCr
Mensaje = Mensaje + PizzaMasa + vbCr

'La estructura de Control For permite Recorrer todos las casillas
de
'verificacin en busca de los ingredientes seleccionados
For I = 0 To 5
If chkTop(I).Value = vbChecked Then 'Solo si el ingrediente esta
seleccionado
Mensaje = Mensaje + chkTop(I).Caption + vbCr
End If
Next I

MsgBox Mensaje, vbOKOnly + vbInformation, "Su Pizza"
End Sub

Este cdigo es el que forma un mensaje donde se indica el tamao de la Pizza, el tipo de
masa, los ingredientes extra seleccionados y el lugar donde se servir la pizza

8. Aade el siguiente cdigo al botn Salir.
Private Sub cmdSalir_Click()
End

Instructor : Ing. Francisco Torres Hernndez 36
Curso Visual Basic 6.0 Nivel Bsico
End Sub

9. Ejecuta la aplicacin y guarda el proyecto

Curso VB Nivel Bsico FTH
M Me ej jo or ra ar r e el l p pr ro oy ye ec ct to o


A. Agrega un nuevo botn al formulario que tenga el texto Nueva Orden, y que al
presionarlo se muestren los valores por defecto (Pequea, Delgada y Para comer
aqu). Para realizar esto se tienen que volver a establecer los valores iniciales en los
controles, los valores iniciales de las variables y quitarles la seleccin a los
ingredientes.


Instructor : Ing. Francisco Torres Hernndez 37
Curso Visual Basic 6.0 Nivel Bsico

Cuadros de Lista (List Boxes)

Un cuadro de lista muestra una lista de elementos de los cuales el usuario puede
seleccionar uno o varios. Si el nmero de elementos excede la cantidad que puede ser
desplegada por el cuadro, se muestran automticamente las barras de desplazamiento.

Propiedades ms comunes de un cuadro de lista:

Appearance Selecciona entre el estilo 3D y
Flotante
List Arreglo con todos los elementos de
una lista.
ListCount Numero de elementos en la lista.
ListIndex El nmero de la lista del elemento
recientemente seleccionado. Si no
hay un elemento seleccionado el valor
por defecto es -1.
MultiSelect Indica como los elementos podrn ser
seleccionados (0 Indica que no se
permite la seleccin mltiple, 1 Se
permite la seleccin mltiple y 2
Permite la seleccin de Grupos)
Selected Un arreglo con los elementos que
tienen el valor True si estan
seleccionados o False si no lo estn.
Sorted True Indica que los elementos se
ordenaran de manera ascendente de
acuerdo al cdigo ASCII. Si es False
se mostrarn de acuerdo a como se
hayan introducido.
Text El texto del item actualmente
seleccionado.

Eventos de un ListBox:

Click
DblClick

Mtodos de un listBox

AddItem Permite agregar un item a la lista.
Clear Elimina todos los elementos de la lista.
RemoveItem Elimina un item de la lista, a travs de su identificador (index)

Ejemplos

lstEjemplo.AddItem "Este es un Nuevo elemento"
lstEjemplo.Clear
lstEjemplo.RemoveItem 4 ' Elimina lstEjemplo.List(4) del cuadro de lista.

Los elementos de una lista son usalmente inicializados en el procedimiento Form_Load. Y
siempre es una buena idea Limpiar el cuadro de lista antes de inicializar un cuadro.


Instructor : Ing. Francisco Torres Hernndez 38
Curso Visual Basic 6.0 Nivel Bsico



Cuadros Combinados (Combo Boxes)


El ComboBox es similar a un cuadro de lista. Las diferencias entre un cuadro combinado, es
que incluye un cuadro de texto y solo permite la seleccin de uno de los elementos. En
algunos casos el usuario, puede escribir la opcin.

Las propiedades de un comboBox son Casi identificas a las de un ListBox, exceptuando la
propiedad MultiSelect y agregando la propiedad Style.
Appearance Selecciona entre el estilo 3D y
Flotante
List Arreglo con todos los elementos de
una lista.
ListCount Numero de elementos en la lista.
ListIndex El nmero de la lista del elemento
recientemente seleccionado. Si no
hay un elemento seleccionado el valor
por defecto es -1.
Sorted True Indica que los elementos se
ordenaran de manera ascendente de
acuerdo al cdigo ASCII. Si es False
se mostrarn de acuerdo a como se
hayan introducido.
Style El mtodo utilizado para la seleccin
de un elemento. Con el estilo 0 y 1, el
usuario podr cambiar los valores de
los cuadro combinados, con el estilo 2,
el usuario no podr cambiar el texto.
Text El texto del item actualmente
seleccionado.

Eventos de un ComboBox:

Click
DblClick

Mtodos de un ComboBox

AddItem Permite agregar un item a la lista.
Clear Elimina todos los elementos de la lista.
RemoveItem Elimina un item de la lista, a travs de su identificador (index)

Ejemplos

cboEjemplo.AddItem "Este es un Nuevo elemento"
cboEjemplo.Clear
cboEjemplo.RemoveItem 4 ' Elimina lstEjemplo.List(4) del cuadro de lista.

Instructor : Ing. Francisco Torres Hernndez 39
Curso Visual Basic 6.0 Nivel Bsico
Ejercicio 3

Pantalla de entrada para datos de clientes.
Una nueva tienda de deportes necesita que usted desarrolle un prototipo para su base de
datos de clientes. La informacin solicitada es:
1. Nombre
2. Edad
3. Ciudad de Residencia
4. Sexo (Masculino Femenino)
5. Actividades (Correr, Caminata, Bicicleta, Nado, esqu y /o Patinaje)
6. Nivel Atltico (Extremo, Avanzado, Intermedio, o Principiante)

Al presionar el botn mostrar perfil, deber aparecer un cuadro de mensaje como el que se
muestra a continuacin:







Instructor : Ing. Francisco Torres Hernndez 40
Curso Visual Basic 6.0 Nivel Bsico
La Pantalla de captura:

Formulario:

Frame3


cmdMostrar
cmdSalir
txtEdad Label2
OptNivel
cboCiudad
txtName
Label1
Frame1
optSexo
cmdNuevo
chkAct Frame2 Frame4



Establezca las propiedades para cada control.
Asegurese que los nombres de controles corresponden con los indicados en la figura.

Cdigo:
Declaraciones Generales

Opt i on Expl i ci t
Di mAct i vi dad As St r i ng


Evento click() del botn cmdSalir

Pr i vat e Sub cmdSal i r _Cl i ck( )
End
End Sub

Cdigo del evento clic() del botn cmdNuevo:
Pr i vat e Sub cmdNuevo_Cl i ck( )
' Col oca en bl anco a l as casi l l as de ver i f i caci n de l as act i vi dades
Di mI As I nt eger
t xt Nombr e. Text = " "
Txt Edad. Text = " "
For I = 0 To 5
chkAct ( I ) . Val ue = vbUnchecked
Next I

End Sub

Instructor : Ing. Francisco Torres Hernndez 41
Curso Visual Basic 6.0 Nivel Bsico
Cdigo del evento clic() del botn cmdMostrar
Pr i vat e Sub cmdMost r ar _Cl i ck( )
Di mNoAct As I nt eger , I As I nt eger
Di mMsg As St r i ng, Pr onombr e As St r i ng

' Asegur ar se que un nombr e se ha i nt r oduci do
I f t xt Nombr e. Text = " " Then
MsgBox " El per f i l necesi t a t u nombr e" , vbOKOnl y + vbCr i t i cal , " No
se ha i nt r oduci do un nombr e"
Exi t Sub
End I f

' Asegur ar se que l a edad se ha i nt r oduci do
I f Txt Edad. Text = " " Then
MsgBox " El per f i l necesi t a una edad" , vbOKOnl y + vbCr i t i cal , " No
hay Edad"
Exi t Sub
End I f


Msg = t xt Nombr e. Text + " t i ene" + St r $( Txt Edad. Text ) + " aos" + vbCr
I f opt Sexo( 0) . Val ue = Tr ue Then
Pr onombr e = " El "
El se
Pr onombr e = " El l a "
End I f

Msg = Msg + Pr onombr e + " vi ve en " + cboCi udad. Text + " . " + vbCr
Msg = Msg + Pr onombr e + " t i ene el ni vel "
Msg = Msg + Act i vi dad + vbCr
NoAct = 0
' Ver i f i camos si t i ene act i vi dades sel ecci onadas
For I = 0 To 5
I f chkAct ( I ) . Val ue = vbChecked Then NoAct = NoAct + 1
Next I

' Si el numer o de act i vi dades es mayor que cer o
I f NoAct > 0 Then
Msg = Msg + " Las act i vi dades que pr act i ca son: " + vbCr
For I = 0 To 5
I f chkAct ( I ) . Val ue = vbChecked Then
Msg = Msg + St r i ng$( 10, 32) + chkAct ( I ) . Capt i on + vbCr
End I f
Next I
El se ' No t i ene act i vi dades
Msg = Msg + vbCr
End I f

MsgBox Msg, vbOKOnl y, " Per f i l del cl i ent e"
End Sub


Cdigo del Evento Load

Pr i vat e Sub For m_Load( )
' Car ga el comboBox con l as posi bl es ci udades
cboCi udad. AddI t em" Coat zacoal cos"

Instructor : Ing. Francisco Torres Hernndez 42
Curso Visual Basic 6.0 Nivel Bsico
cboCi udad. Text = " Coat zacoal cos"
cboCi udad. AddI t em" Agua Dul ce"
cboCi udad. AddI t em" Nanchi t al "
cboCi udad. AddI t em" Las Choapas"
cboCi udad. AddI t em" I xhuat l an"
cboCi udad. AddI t em" Vi l l aher mosa"
cboCi udad. AddI t em" Cosol eacaque"
cboCi udad. AddI t em" Acayucan"
cboCi udad. AddI t em" J al t i pan"
cboCi udad. AddI t em" Mi nat i t l n"

Act i vi dad = " I nt er medi o"
End Sub


Cdigo del evento clic del botn de opcin OptNivel

Pr i vat e Sub opt ni vel _Cl i ck( I ndex As I nt eger )
Sel ect Case I ndex
Case 0
Act i vi dad = " Ext r emo"
Case 1
Act i vi dad = " Avanzado"
Case 2
Act i vi dad = " I nt er medi o"
Case 3
Act i vi dad = " Pr i nci pi ant e"
End Sel ect
End Sub

Cdigo del evento KeyPress de la caja TxtEdad

Pr i vat e Sub Txt Edad_KeyPr ess( KeyAsci i As I nt eger )
I f ( KeyAsci i >= vbKey0 And KeyAsci i <= vbKey9) Or KeyAsci i = vbKeyBack
Then
Exi t Sub
El se
KeyAsci i = 0
End I f
End Sub


Instructor : Ing. Francisco Torres Hernndez 43
Curso Visual Basic 6.0 Nivel Bsico


3. Otros elementos de la caja de herramientas

Ejemplo 4-1

Visualizador de Imagen

Inicia un Nuevo proyecto. En esta aplicacin nosotros buscaremos en la computadora por los
archivos grficos y se desplegar nuestra bsqueda en un control image.


Especificaciones del Visualizador de Imagenes

Desarrollar una aplicacin donde el usuario pueda buscar y encontrar
archivos grficos (ico, bmp, wmf) en su computadora. Una vez que un archivo se
ha seleccionado se mostrar su correspondiente nombre de archivo en el
formulario y se desplegar el archivo en un image box usando la funcin
LoadPicture().


Una possible solucin:

1. Coloca un control Drive List , un control file list box , cuatro etiquetas, una lnea y
un botn de comando en el formulario, aada adems un control image box. Al terminar la
aplicacin debe verse como se muestra a continuacin.


Image1


2. Establece las propiedades para cada objeto en el formulario

Form1:

Instructor : Ing. Francisco Torres Hernndez 44
Curso Visual Basic 6.0 Nivel Bsico
BorderStyle 1-Fixed Single
Caption Visualizador de Imagenes
Name frmImage

Drive1:
Name drvImage

Dir1:
Name dirImage

File1:
Name filImage
Pattern *.bmp;*.ico;*.wmf;*gif;*jpg
[Escribe la lnea de arriba sin espacios]

Label1:
Caption [Blanco]
BackColor Yellow
BorderStyle 1-Fixed Single
Name lblImage

Label2:
Caption Archivos:

Label3:
Caption Directorios:

Label4:
Caption Discos:

Command1:
Caption &Mostrar Imagen
Default True
Name cmdMostrar

Command2:
Cancel True
Caption &Salir
Name cmdsalir

Line1:
BorderWidth 3

Image1:
BorderStyle 1-Fixed Single
Name imgImage
Stretch True

3. Attach the following code to the drvImage_Change procedure.

Private Sub drvImage_Change()
dirImage.Path = drvImage.Drive
End Sub

Cuando una nueva unidad es seleccionada, este cdigo forzar al cuadro de directorio a
mostrar que directorios se encuentran en el disco.


Instructor : Ing. Francisco Torres Hernndez 45
Curso Visual Basic 6.0 Nivel Bsico
4. Agregar al control dirImage el cdigo siguiente al mtodo Change.

Private Sub dirImage_Change()
filImage.Path = dirImage.Path
End Sub

Igualmente cuando un Nuevo directorio es seleccionado entonces actualizamos el control file
list Box.

5. Agregar al evento click al control cmdMostrar

Private Sub cmdmostrar_Click()
Dim NombreImage As String
If filImage.FileName = "" Then Exit Sub
If Right(filImage.Path, 1) = "\" Then
NombreImage = filImage.Path + filImage.FileName
Else
NombreImage = filImage.Path + "\" + filImage.FileName
End If

lblImage.Caption = NombreImage
imgImage.Picture = LoadPicture(NombreImage)

End Sub


Este cdigo construye el nombre de un archive concatenando la ruta del directorio con el
nombre del archive, despues despliga la ruta completa y muestra el archivo en el imagebox.

6. Llama al procedimiento cmdMostrar_Click() desde el evento dblCLick() del control FilImage
Private Sub filImage_DblClick()
Call cmdmostrar_Click
End Sub

7. Agrega el cdigo necesario para salir de la aplicacin

Private Sub cmdSalir_Click()
End
End Sub

8. Guarda el proyecto y pruebalo:


Instructor : Ing. Francisco Torres Hernndez 46
Curso Visual Basic 6.0 Nivel Bsico




Instructor : Ing. Francisco Torres Hernndez 47
Curso Visual Basic 6.0 Nivel Bsico


Creando una aplicacin Individual



Nosotros hemos revisado la aplicacin de la mayora de las herramientas de la caja de
Herramientas de VB, pero hasta ahora para ejecutar nuestras aplicaciones necesitamos del
entorno de desarrollo de Vb. En esta seccin aprenderemos los pasos para generar un ejecutable
de nuestra aplicacin, que podr correr en cualquier computadora con sistema operativo Windows.



Disear una aplicacin.
1. Dibujar la interfaz
2. Determinar procesos y funciones
3. Determinar las herramientas necesarias de la caja de herramientas
4. Disea la interfaz utilizando la facilidad de uso de los usuarios.
5. Escribe tu cdigo de manera legible utiliza correctamente las sangras.
6. Realiza la cdificacin amigable
7. Depura tu aplicacin de los errores.

Procedimientos generales independientes de los eventos.
La sintaxis para declarar un procedimiento es:

Sub NombreProcedimiento(Argumentos)
.
.
End Sub

Procedimiento de ejemplo

Aqu tenemos un procedimiento que permite convertir una cantidad en Dlares a pesos
mexicanos, este procedimiento utiliza dos parmetros.

Sub USMexConvertir (USDollars As Single, UStoPeso As
Single, MexPesos As Single)
MexPesos = UsDollars * UsToPeso
End Sub

Para llamar a un procedimiento se puede utilizar dos formas

Metodo 1:

Call Procedimiento(Argumentos) Si no hay argumentos no hay necesidad de
parntesis

Metodo 2:

Procedimiento Argumentos

Definicin de funciones

Una funcin a diferencia de un procedimiento siempre debe devolver un valor, algunas funciones
que se han visto son format y msgbox.


Instructor : Ing. Francisco Torres Hernndez 48
Curso Visual Basic 6.0 Nivel Bsico
Definicin de una funcin:

Function GenlFcn(Argumentos) As Type .
.
GenlFcn =...
End Function

Ejemplo

Esta funcin calcula el volumen de un cilindro conociendo su altura y su radio

Function CylVol(Alto As Single, Radio As Single) As Single
Dim Area As Single
Const PI =3.1415926
Area =PI * Radio ^2
CylVol =Area * Alto
End Sub

Para llamar a una funcin se puede usar la siguiente sentencia, por lo general siempre van
despus de una sentencia de asignacin.
Ejemplo

Para llamar a la funcin para calcular el volumen de un cilindro.

Dim Volumen As Single
.
.
Volumen =CylVol(Alto, Radio)


Aadir mens a las aplicaciones.
Los mens son una forma jerarquica de organizar los comandos a los que tendran acceso los
usuarios.

Un ejemplo tpico de un men


File Edit Format
New Cut Bold
Open Copy Italic
Save Paste Underline
Size
Exit 10
15
20

El men Editor permite la generacin y creacin de los mens de VB.



Instructor : Ing. Francisco Torres Hernndez 49
Curso Visual Basic 6.0 Nivel Bsico


Cada elemento en la estructura requiere varias entradas en la caja de diseo.

Ejemplo 5-1

Editor de Notas.

1. Inicia un nuevo proyecto

2. Coloca un gran textbox en el formulario.Establece las propiedades del formulario
Form1:
BorderStyle 1-Fixed Single
Caption Editor de Notas
Name frmEdit

Text1:
BorderStyle 1-Fixed Single
MultiLine True
Name txtEdit
ScrollBars 2-Vertical
Text [Blank]

El formulario debera verse como aqu.


Instructor : Ing. Francisco Torres Hernndez 50
Curso Visual Basic 6.0 Nivel Bsico


3. Necesitamos aadir la siguiente estructura de mens del archivo.



Las especificaciones para cada men.





Instructor : Ing. Francisco Torres Hernndez 51
Curso Visual Basic 6.0 Nivel Bsico



Creando Archivos ejecutables

Para crear un ejecutable habr que relizar Clic en archivo despus en Generar y listo .

Para configurar las propiedades de un proyecto se realiza clic en Proyecto y despus propiedades.



Instructor : Ing. Francisco Torres Hernndez 52
Curso Visual Basic 6.0 Nivel Bsico
Construyendo un paquete de instalacin

Hasta ahorita hemos podido ejecutar nuestro proyecto porque contamos con todos los archivos
necesarios para los mismos instalados en la misma mquina, pero cuando estos archivos no estan
disponibles nuestro archivo ejecutable simplemente no funcionar.
Asi que para asegurarse que nuestra aplicacin correr sin complicaciones es necesario
aparte del ejecutable proporcionar la librerias dinmicas en tiempo de ejecucin y registrarlas
propiamente en la computadora.
Para realizar esto Visual Basic cuenta con el asistente para empaquetado.
Para iniciar el asistente es necesario.


Instructor : Ing. Francisco Torres Hernndez 53
Curso Visual Basic 6.0 Nivel Bsico
INTRODUCCIN A LAS BASES DE DATOS

Qu es una Base de Datos?
Una BD es un depsito de informacin. Existen varios tipos diferentes de BD. En este
ejemplo se hablaran de las bases de datos relacionales. Que es el tipo de BD ms utilizado en la
actualidad. Una BD Relacional:
Almacena datos en tablas
Permite recuperar o consultar Subconjuntos de datos de las tablas
Permite conectar o unir varias tablas con el fin de recuperar datos relacionados que
estn almacenados en tablas diferentes.

Qu es un motor de BD?
Este proporciona las funciones bsicas de una BD. Es un sistema de Software que
administra la manera en que se almacenan y se recuperan los datos. El motor de BD a utilizar es
Microsoft J et.

Qu son las tablas y campos?
Las BD estn formadas por tablas que representan amplias categoras de datos. Si se
estuviese creando una bd para gestionar las cuentas de un negocio, por ejemplo, podra crear una
tabla para los clientes, otra para las facturas y otra para los empleados. Las tablas tienen una
estructura predefinida, ya que contienen datos que se ajustan a cada estructura.
Las tablas a su vez contienen registros, los cuales son piezas individuales de informacin
que estn dentro de la categora amplia a la que representan.
Los registros a su vez tienen campos.
Un campo representa una subdivisin de los datos de un registro. Un registro que
representa una entrada de una libreta de direcciones puede estar formado por los campos
nombre, apellido, direccin, ciudad, cdigo postal y nmero de telfono.


Para crear una Bd primero debe determinar que informacin va a guardar.

Qu es un Recordset?

Paremos un momento el asunto prctico para ver como trabajan fsicamente las bases de datos.
Ya sabemos que el programador queda aislado de la forma en que los datos son fsicamente
grabados, as es que solo tiene acceso a una "imgen" en memoria de los datos fsicos (por algo
las bases de datos son tan sensibles a los cortes de energa)

Esta imgen es lo que se llama un Recordset (conjunto de registros), existen distintos tipos de
recordset que el motor de base de datos entrega por ejemplo:

Dynaset (recordset dinmico) cambia al mismo tiempo que cambian los datos en la BD subyacente
Snapshot (instantnea) muestra la BD subyacente en un momento dado, no muestra los cambios
posteriores (obviamente se usa para emitir reportes)

DAO, RDO, OBDC, ADO Para qu Sirven?


Instructor : Ing. Francisco Torres Hernndez 54
Curso Visual Basic 6.0 Nivel Bsico
Fundamentalmente estos tres mtodos de programacin de bases de datos ofrecen
Ms instrucciones, y la posibilidad de hacer todas las tareas programticamente, sin necesidad de
usar Datacontrol ni controles enlazados
Ms control sobre la manera en que se actualizan los datos, posibilidad de recibir datos
automticamente sin intervencin de la consola
Permite usar instrucciones de programa adems de las SQL usuales
Permite usar distintos origenes de datos, an cuando no estn basados en PC, como Oracle,
Servidor SQL, etc.
DAO =Data Access Objects (Objetos de Acceso a Datos) es el mtodo antiguo (usado en VB 5)
para programar bases de datos. DAO usa la antigua tecnologa OLE para conectarse con las
bases de datos.

RDO=-Remote Data Objects (Objetos de Datos Remotos) es el mtodo usado paraconectar PCs
con bases de datos remotas en un ambiente cliente-servidor (por ejemplo una base de datos
Oracle en un equipo remoto Unix), Usa la ODBC (Open Data Base Conectivity, o Conectividad
Abierta de Bases de Datos), los controladores OBDC son el mtodo que emplea en general
Windows 9x para conectarse con bases de datos externas. Tambin existe un mtodo abreviado
para estas conexiones a bases de datos externas, es usando el Remote Data Control RDC, que es
el anlogo al DataControl para el DAO

ADO =ActiveX Data Objects (Objetos de Datos ActiveX) es el mtodo usado por VB 6.0 para
acceder por programa a bases de datos. Usa la tecnologa OCX en lugar de OLE y existe,
desgraciadamente, incompatibilidades entre DAO y ADO

En resumidas cuentas que significa toda esta sopa de letras?. fsicamente son bibliotecas, Dll,
objetos OLE y OCX as como bibliotecas del Windows (en el caso de OBDC), que deben cargarse
junto con el programa e incluirse en la distribucin. Para apliocaciones pequeas no recomendara
usar ninguno de estos mtodos que hacen a las aplicaciones pesadas, potencialmente inestables
y difiles de distribur y portar.

DAO - Acceso a bases de datos mediante el Control Data

Para acceder a estas Bases de Datos basta con introducir un control Data en el formulario, y fijarle
las propiedades apropiadas para que trabaje sobre uno u otro tipo de base de datos. El control
Data nos permite acceder de una forma sencilla a cualquier base de datos de estos tipos, y sirve
de enlace entre la base de datos y los controles que son habilitados para presentar los datos de
esa base. Utiliza el motor de bases de datos J et para el acceso a los datos.

El Control Data

El control Data puede tomarse directamente de la caja de herramientas. Al contrario que los
controles similares RDO y ADO, este est siempre en la caja de herramientas. En el formulario
tiene el aspecto de una barra deslizante :



Decamos que el control Data sirve de enlace entre la base de datos y los controles que pueden
presentar datos. Estos controles a los que nos referimos son los llaados Controles Enlazados a

Instructor : Ing. Francisco Torres Hernndez 55
Curso Visual Basic 6.0 Nivel Bsico
Datos, y que son viejos conocidos nuestros, al menos algunos de ellos.

Los dos ms sencillos son el control Label y el control TextBox

Un control Label puede presentar un dato. Si queremos que ese dato sea un campo de una tabla
de una base de datos, basta que enlacemos la base de datos al control data, y que enlacemos
luego el control Label con el control Data. Si hacemos lo mismo con el TextBox, no solamente
podremos presentar datos de la BD, sino que los podemos introducir, al ser el TextBox un control
bidireccional.

Veamos como se enlaza un control data a una base de datos. Se supone que el alumno conoce la
estructura de una base Access, BD con la que vamos a iniciar este estudio. De cualquier forma, y
para los que han suspendido la asignatura de base de datos Access, citar solamente que una
base de datos Access contiene dentro de un fichero (P.e. C:\MiCarpeta\MiBase.Mdb) varias
Tablas (P.e. Tabla1, Tabla2 y Tabla3) Cada tabla es en s una base de datos en el sentido
estricto. Tiene un nmero indeterminado de registros, (filas) que guardan la informacin en varios
Campos.

El fichero, que tiene por extensin Mdb es la base de datos, y ese nombre (Direccin completa de
la carpeta y nombre del fichero) es lo que debemos poner al control Data en su propiedad
DataBaseName. Con esto, el control data ya sabe donde tiene que ir a leer los datos. Pero le
falta todava por saber en que tabla dentro de esa BD los tiene que leer. El nombre de la tabla se
lo indicamos al control Data en la propiedad RecordSource. Para elegir esta propiedad basta con
desplegar la lista de las tablas haciendo click en la flecha de la lnea de la propiedad
RecordSource. Dado que el control Data ya sabe en que base de datos debe leer los datos (Ya
tiene puesta la propiedad DataBaseName), ya puede saber cuantas tablas tiene y los nombres de
estas tablas. Elija la tabla deseada. En nuestro ejemplo, Authors

Con esto ya podra trabajar, pero le faltan an ciertos detalles. Por ejemplo, el tipo de recordset
que debe crear. (Dynaset, Snapshot, Table) Esto se lo indicamos en la propiedad RecordsetType,
que por defecto le va a poner Dynaset. (Ya veremos que es cada uno de ellos) Y ya tenemos casi
todas las propiedades del control Data cubiertas. Las dems son las tpicas de todos los
controles. Casi todas las propiedades, porque hay una que se ha introducido en la versin 6 de VB
para permitir las dos formas de atacar a la base de datos, con el motor J et o a travs del citado
ODBCDirect.. Esa propiedad es DefaultType y nos permite elegir entre usar el motor de base de
datos J et (Poniendo a esta propiedad el valor 2 o dbUseJet) o usar ODBCDirect (Ponindole el
valor 1 dbUseODBC) El valor por defecto es usar el motor J et y as trabajaremos en principio.

Ya tenemos enlazado el control Data a la base de datos. Falta ahora enlazar una etiqueta y un
TextBox al control Data para tener el enlace completo. Eso es an ms sencillo. Si desplegamos
las propiedades del TextBox por ejemplo, veremos que tiene unas propiedades que cuando lo
estudiamos, las habamos pasado un poco por alto: DataSource y DataField.

En la figura puede ver que la propiedad DataSource puede desplegarse, mostrando en este caso
el nombre del nico control Data que tenemos en el formulario: Data1 Si tuvisemos mas
controles Data, apareceran los nombres de todos ellos. Se elige uno.

Instructor : Ing. Francisco Torres Hernndez 56
Curso Visual Basic 6.0 Nivel Bsico

A continuacin debemos sealarle qu campo queremos que nos presente. Podemos desplegar la
lista, donde podemos ver los campos de la tabla elegida para la propiedad RecordSource del
control Data. Elegimos uno y ejecutamos la aplicacin.

odemos observar que ya funciona. Si ponemos tantos TextBox como campos tiene la tabla
ntremos ahora en un estudio un poco ms avanzado del control Data.
l control Data proporciona acceso a datos almacenados en bases de datos usando uno de los
este est en el
n el tema de Bases de Datos se emplean trminos no conocidos an. Se irn viendo a lo largo
vance de trminos.


P
elegida, podemos ver todo el contenido de la Base de datos movindonos a lo largo de ella
mediante las flechas de cursor del control Data. Todo ello sin escribir una lnea de cdigo tal y
como habamos prometido.

E

E
tres tipos de objetos Recordset. El control Data le permite ir de registro en registro y presentar y
manipular los datos de los en controles enlazados. Sin un control Data, los controles enlazados
con datos de un formulario no pueden tener acceso automticamente a los datos.
Los controles enlazados solamente pueden tener acceso a un control Data si
mismo Formulario.

E
del curso, pero no queda otro remedio mas que comenzar a utilizarlos. Se irn haciendo avances
de estos trminos, que sern explicados en profundidad en su momento.

A
Objeto Recordset (conjunto de registros)
Es un conjunto lgico de registros. Los tres tipos de objetos Recordset son Dynaset, (Permite la
lectura y escritura de un registro) Snapshot (Realiza una lectura instantnea de los registros, no
permitiendo modificarlos) y Table. (Representacin en el cdigo de una tabla base que puede
utilizarse para agregar, modificar o eliminar registros de una sola tabla).
Controles enlazados
Son los controles que pueden presentar directamente datos de uno o varios campos de una Base
de Datos. Los controles DBList, DBCombo y DBGrid tienen la posibilidad de presentar un conjunto
de registros cuando se asocian con un control Data. Los controles CheckBox, TextBox, Label,
Picture, Image, ListBox y ComboBox tambin son controles enlazados con datos y pueden
asociarse a un nico campo de un Recordset administrado por un control Data.

La mayora de las operaciones de acceso a datos se pueden realizar usando el control Data sin
escribir ningn cdigo. Los controles enlazados con un control Data presentan de forma

Instructor : Ing. Francisco Torres Hernndez 57
Curso Visual Basic 6.0 Nivel Bsico
automtica los datos de uno o ms campos del registro actual o, en algunos casos, de un
conjunto de registros a ambos lados del registro actual. El control Data realiza todas las
operaciones sobre el registro actual.

Avance de trminos
Registro Actual. Un registro es un conjunto completo de campos. Una base puede tener muchos
registros, pero el puntero de la base de datos apunta a un nico registro en cada momento. Ese
registro al que apunta el puntero se llama registro actual.

Si el control Data recibe instrucciones de moverse a un registro diferente, todos los controles
na vez iniciada la aplicacin, Visual Basic usa las propiedades del control Data para abrir la base
VariableTipoRecordset =Data1.Recordset
si tenemos otro control Data en la aplicacin (Puede estar en otro formulario) siempre podemos
Set Data2.Recordset =VariableTipoRecordset
bviamente el mbito de VariableTipoRecordset debe permitir que se vea en los formularios
uando se usa un control Data para crear un objeto Recordset o cuando se crea un objeto
l prrafo anterior, tomado casi literalmente de la informacin de Microsoft, exige al menos una
crea un Recordset mediante un control Data, se leen inmediatamente todos los
enlazados pasan automticamente los cambios al control Data para ser guardados en la base de
datos. El control Data se sita despus en el registro requerido y pasa los datos del registro actual
a los controles enlazados donde son presentados. Esto significa que se pueden modificar los
datos de una base de datos simplemente cambiando los datos en los controles enlazados que lo
permitan, y moviendo el puntero de la base de datos, es decir, cambiando el registro actual.

U
de datos seleccionada, abrir un objeto Database y crear un objeto Recordset. Las propiedades
Database y Recordset del control Data hacen referencia a los objetos Database y Recordset
recin creados que pueden ser manipulados por el control Data. Siempre podremos conocer el
Recordset usado por el control Data leyendo esa propiedad



Y
hacer que el recordset de este segundo control Data sea igual al del primero



(O
donde est Data1 y Data2

C
Recordset en el cdigo y se asigna al control Data, el motor de base de datos J et de Microsoft
puebla automticamente el objeto Recordset. Como resultado, los marcadores (y en los objetos
Recordset de tipo snapshot, los datos del conjunto de registros) se guardan en la memoria local; el
usuario no necesita manipular el control Data y no es necesario invocar el mtodo MoveLast en el
cdigo para conocer el nmero total de registros. Los bloqueos de pgina usados para crear el
Recordset se liberan ms rpidamente, haciendo posible que otros objetos Recordset accedan a
los mismos datos. Los objetos Recordset creados en el cdigo pero que no se asignan a un
control Data no son poblados automticamente por el motor J et. Se deben poblar desde el cdigo.

E
explicacin.
Cuando se
registros que forman parte de ese Recordset (Recuerde que un Recordset es un conjunto de
registros). De esta forma, en una base que estuviera compartida por varios usuarios a travs de
una Red de Area Local (RAL) un usuario leera todos los datos en el mismo momento de la
creacin del Recordset por el control Data, llevara esos datos a su memoria RAM y no volvera a
estorbar en la base de datos (cuando un usuario de una RAL lee un dato en una BD, bloquea esta
BD mientras dura su lectura y no pueden acceder a ella otros usuarios) Si el Recordset se crea por
cdigo, se lee solamente un registro (la base se bloquea en el momento de la lectura e
inmediatamente se libera), y cuando se le pide otra operacin (p.e. que avance un registro) vuelve
a bloquear la BD, lee ese registro y la desbloquea. En principio el leer el Recordset de una vez

Instructor : Ing. Francisco Torres Hernndez 58
Curso Visual Basic 6.0 Nivel Bsico
parece que tiene ventajas en aquellas instalaciones que tienen una base de datos compartida.
Todo ello a un precio. Ocupar mas memoria RAM en cada uno de los PCs de los usuarios. Esta
limitacin hace en algn caso que no sea posible utilizar un control Data por falta de memoria
RAM en los puestos de usuario.

El control Data puede manipularse con el mouse, movindose de registro en registro o al principio
bservacin muy importante
l control Data crea un objeto Database y un objeto Recordset automticamente. Estos objetos de
Data1.Database Data1.Recordset
l objeto Database creado por un control Data no se cierra aunque se cambie la propiedad
Data1.Database.Close Data1.Recordset.Close
sta observacin debe ser tenida muy en cuenta sobre todo cuando el control Data abre la Base
bjetos para acceso a datos
os objetos para acceso a datos Database y Recordset creados por el control Data tienen cada
cordset mueve el registro actual al siguiente
Data1.Recordset.MoveNext

l control Data puede crear cualquiera de los tres tipos de objetos Recordset (Dynaset, Snapshot,
ota. Las constantes usadas para requerir un tipo especfico de Recordset cuando se usa un
o al final del Recordset. El control Data no permite que el usuario se pase de los lmites del
Recordset usando el mouse. No se puede mover el enfoque al control Data.


O

E
acceso a datos son idnticos a los creados mediante cdigo, y tienen las mismas propiedades y
mtodos. Podemos referirnos a ellos usando el nombre del control Data seguido del nombre del
objeto (Database o Recordset). Por ejemplo :



E
DatabaseName del control Data. Lo mismo ocurre con el objeto Recordset. Solamente podemos
cerrarlos utilizando el mtodo Close :



E
de Datos de forma exclusiva, o cuando tenemos que hacer una operacin con la Base de Datos
que exija que est cerrada. Por ejemplo, el mtodo CompactDatabase y otros mtodos que
veremos mas adelante.

O

L
uno sus propiedades y mtodos propios y se pueden escribir procedimientos que usen estas
propiedades y mtodos para manipular los datos.
Por ejemplo, el mtodo MoveNext de un objeto Re
registro del Recordset. Para invocar este mtodo, se podra usar el siguiente cdigo:

E
Table) Si no se indica el tipo a crear, se crea un Recordset de tipo Dynaset.


N
control Data son diferentes de las constantes usadas para determinar el tipo de Recordset creado
o que se va crear usando el mtodo OpenRecordset.

Para seleccionar un tipo especfico de Recordset, establezca la propiedad RecordsetType del
control Data a:

Tipo de Recordset Valor Constante control Data Constante OpenRecordset

Table 0 vbRSTypeTable dbOpenTable

Instructor : Ing. Francisco Torres Hernndez 59
Curso Visual Basic 6.0 Nivel Bsico
Dynaset 1 vbRSTypeDynaset dbOpenDynaset
Snapshot 2 vbRSTypeSnapshot dbOpenSnapshot

Diferencias entre la Edicin Standard y la Edicin Profesional de Visual Basic
En cuanto al acceso a datos, la diferencia principal entre las ediciones Estndar y la Profesional de
Visual Basic es la capacidad de crear nuevos objetos para acceso a datos. En la edicin Estndar
NO se pueden declarar en el cdigo (con la palabra clave Dim) variables como objetos para
acceso a datos. Esto quiere decir que slo el control Data puede crear objetos Database y
Recordset.
En la edicin de Visual Basic, se puede crear un nuevo objeto Profesional y Empresarial SI
Recordset y asignarlo a la propiedad Recordset del control Data.
Esta diferencia ha llevado a la locura a muchos alumnos y programadores usando la versin de
su casa y la de su empresa o centro escolar !

En la pequea aplicacin realizada al comienzo de este tema ha visto que los controles enlazados
ando se usa el control Data es la posibilidad de presentar una consulta
pida una consulta utilizando una consulta ya creada en Access que introduciendo
ente en
Autores
a datos permiten visualizar e introducir datos en la base de datos a travs del control Data.
Efectivamente, no tendra sentido poner un control data sin enlazarlo a otros controles para que
estos nos sirvan de elementos de presentacin y captura de datos. Veremos mas adelante en este
captulo los controles enlazados a datos.

onsultas almacenadas C

tra opcin importante cu O
realizada previamente en Access. Si se ha creado previamente una consulta, el control Data nos
mostrar esa consulta como si se tratase de una tabla ms de la base de datos, al desplegar la
lista de tablas para cubrir la propiedad RecordSource. Puede por lo tanto presentar solamente los
campos que necesite en su aplicacin, tomados de una tabla (o de varias tablas si ha establecido
las relaciones oportunas) y de esta forma su aplicacin va a trabajar ms rpido que si tuviese que
seleccionar esos campos mediante una instruccin SQL Para presentar una consulta, establezca
la propiedad RecordSource del control Data al nombre de esa consulta (En vez de poner el
nombre de una tabla, ponga el nombre de la consulta). Esto no puede hacerse si la consulta
contiene parmetros. Esto le ocurre cuando la consulta se ha creado partiendo de los datos de
otra consulta.

s mucho ms r E
la consulta en SQL. La razn es muy sencilla. Al crear una consulta es Access quien crea una
especie de tabla nueva en la propia base de datos. Esta tabla nueva no contiene datos, sino
referencias a registros de una tabla. Por lo tanto, el motor de bases de datos se limita a recorrer
esa tabla nueva, tomar el nmero del registro que debe presentar, ir a ese registro y tomar el
dato que contiene. Si lo que hace es una consulta SQL, se debe obtener la informacin registro a
registro segn las condiciones establecidas en la clusula SQL. Esta segunda opcin tarda
logicamente ms. Y si est leyendo la base de datos a travs de una red de rea local, la
ocupacin de esta red es mucho menor si el recordset se crea con la consulta de Access.

stamos hablando de una consulta SQL establecida en el control Data. Dnde? J ustam E
la propiedad RecordSource del control data. Hasta ahora habamos puesto en esa propiedad el
nombre de una tabla o de una consulta ya hecha en Access. Si en vez del nombre de la tabla
ponemos una consulta SQL, la cosa tambin funciona:
Con una Tabla

ata1.RecordSource = D

on una consulta SQL C


Instructor : Ing. Francisco Torres Hernndez 60
Curso Visual Basic 6.0 Nivel Bsico
Data1.RecordSource =Select * From Autores Where Apellidos =Cervantes Saavedra
Apellidos
ea igual a Cervantes Saavedra Funciona, pero para averiguar el nmero de registros que tienen
gramarse para que se ajuste automticamente a la parte superior
inferior de su formulario primario usando la propiedad Align. En cualquier caso, el control Data
Flat y 3-D
ondo de la parte intermedia del control
dministracin de BOF/EOF
establecen el comportamiento del control Data cuando
ga al principio o final de los registros. En esos casos se produce el BOF y EOF respectivamente.
mediatamente anterior al primero (No es un juego de palabras). Este registro ser el -1.
del Data cuando nos hemos
asado de registros por abajo. Tiene las opciones MoveFirst (se mueve al primer registro) o BOF
n establece el comportamiento del control Data cuando se sobrepasa el
ltimo registro. Podemos indicarle que se mueva al ltimo registro (MoveLast), que se quede
l.
l control Data el tipo de base
e datos a la que va a conectarse. Admite todas las bases enumeradas al principio de este

Esta consulta obtiene de la tabla Autores, solamente los registros en los que el campo
s
esos apellidos deber recorrerlos todos, comprobar si son iguales a los expresados en la
sentencia SQL y en caso afirmativo pasarlos al recordset creado. Si se hubiera creado una
consulta previamente en Access, y pusisemos el nombre de la consulta en la propiedad
RecordSource del control Data, ste ira directamente a los registros que gozan de tan ilustres
apellidos, ya que Access habra hecho una tabla con los nmeros de los registros que cumplen
esa condicin (esa tabla no contiene los datos, sino el nmero de los registros que los contienen),
el control data leera esos nmeros e ira a los registros indicados en esos nmeros, evitando de
esta forma tener que leer el contenido del campo Apellidos del resto de los registros. De cualquier
forma, si la base de datos est en el mismo ordenador que la aplicacin, esto empieza a ser
importante cuando trate tablas con muchos registros. Si est en una red de rea local no hace
falta tener muchos registros para comprobar que se ralentiza la aplicacin.

Propiedades del control Data

Align El control Data puede pro
o
ajusta su tamao horizontal al de su formulario primario cuando el tamao de ste cambia. Esta
propiedad permite situar un control Data en un formulario MDI sin requerir un control Picture que
lo contenga.

Appearance

Backcolor Color de f



A

Las propiedades BOFAction y EOFAction
lle

BOF (Begin Of File). Se produce el BOF cuando el control Data se posiciona sobre el registro
in
EOF (End Of File) Se produce la condicin EOF cuando el control Data se posiciona en el registro
inmediatamente posterior al ltimo. Este registro ser tambin el -1.

La propiedad BOFAction permite seleccionar el comportamiento
p
(se queda donde est)

La propiedad EOFActio

donde est (EOF), o que introduzca un nuevo registro (AddNew)



Caption El nombre que figurar en la parte intermedia del contro

Connect Muy Importante. En esta propiedad debemos indicarle a
d
captulo.


Instructor : Ing. Francisco Torres Hernndez 61
Curso Visual Basic 6.0 Nivel Bsico
DatabaseName En esta propiedad se le indica el nombre (Con su Path) de la base de datos a la
ue debe conectarse. Para facilitar la bsqueda de la base de datos, haciendo click en esta
ad evuelve una referencia a un objeto Database subyacente de
n control Data.
ariable = nombredelcontroldata.Database
Data en las propiedades DatabaseName,
xclusive, ReadOnly y Connect del control.
Database con la propiedad Database de un control
crear un objeto Recordset y pasarlo a la propiedad Recordset de un
q
propiedad en la caja de propiedades, podemos sacar un cuadro de dilogo haciendo click de
nuevo en los tres puntos que aparecen a la derecha de la propiedad. El cuadro de dilogo
seleccionar directamente las extensiones de los ficheros de bases de datos acordes con el tipo
de base de datos seleccionada en la propiedad Connect.

Database (Solo en ejecucin)

Esta propied es slo de lectura. D
u

Sintaxis V

El objeto base creado por el control Data se basa
E
Los objetos Database tienen propiedades y mtodos que puede utilizar para administrar los datos.
Puede utilizar cualquier mtodo de un objeto
Data, como Close y Execute. Tambin puede examinar la estructura interna de la Database
empleando su coleccin TableDefs y, a su vez, las colecciones Fields e Indexes de objetos
TableDef individuales.

NOTA. Aunque puede
control Data, no puede abrir una base de datos y pasar el objeto Database recin creado a
la propiedad Database del control Data.

DragIcon, DragMode , Enabled Igual que todos los controles.
tablece un valor que indica el tipo del origen de datos (Motor J et u ODBCDirect) que
e usan en el control Data.
ontrolData.DefaultType = 1
ar lo l Motor J et) Pueden usarse tambin las
onstantes dbUseODBC o dbUseJet respectivamente
olo lectura en tiempo de ejecucin. Devuelve un valor que indica el estado de modificacin del
Variable =NombreDelControlData.EditMode
nguna operacin de modificacin.
bEditInProgress Se ha invocado el mtodo Edit y el registro actual se encuentra en el
istro nuevo que an no se ha guardado en la base de
La propiedad EditMod
predeterminada de un c ata, o cuando no se utiliza un control Data en Visual Basic Edicin

DefaultType

Devuelve o es
s

Sintaxis NombreDelC

Puede tom s valores 1 (Usa ODBCDirect) y 2 (Usa e
c

EditMode
S
registro actual.

Sintaxis

Variable tomar uno de los siguientes valores :

dbEditNone No se est realizando ni
d
bfer de copia.
dbEditAdd Se ha invocado el mtodo AddNew y el registro actual del bfer de
copia es un reg
datos.
e es especialmente til cuando se desea partir de la funcionalidad
ontrol D

Instructor : Ing. Francisco Torres Hernndez 62
Curso Visual Basic 6.0 Nivel Bsico
profesional. Puede comprobar el valor de la propiedad EditMode y el del parmetro accin del
procedimiento del evento Validate para determinar si se debe invocar el mtodo Update.
Tambin puede comprobar si el valor de la propiedad LockEdits es True y el de EditMode es
dbEditInProgress para determinar si la pgina de datos actual se encuentra bloqueada.

Exclusive Devuelve o establece un valor (True / False) que indica si la base de datos est
bierta para acceso de un nico usuario o de mltiples usuarios.
ter, Name, igual que el resto de
s controles.
piedad caracterstica de los controles que tienen la propiedad Align. Establece un
alor que determina si se muestra un control que puede alinearse cuando un objeto activo del
ecordset de la propiedad Recordset del control Data. Puede ponerse en el cuadro de
s no pueden realizar
cambios en registros del Recordset.
).
8 dbAppendOnly o puede

condicin de unin.
64 dbSQLPassThrough ccin SQL en
la propiedad RecordSource, enva la instruccin SQL a una base
su
256 dbForwardOnly
movimiento permitido es MoveNext. Esta opcin
con el
512 dbSeeChanges
d edita.
Para establecer mas de un val ta con sumar sus valores. Tambin puede
stablecer ms de un valor para esta propiedad, combinando opciones sumando valores entre s.
Para de ico, puede utilizar el operador And. Por
jemplo, para averiguar si el Recordset est abierto para acceso de slo lectura, podra usar este
a

Font, ForeColor, Height, Index, Left, MouseIcon, MousePoin
lo

Negotiate Pro
v
formulario muestra una o ms barras de herramientas. No est disponible en tiempo de ejecucin.

Options Devuelve o establece un valor que especifica una o ms caractersticas del objeto
R
propiedades o en tiempo de ejecucin. Puede tomar los siguientes valores o nombres de
constantes (estos nombres solo si los introduce en tiempo de ejecucin)

1 dbDenyWrite En un entorno multiusuario, otros usuario
2 dbDenyRead En un entorno multiusuario, otros usuarios no pueden leer
registros (slo Recordset de tipo tabla
4 dbReadOnly No se pueden realizar cambios en registros del Recordset.
Puede agregar nuevos registros al Recordset, pero n
leer los registros existentes.
16 dbInconsistent Las actualizaciones pueden aplicarse a todos los campos del
Recordset, aunque infrinjan la
32 dbConsistent (Predeterminado) Las actualizaciones slo se aplican a los
campos que no infringen la condicin de unin.

Cuando se utilizan controles Data con una instru
de datos ODBC, como SQL Server o Oracle, para
procesamiento.
El Recordset es un desplazamiento slo hacia adelante. El
nico mtodo de
no puede utilizarse en objetos Recordset manipulados
control Data.
Genera un error interceptable si otro usuario est cambiando
datos que uste

or de los descritos, bas
e
Por ejemplo, para establecer dbReadOnly y dbInconsistent puede utilizar este cdigo:

Data1.Options =dbAppendOnly +dbInconsistent

terminar si la propiedad contiene un valor especf
e
cdigo:

If Data1.Options And dbReadOnly Then...

Instructor : Ing. Francisco Torres Hernndez 63
Curso Visual Basic 6.0 Nivel Bsico

Si camb cucin, deber utilizar el mtodo Refresh para
ue el cambio sea efectivo.
blece un valor que determina si la Database del control est abierta
ara acceso de slo lectura.
ce un valor que indica el tipo de objeto Recordset que desea que cree el control
ata.
lores o nombre de la constante que puede adoptar son los siguientes:
vbRSTypeDynaset (Predeterminado) Un Recordset de tipo hoja de respuestas


no e ree el Recordset, se crear un
ecordset de tipo hoja de respuestas dinmica. (Dynaset)
ecordset
establece un objeto Recordset definido por las propiedades de un control Data o por
n objeto Recordset existente.
piedades de un objeto Recordset, propiedades que son en todo
plicables al Recordset del control Data.
n conjunto de registros. Si las propiedades Connect,
atabaseName, Options, RecordSource, Exclusive, ReadOnly y RecordsetType establecidas para
nga su Recordset
odemos referirnos a l, por ejemplo para ir al primer registro (Data1.Recordset.MoveFirst),
ual
ropiedades citadas al principio que cambien el Recordset, es
ecesario volver a crearlo. Para ello basta con utilizar el Mtodo Refresh. (Data1.Refresh)
lece la tabla, el objeto QueryDef (Consulta) o la instruccin SQL subyacente para
n control Data. Esta propiedad puede fijarse en el cuadro de propiedades del control data, (el
ia la propiedad Options en tiempo de eje
q

ReadOnly Devuelve o esta
p

RecordsetType

Devuelve o estable
D

Los va

0 vbRSTypeTable Un Recordset de tipo tabla.
1
dinmica.
2 vbRSTypeSnapshot Un Recordset de tipo instantnea.
Si specifica un RecordsetType antes de que el control Data c
R


R

Devuelve o
u

Veremos mas adelante las pro
a

El Recordset es como se adelant, u
D
el control Data son vlidas, se crea un Recordset automticamente basndose en dichas
propiedades. Ese ser el Recordset del control Data. Pero tambin puede crearse previamente un
Recordset mediante la instruccin OpenRecordset y forzar que el Recordset del control Data sea
justamente ese mediante la instruccin Set Data1.Recordset = MiRecordset

Sea cual fuera la forma de crearlo, a partir del momento en que el Data te
p
avanzar un registro (Data1.Recordset.MoveNext), al anterior (Data1.Recordset.MovePrevious)
ir al ltimo (Data1.Recordset.MoveLast), aadir un registro (Data1.Recordset.AddNew), guardar
los cambios en la Base de Datos (Data1.Recordset.Update), o borrar el registro act
(Data1.Recordset.Delete)

Si se cambia alguna de las p
n

RecordSource

Devuelve o estab
u
caso mas usado) o introducirse como cdigo. En los dos primeros casos, lo normal es introducir el
nombre de una tabla o una consulta de las existentes en la base de datos especificada en la

Instructor : Ing. Francisco Torres Hernndez 64
Curso Visual Basic 6.0 Nivel Bsico
propiedad DatabaseName, nombres que se pueden elegir desplegando la lista que se obtiene
haciendo click sobre la flecha que aparece al lado de la casilla de esta propiedad. Observe que en
la lista desplegada figuran los nombres de las tablas y de las consultas que tiene la Base de Datos
elegida en la propiedad DatabaseName. Ni que decir tiene que para poder introducirla de esta
forma es necesario fijar previamente la propiedad DatabaseName.

Puede introducirse en tiempo de ejecucin mediante cdigo con la siguiente expresin :
bre de una Tabla o
na Consulta, de las que componen la base de datos especificada en la propiedad
d RecordSource como el nombre de una consulta existente en la base de
atos, todos los campos devueltos por la consulta sern visibles a los controles enlazados
todos
s campos devueltos por la consulta a SQL sern visibles a los controles enlazados adjuntos al
ambiar el valor de la propiedad RecordSource en tiempo de ejecucin, deber
tilizar el mtodo Refresh para activar el cambio.
ne un valor vlido para su propiedad DataField.
i cambia el valor de la propiedad RecordSource de un control Data y, a continuacin, utiliza
as Propiedades Tag, Top, Visible, WhatThisHelpID, Width, igual que el resto de los controles.
inciden directamente en el tratamiento de bases de datos. No
e comentan los mtodos Drag, Move y ZOrder que son idnticos a los del resto de controles)
plicable al control Data. Veremos que tambin es aplicable a otros objetos de
cceso a datos (QueryDef). El mtodo Refresh no puede utilizarse con colecciones que no

NombreDelControlData.RecordSource =NombredelaTabla

Donde NombredelaTabla es una expresin de cadena que especifica el nom
u
DatabaseName, o una consulta SQL vlida que utiliza sintaxis apropiada para la base de datos
especificada en la propiedad DataBaseName. La propiedad RecordSource especifica el origen
de los recursos accesibles a travs de controles enlazados del formulario. Si establece la
propiedad RecordSource como el nombre de una tabla existente en la base de datos, todos los
campos de esa tabla sern visibles a los controles enlazados adjuntos a este control Data. El
orden de los registros recuperados lo establece el objeto Index que selecciona mediante la
propiedad Index del Recordset. Si no establece la propiedad Index, los datos se devolvern sin
ningn orden concreto.

Si establece la propieda
d
adjuntos al control Data. El orden de los registros recuperados lo establece la consulta Si en la
consulta no se ha especificado un orden, los datos se devolvern sin ningn orden concreto.

Si establece la propiedad RecordSource como una instruccin SQL que devuelve registros,
lo
control Data. Esta instruccin puede incluir una clusula ORDER BY para cambiar el orden de los
registros devueltos por el Recordset creado por el control Data o una clusula WHERE para filtrar
los registros.

Despus de c
u

Nota. Asegrese de que cada control enlazado tie
S
Refresh, el Recordset identificar el nuevo objeto. Esto puede invalidar los valores de DataField
de controles enlazados y producir un error interceptable.


L

METODOS DEL CONTROL DATA

(Se explican aqu los mtodos que
s

Mtodo Refresh

De momento es a
a
sean persistentes, como Databases, Recordsets o Workspaces.


Instructor : Ing. Francisco Torres Hernndez 65
Curso Visual Basic 6.0 Nivel Bsico
Actualiza los datos del recordset del control data. Imagnese que el control data accede a una
ase de datos compartida. Mediante este mtodo actualizamos el contenido del recordset del Data
NombredelcontrolData.Refresh
Puede brir o reabrir la base de datos (si
an variado las propiedades DatabaseName, ReadOnly, Exclusive o Connect) y volver a generar
tes en los controles enlazados a datos vinculados al control Data.
zados sus valores originales, por ejemplo
uando un usuario modifica los datos y luego decide cancelar los cambios.
sibles valores que se
tos los valores actuales de los controles enlazados.
tual de los controles enlazados en la base
e datos. Los cambios introducidos en los controles enlazados a datos se pasan a la base de
vulnere las
stricciones de integridad referencial, o que la pgina que contiene el registro est bloqueada, o
dos del Control Data. Este control tiene su Recordset, y el Recordset del
ontrol Data tiene sus mtodos, idnticos a los de un Recordset creado por cdigo.
duce solamente como resultado de un error de acceso a datos que tiene lugar cuando no
st ejecutando cdigo Visual Basic. Lo explicamos.
ormulario que lo contiene, abriendo la base
b
y por lo tanto los datos presentados a travs de los controles enlazados. El mtodo Refresh
tambin se utiliza para cerrar y volver a generar el objeto Recordset o las estructuras de datos
creadas por un control Data.

Sintaxis

utilizar el mtodo Refresh sobre un control Data para a
h
el objeto Recordset indicado por la propiedad Recordset del control.

Mtodo UpdateControls

Actualiza los datos presen

Sintaxis Nombredelcontroldata.UpdateControls

Utilice este mtodo para restablecer en los controles enla
c
Este mtodo produce el mismo efecto que hacer actual de nuevo al registro actual, excepto en que
no se produce ningn evento ni introduce en la Base de Datos los po
hubiesen cambiado en los controles enlazados.

Mtodo UpdateRecord

Guarda en la base de da

Sintaxis NombredelcontrolData.UpdateRecord

Puede utilizar este mtodo para guardar el contenido ac
d
datos al cambiar el registro actual, bien mediante cdigo (Data1.Recordset.MoveNext, p.e.) o
usando las flechas del control data, o cambiando el registro actual en un DBGrid. Sin embargo
hay circunstancias en las que no es apropiado hacer esto. Mediante el mtodo UpdateRecord
introducimos los cambios en la BD. Este mtodo no desencadena el evento Validate.

En algunos casos, la actualizacin puede no tener lugar, debido a que la operacin
re
que la base de datos u objeto Recordset no sean actualizables, o a que el usuario no cuente con
el permiso adecuado para la operacin. En cualquiera de estas circunstancias, se producir un
error interceptable.

Estos son los mto
c

EVENTOS DEL CONTROL DATA

Error

Se pro
e

El control data carga los datos durante la carga del f

Instructor : Ing. Francisco Torres Hernndez 66
Curso Visual Basic 6.0 Nivel Bsico
indicada en su propiedad DataBaseName. Imagnese que no existe esa base de datos en el disco.
nto Error del control Data se ejecuta cada vez que ocurre un error por una maniobra
e este tipo, y pasa el cdigo de error como parmetro. Analizando el cdigo de error podemos
ro de dilogo Abrir si no se ha podido encontrar la base de datos
specificada en la propiedad DataBaseName del control Data despus de haber terminado el
rror (DataError As Integer, Response As Integer)
elect Case DataError
rror 3024
g1.ShowOpen
n
espus de que un registro se convierte en el registro actual.
Donde objeto =
uando se carga un control Data, El primer registro de su objeto Recordset se convierte en el
position. Cuando un usuario haga clic en uno de los
to se puede usar para realizar clculos basndose en los datos del registro actual o para
ambiar el formulario en respuesta a los datos del registro actual.
e antes de que un registro diferente se convierta en el registro actual; antes del mtodo
pdate (excepto cuando los datos se guardan con el mtodo UpdateRecord); y de los mtodos
s Integer,] accin As Integer, guardar As Integer)
dice =Indice del control Data dentro de una matriz de controles (Si ha lugar)
peracin que ha producido el evento, como se describe mas
e mas adelante.
En ese caso no se producir ningn interceptable ya que no se ejecuta ningn cdigo escrito.
Tampoco se ejecuta ningn cdigo escrito cuando el usuario hace click en uno de los botones del
control data.

El procedimie
d
escribir cdigo en este procedimiento para paliar el error. La ayuda de VB tiene un buen ejemplo
del uso de este procedimiento.

Este ejemplo presenta un cuad
e
evento Form_Load.

Private Sub Data1_E
S
'Si no se ha encontrado el archivo de base de datos se produce el e
Case 3024
'Presentar un cuadro de dilogo Abrir.
CommonDialo
End Select
End Sub

Repositio

Se produce d

Private Sub Objeto_Reposition()

Nombre del control Data
C
registro actual, provocando el evento Re
botones del control Data, movindose de registro en registro o si se usa uno de los mtodos Move
del objeto Recordset asociado al control data, como MoveNext, MoveFirst, MovePrevious, los
mtodos Find, como FindFirst, FindNext, o cualquier otra propiedad o mtodo que cambie el
registro el actual, se produce el evento Reposition despus de que cada registro se convierta en
el actual.

Este even
c

Validate

Se produc
U
Delete, Unload o la operacin Close.

Private Sub objeto_Validate ([ ndice A

objeto =Nombre del control Data
n
accin =Un entero que indica la o
adelante
guardar =una expresin booleana que especifica si los datos asociados han cambiado, como
se describ

Instructor : Ing. Francisco Torres Hernndez 67
Curso Visual Basic 6.0 Nivel Bsico

Accin
Cancela la operacin cuando se sale del
procedimiento Sub.
st
2 vbDataActionMovePrevious s.
dateRecord).
ha sido definida.

han cambiado.
alse Los datos asociados no han cambiado.
as comprobaciones sobre los registros que se van
escribir en la base de datos.
ara mayor detalle de este evento.
ONTROLES ENLAZADOS A DATOS
s que pueden presentar datos de una base de datos,
travs de un control Data. Los controles enlazados a datos permiten crear aplicaciones con
, que es la propiedad donde
e debe poner el nombre del control Data asociado a ellos. Existen en Visual Basic trece controles
ceso a los datos de las bases a travs de controles
nlazados de un formulario. Crea y administra los objetos Database y Recordset para su uso por
Se utiliza para obtener una combinacin enlazada formada por un cuadro de lista y un
uadro de texto. La lista puede llenarse automticamente a partir de un control Data. El usuario
puede tomar estos valores :

0 vbDataActionCancel
1 vbDataActionMoveFir Mtodo MoveFirst.
Mtodo MovePreviou
3 vbDataActionMoveNext Mtodo MoveNext.
4 vbDataActionMoveLast Mtodo MoveLast.
5 vbDataActionAddNew Mtodo AddNew.
6 vbDataActionUpdate Operacin Update (no Up
7 vbDataActionDelete Mtodo Delete.
8 vbDataActionFind Mtodo Find.
9 vbDataActionBookmark La propiedad Bookmark no
10 vbDataActionClose Mtodo Close.
11 vbDataActionUnload El formulario se va a descargar.

Los valores de guardar son:

True Los datos asociados
F

El evento Validate se usa para realizar las ltim
a

Vea la ayuda de Visual Basic p



C

Los controles enlazados a datos son aquello
a
acceso a datos con muy poco cdigo, o incluso ninguno. Para utilizar cualquiera de estos controles
enlazados conectables a datos debe incluir uno o ms controles Data en un formulario. El control
Data establece un enlace entre la base de datos y los controles enlazados para la manipulacin de
los datos. El control Data que sirve de enlace entre la Base de Datos y los controles enlazados
debe estar obligatoriamente en el mismo formulario que los controles.

Los controles asociados a datos tienen todos la propiedad DataSource
s
enlazados a datos, adems del control Data :

Data Ya comentado, se utiliza para tener ac
e
parte de los controles enlazados. Requerido para su uso con todos los dems controles
enlazados.

DBCombo
c
puede elegir un elemento de la lista o introducir un valor en el cuadro de texto. Puede utilizarse
para proporcionar acceso de lectura / escritura a un campo de texto especfico seleccionado en la
lista.


Instructor : Ing. Francisco Torres Hernndez 68
Curso Visual Basic 6.0 Nivel Bsico
DBList Se usa para mostrar una lista generada a partir de un control Data en la que el usuario
uede elegir un elemento. La lista puede rellenarse automticamente desde un control Data, y
id Se utiliza para mostrar a la vez todos los registros del recordset del control Data. El
BGrid se rellena automticamente con todos los registros, y muestra todos los campos del
ra ofrecer acceso
e slo lectura a un campo de texto especfico.
el usuario puede introducir o modificar. Puede
tilizarse para proporcionar acceso de lectura / escritura a un campo de texto especfico.
cilla para
dicar si algo es verdadero o falso, o para mostrar varias opciones entre las que el usuario pueda
btener una combinacin de un cuadro de lista y un cuadro de texto.
a lista se rellena con el mtodo AddItem. El usuario puede elegir un elemento de la lista o
ento. La lista
e rellena con el mtodo AddItem. Puede usarse para proporcionar acceso de lectura / escritura a
icono o un meta-
rchivo en un formulario. Puede utilizarse para proporcionar acceso de lectura / escritura a un
en grfica de un mapa de bits, un icono o un meta-archivo
n un formulario. Las imgenes mostradas en un control Image utilizan menos recursos que las de
lazado a datos de reciente incorporacin. Apareci con la versin
de VB y es un control parecido al DBGrid, pero con algunas ventajas y otros inconveniente. En
so del Administrador Visual de Datos
Agregar una Base de datos
p
puede proporcionar acceso de lectura / escritura a un campo de texto especfico seleccionado en
ella.

DBGr
D
recordset de control Data, formando una cuadrcula con filas y columnas. El usuario puede elegir
un elemento de la cuadrcula para variar el valor en ese campo y registro o introducir un nuevo
registro. El hecho de colocarse sobre un determinado registro de la cuadrcula, fuerza a ese
registro a convertirse en el registro actual del control Data al que est asociado.

Label Se usa para el texto que el usuario no debe modificar. Puede utilizarse pa
d

TextBox Se utiliza para almacenar texto que
u

CheckBox Se utiliza para crear un cuadro que el usuario puede elegir de forma sen
in
elegir ms de una. Puede utilizarse para proporcionar acceso de lectura / escritura a un campo
booleano o de bit especfico.

ComboBox Se utiliza para o
L
introducir un valor en el cuadro de texto. Puede utilizarse para proporcionar acceso de lectura /
escritura a un campo de texto seleccionado en la lista. Consulte el control DBCombo

ListBox Se utiliza para mostrar una lista en la cual el usuario puede elegir un elem
s
un campo de texto especfico seleccionado en la lista. Consulte el control DBList

PictureBox Se usa para mostrar una imagen grfica de un mapa de bits, un
a
campo de imagen o binario especfico.

Image Se utiliza para mostrar una imag
e
los controles PictureBox. Puede usarse para proporcionar acceso de lectura / escritura a un campo
de imagen o binario especfico.

MSFlexGrid Es un control en
5
este caso, estando asociado a un control Data, el MSFlexGrid solamente permite leer datos, no
podemos variar el contenido de ningn registro. Tampoco se mueve el registro actual del control
Data cuando seleccionamos otra fila del MSFlexGrid.



U

1. En el men complementos selecciona Administrador Visual de Datos

Instructor : Ing. Francisco Torres Hernndez 69
Curso Visual Basic 6.0 Nivel Bsico
2. Una vez que se cargue la Ventana elija del me
de Datos
n archivo la opcin nuevo y despus Base

3. Escriba la ruta y el nombre de la base de datos
4. Procederemos a aadir una tabla a la Base de datos.

Agr r ega una Tabla
1. Una Vez creada la Base de datos(o abierta).
. Pulse clic con el botn derecho de las propiedade 2 s de la base de datos y pulse el
comando Nueva Tabla

3. Se mostrar la siguiente ventana, donde deber asignrsele un nombre de tabla

Instructor : Ing. Francisco Torres Hernndez 70
Curso Visual Basic 6.0 Nivel Bsico

4. Pulse el botn agregar campo para asignar los campos de la tabla deseada. Repita este
proceso tantas veces como campos necesite.
5. Cuando la tabla tenga los campos necesarios pulse el botn Generar la tabla

Agregar un campo
Para anexar un campo deber estar en la ventana estructura de tabla. (Vea la imagen anterior.
1. Pulse el botn Agregar campo
2. En la ventana siguiente escriba el nombre del campo.

Instructor : Ing. Francisco Torres Hernndez 71
Curso Visual Basic 6.0 Nivel Bsico

3. Seleccione un tipo de datos para el campo.
4. Pulse la casilla de verificacin [Necesary] en el caso de que el valor de este campo
siempre deba existir.
5. Pulse el botn Aceptar para agregar el campo a la estructura de la tabla.

Instructor : Ing. Francisco Torres Hernndez 72
Curso Visual Basic 6.0 Nivel Bsico
Ejercicio 1
Se necesita una base de datos que permita almacenar los nombres y los nmeros de
telfonos de varios contactos, adems se necesitar una aplicacin que permita consultarla,
agregar registros, eliminarlos y editarlos. Considere que la empresa no cuenta con una
licencia de Access y ser necesario utilizar el Administrador visual de Datos y Visual Basic 6.0
Para la creacin de la aplicacin.

La estructura de la base de datos deber ser la siguiente
NOMBRE DE LA BASE DE DATOS: Telefonos.mdb
NOMBRE DE LA TABLA: Telefonos
NOMBRE DEL CAMPO TIPO DE DATOS TAMAO INDEXADO
Id_telefono Long (Autoincremental) SI
Nombre Texto 50 Si (Con duplicados)
Direccion Texto 50 No
Telefono Texto 50 No
Notas Texto 240 No Permitir Longitud cero

1. Utilizando el Administrador Visual de Datos construya la siguiente base de datos.
2. Guarde la Base de datos en el mismo directorio en el que se encontrar su proyecto de
Visual Basic. Se recomienda C:\CursoVB\Datos
3. Antes de cerrar el administrador Visual de datos cerciorase de que los nombres de
campos son los mismos y que se han dejado sin acentos.

Instructor : Ing. Francisco Torres Hernndez 73
Curso Visual Basic 6.0 Nivel Bsico



4. En un nuevo formulario anexe .
1 Etiqueta
1 Control Image
2 Control Frame
12 Botones de opcin.
Vea la imagen siguiente para conocer los nombres de los controles y determinar las
propiedades visuales.
El formulario debe verse en estos momentos de la siguiente manera. Configure las propiedades
que considere necesarias pero utilice los mismos nombres de Objetos.

Instructor : Ing. Francisco Torres Hernndez 74
Curso Visual Basic 6.0 Nivel Bsico

cmdBorrar
cmdBuscar
cmdCancelar
cmdEditar
cmdGuardar
cmdNuevo
cmdRefrescar
cmdSalir
cmdInicio
cmdAtras
cmdAdelante
cmdFin

4. Procederemos a agregar los controles que servirn para mostrar informacin de la base
de datos.

txtId_Telefono
txtNombre
TxtDireccion
TxtTelefono
txtNotas
5. En estos momentos nuestra pantalla de Base de datos debe tener el siguiente aspecto

Instructor : Ing. Francisco Torres Hernndez 75
Curso Visual Basic 6.0 Nivel Bsico

6. Verifique que los nombres de controles correspondan con los que se ilustran en las
imgenes.
7. Agregue un control Data al formulario.
8. Deje el nombre de data1 al control. Establezca los parmetros necesarios para conectarse
a la base de datos y para abrir la tabla
9. Enlace cada campo de texto del formulario con su respectivo nombre de campo en la
tabla. Ejemplo el control txtid_telefono debe tener su propiedad DataSource igual a Data1,
y su propiedad dataField a ID_Telefono.
10. Verifique que todos los controles se encuentran enlazados correctamente.
11. Procederemos a agregar el cdigo de los botones de desplazamiento.
Boton CmdInicio

Boton CmdAtras

Instructor : Ing. Francisco Torres Hernndez 76
Curso Visual Basic 6.0 Nivel Bsico

Botn cmdAdelante

Boton CmdFin

12. Para realizar la funcionalidad se requerir de un procedimiento que permita inhabilitar las
cajas de textos y otro para habilitarlas.
Este sera el cdigo necesario



Instructor : Ing. Francisco Torres Hernndez 77
Curso Visual Basic 6.0 Nivel Bsico
13. Necesitaremos uno ms que permita desactivar los botones de comandos. Estos sern
tiles en las opciones de edicin, borrado y guardado


14. Al iniciar el formulario debern estar deshabilitadas las cajas y el botn Guardar.

15. El cdigo del botn Borrar queda de la siguiente manera.

Instructor : Ing. Francisco Torres Hernndez 78
Curso Visual Basic 6.0 Nivel Bsico

16. El cdigo del botn Buscar

17. El cdigo del botn Cancelar.


Instructor : Ing. Francisco Torres Hernndez 79
Curso Visual Basic 6.0 Nivel Bsico
18. El cdigo del botn Editar un registro.

19. El cdigo del botn Guardar

20. El cdigo del botn nuevo

21. El cdigo para el botn Refrescar

22. Anexe el cdigo necesario para el botn Salir
23. Ejecute la aplicacin.
24. Anexe tres registros para probar la funcionalidad del mismo
25. Si no ha cambiado la propiedad Visible del control Data1, cambie esta a False.




Instructor : Ing. Francisco Torres Hernndez 80

También podría gustarte