You are on page 1of 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 Form Command Button Label Text Box Menu Check box

Prefijo frm cmd, btn lbl txt mnu chk

Ejemplo FrmCronometro CmdSalir, btnIniciar LblIniciar, LblFinalizar txtTime, txtName mnuExit, mnuSave chkChoice
2

Instructor : Ing. Francisco Torres Hernndez

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

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 Caption Name Command1: Caption Name Command2: Caption Name Command3: Caption Name Label1: Caption Label2: Caption Label3: Caption Label4: BorderStyle Caption Name Label5: BorderStyle Caption Name

1-Fixed Single Aplicacin Cronometro frmStopWatch

&Iniciar la cuenta cmdIniciar

&Terminar de contar CmdTerminar

&Salir CmdSalir

Hora Inicial

Hora Final

Tiempo Transcurrido

1-Fixed Single En Blanco LblIniciar

1-Fixed Single [Blank] LblFinalizar

Instructor : Ing. Francisco Torres Hernndez

Curso Visual Basic 6.0 Nivel Bsico

Label6: BorderStyle Caption Name

1-Fixed Single [Blank] 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 Integer Long (Integer) Single (Floating) Double (Floating) Currency Date Object String Variant None % & ! # @ None None $ None

Instructor : Ing. Francisco Torres Hernndez

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 Dim Y as Integer Sub Routine1() Dim A as Double . . End Sub Sub Routine2() Static B as Double . . End Sub Form2 Dim Z as Single Sub Routine3() Dim C as String . . 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

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 variables que se usaran.

forza al PROGRAMADOR a declarar todas las

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

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

Curso Visual Basic 6.0 Nivel Bsico

Ideas para mejorar la aplicacin


Curso VB Nivel Bsico FTH

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

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:

lblDia LblMes

LblHora lblDiaMes

timReloj lblyear

El nombre del formulario es frmAgenda Cdigo auxiliar: Private Sub timReloj_Timer() Dim Hoy As Variant Hoy = Now la fecha y hora actuales lblDia.Caption = Format(Hoy, "dddd") lblMes.Caption = Format(Hoy, "mmmm") lblYear.Caption = Format(Hoy, "yyyy") lblDiaMes.Caption = Format(Hoy, "d") lblHora.Caption = Format(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 Caption Name Label1: Caption Label2: Caption Label3: Caption Label4: Caption Text1: Text Name Text2: Text Name Text3: Text Name Text4: Text Name Command1: Caption Name Command2: Caption Name

1-Fixed Single Cuenta de Ahorros frmCuentaAhorros

Deposito mensual

Interes anual

Numero de meses

Saldo final

[Blank] txtDeposito

[Blank] txtInteres

[Blank] txtMeses

[Blank] txtFinal

&Calcular cmdCalcular

&Salir 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 = ( xi )/ N
i =1

Y la formula para la desviacin estndar est dada por s2 = [N xi2 - ( xi )2]/[N(N - 1)]
i =1 i =1 N N

El Formulario propuesto:

Label1 Label2 cmdAceptar cmdNueva Label6 Label4

lblNumero TxtEntrada cmdCalcular cmdSalir lblMedia 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:


Option Explicit Dim NumValores As Integer Dim SumX As Single Dim SumX2 As Single

Cdigo del evento cmdAceptar

Private Sub cmdAceptar_Click() Dim Value As Single txtEntrada.SetFocus NumValores = NumValores + 1 lblNumero.Caption = Str(NumValores) 'Obtener el nmero, sumar y sumar al cuadrado Value = Val(txtEntrada.Text) SumX = SumX + Value SumX2 = SumX2 + Value ^ 2 txtEntrada.Text = "" End Sub

Colocar el siguiente cdigo en el evento clic del botn cmdcalcular


Private Sub cmdCalcular_Click() Dim MEdia As Single Dim StdDev As Single txtEntrada.SetFocus

Instructor : Ing. Francisco Torres Hernndez

19

Curso Visual Basic 6.0 Nivel Bsico

'Estar seguro que hay al menos dos nmeros If NumValores < 2 Then Beep Exit Sub End If MEdia = SumX / NumValores lblMedia.Caption = Str(MEdia) 'calcular la desviacin estndar StdDev = Sqr((NumValores * SumX2 - SumX (NumValores * (NumValores - 1))) lblStdDesv.Caption = Str(StdDev) End Sub

2)

Del botn cmdSalir:


Private Sub cmdSalir_Click() End End Sub

Del botn cmdNueva


Private Sub cmdNueva_Click() txtEntrada.SetFocus NumValores = 0 lblNumero.Caption = "0" txtEntrada.Text = "" lblMedia.Caption = "" lblStdDesv.Caption = "" SumX = 0 SumX2 = 0 End Sub

Cosas para mejorar en el ejercicio de la media y la Desv Estndar.

Curso VB Nivel Bsico FTH

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

Formulario:
Label2

lblNum2

Label4

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:


Option Explicit Dim Sum As Integer Dim NumProb As Integer, NumCorrecto As Integer

cmdExit Click Event:


Private Sub cmdSalir_Click() End End Sub

El cdigo del evento click del botn cmdSiguiente:


Private Sub cmdSiguiente_Click() Dim Numero1 As Integer Dim Numero2 As Integer txtRespuesta.Text = "" lblMensaje.Caption = "" NumProb = NumProb + 1 Numero1 = Int(Rnd Numero2 = Int(Rnd lblNum1.Caption = lblNum2.Caption = * 21) * 21) Format(Numero1, "#0") Format(Numero2, "#0")

Sum = Numero1 + Numero2 cmdSiguiente.Enabled = False txtRespuesta.SetFocus End Sub

Cdigo del evento Activate del formulario:


Private Sub Form_Activate() Call cmdSiguiente_Click End Sub

Instructor : Ing. Francisco Torres Hernndez

23

Curso Visual Basic 6.0 Nivel Bsico

Cdigo del evento Load del Formulario:


Private Sub Form_Load() Randomize Timer NumProb = 0 NumCorrecto = 0 End Sub

El evento KeyPress de la caja txtRespuesta:


Private Sub TxtRespuesta_KeyPress(KeyAscii As Integer) Dim Ans As Integer 'Verificar que nicamente se introduzcan digitos y el caracter ' de retrocreso If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then Exit Sub ElseIf KeyAscii = vbKeyReturn Then 'Tecla Enter? 'Checar la respuesta Ans = Val(txtRespuesta.Text) If Ans = Sum Then NumCorrecto = NumCorrecto + 1 lblMensaje.Caption = "Correcto!" Else lblMensaje.Caption = "La respuesta es " + Format(Sum, "#0") End If LblPuntaje.Caption = Format(100 * NumCorrecto / NumProb, "##0") cmdSiguiente.Enabled = True cmdSiguiente.SetFocus Else KeyAscii = 0 End If 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 Tipo Titulo El mensaje de texto ha ser desplegado Tipo de mensaje. Ilustrado ms adelante 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 0 Ejemplo Constantes de Visual Basic VbOKOnly

vbOKCancel

Instructor : Ing. Francisco Torres Hernndez

25

Curso Visual Basic 6.0 Nivel Bsico

vbAbortRetryIgnore

vbYesNoCancel

VbYesNo

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 0 Ejemplo Constantes de Visual Basic (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 0

Ejemplo

Constantes de Visual Basic vbDefaultButton1

256

vbDefaultButton2

512

vbDefaultButton3

El ultimo parmetro es utilizado para indicar la modalidad de la ventana: Significado Es modal unicamente para la aplicacin Es modal para todos los programas cargados en el Constante VbApplicationModal vbSystemModal

Valor 0 4096

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 1 2 3 4 5 6 7

Constante vbOK vbCancel vbAbort vbRetry vbIgnore vbYes 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 BackColor BorderStyle Caption Enabled Font ForeColor Picture Visible Especifica una apariencia 3D o plana Establece el color de fondo Establece si formulario se podr ajustar. Establece el ttulo de la ventana Si es True permite al formulario responder a los eventos generados. Establece un tipo de fuente, un estilo y un tamao Indiac el color del texto y de los grficos para el primer plano Establece una imagen. 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 Click DblClick Se da cuando el formulario pasa a ser la ventana activa Ocurre cuando el usuario realiza un clic sobre el rea ocupada por este Ocurre cuando el usuario realiza un doble clic sobre el rea ocupada por este. Ocurre cuando el formulario se esta cargando, aqu es un buen lugar para establecer la inicializacin de variables.

Load

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 Cancel Permite seleccionar la apariencia 3D o flotante del control Este indica que cuando el usuario pulsa la tecla ESC, se ejecutar el cdigo de este botn Establece el texto a ser desplegado por el botn Indica que este ser el botn que responder a la tecla ENTER. Establece la fuente, el tamao y el estilo.

Caption Default Font

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. Establece la apariencia 3D o flotante Si es True la etiqueta cambiar su tamao para poder dar cabida a todo el texto que tiene asignado a travs de caption. Determina el tipo de Borde Una cadena que especifica el texto a desplegar dentro de la etiqueta. Establece la fuente, el tamao y el estilo para el texto. 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.

Appearance AutoSize

BorderStyle Caption Font WordWrap

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

MultiLine

PasswordChar ScrollBars

Instructor : Ing. Francisco Torres Hernndez

30

Curso Visual Basic 6.0 Nivel Bsico

SelLength SelStart SelText Tag Text

de desplazamiento. Indica la longitud del texto seleccionado Indica desde donde se empezar a seleccionar. Texto Seleccionado. Solo disponible en tiempo de ejecucin. Establece una cadena El texto a desplegar dentro del control

Eventos de las cajas de texto: Change LostFocus KeyPress Ocurre cada vez que la propiedad text cambia Ocurre cuando el usuario sale del control. Ocurre cuando se presiona una tecla dentro del control.

Mtodos del TextBox SetFocus Ejemplo txtEjemplo.SetFocus 'Mueve el cursor a la caja de texto TxtEjemplo Establece el cursor en el textBox Seleccionado.

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 Font Value Indica el texto a desplegar por el control. Establece la fuente, el tamao y el estilo 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 Font Value Especifica el texto que se mostrar al lado del botn. Establece la fuente, el estilo y el tamao del texto. 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 Font Indica el texto que se desplegar al inicio del marco. 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 Caption Name Frame1: Caption Frame2: Caption Frame3 Caption

1-Fixed Single Dominos Pizza frmPizza

Tamao

Masa

Ingredientes

Instructor : Ing. Francisco Torres Hernndez

33

Curso Visual Basic 6.0 Nivel Bsico

Option1: Caption Name Value Option2: Caption Name

Pequea optTam True

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

Option3: Caption Name Option4: Caption Name Value Option5: Caption Name Option6: Caption Name Value Option7: Caption Name

Grande optTam

Delgada optMasa True

Gruesa optMasa (Responda que si, cuando se le pregunta si desea crear un array de controles) Para Comer aqui optDonde True

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

Check1: Caption Name Check2: Caption Name

Queso Extra chkTop

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

Check3: Caption Name

Aceitunas chkTop

Instructor : Ing. Francisco Torres Hernndez

34

Curso Visual Basic 6.0 Nivel Bsico

Check4: Caption Name Check5: Caption Name Check6: Caption Name Command1: Caption Name Command2: Caption Name

Cebolla chkTop

Pimiento Verde chkTop

Tomates chkTop

&Hacer la pizza cmdHacer

&Salir 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

Mejorar el proyecto
Curso VB Nivel Bsico FTH

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 List ListCount ListIndex Selecciona entre el estilo 3D y Flotante Arreglo con todos los elementos de una lista. Numero de elementos en la lista. El nmero de la lista del elemento recientemente seleccionado. Si no hay un elemento seleccionado el valor por defecto es -1. 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) Un arreglo con los elementos que tienen el valor True si estan seleccionados o False si no lo estn. 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. El texto del item actualmente seleccionado.

MultiSelect

Selected

Sorted

Text

Eventos de un ListBox: Click DblClick

Mtodos de un listBox AddItem Clear RemoveItem Ejemplos lstEjemplo.AddItem "Este es un Nuevo elemento" lstEjemplo.Clear lstEjemplo.RemoveItem 4 ' Elimina lstEjemplo.List(4) del cuadro de lista. Permite agregar un item a la lista. Elimina todos los elementos de la lista. Elimina un item de la lista, a travs de su identificador (index)

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. Selecciona entre el estilo 3D y Appearance Flotante Arreglo con todos los elementos de List una lista. Numero de elementos en la lista. ListCount El nmero de la lista del elemento ListIndex recientemente seleccionado. Si no hay un elemento seleccionado el valor por defecto es -1. True Indica que los elementos se Sorted ordenaran de manera ascendente de acuerdo al cdigo ASCII. Si es False se mostrarn de acuerdo a como se hayan introducido. El mtodo utilizado para la seleccin Style 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. El texto del item actualmente Text seleccionado.

Eventos de un ComboBox: Click DblClick

Mtodos de un ComboBox AddItem Clear RemoveItem Ejemplos cboEjemplo.AddItem "Este es un Nuevo elemento" cboEjemplo.Clear cboEjemplo.RemoveItem 4 ' Elimina lstEjemplo.List(4) del cuadro de lista. Permite agregar un item a la lista. Elimina todos los elementos de la lista. Elimina un item de la lista, a travs de su identificador (index)

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: txtName Frame3 Label2 txtEdad

Label1 Frame1 optSexo cboCiudad

cmdMostrar cmdNuevo

Frame2

chkAct

Frame4

OptNivel

cmdSalir

Establezca las propiedades para cada control. Asegurese que los nombres de controles corresponden con los indicados en la figura. Cdigo: Declaraciones Generales Option Explicit Dim Actividad As String

Evento click() del botn cmdSalir Private Sub cmdSalir_Click() End End Sub Cdigo del evento clic() del botn cmdNuevo: Private Sub cmdNuevo_Click() 'Coloca en blanco a las casillas de verificacin de las actividades Dim I As Integer txtNombre.Text = "" TxtEdad.Text = "" For I = 0 To 5 chkAct(I).Value = 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 Private Sub cmdMostrar_Click() Dim NoAct As Integer, I As Integer Dim Msg As String, Pronombre As String 'Asegurarse que un nombre se ha introducido If txtNombre.Text = "" Then MsgBox "El perfil necesita tu nombre", vbOKOnly + vbCritical, "No se ha introducido un nombre" Exit Sub End If 'Asegurarse que la edad se ha introducido If TxtEdad.Text = "" Then MsgBox "El perfil necesita una edad", vbOKOnly + vbCritical, "No hay Edad" Exit Sub End If

Msg = txtNombre.Text + " tiene" + Str$(TxtEdad.Text) + " aos" + vbCr If optSexo(0).Value = True Then Pronombre = "El " Else Pronombre = "Ella " End If Msg = Msg + Pronombre + "vive en " + cboCiudad.Text + "." + vbCr Msg = Msg + Pronombre + " tiene el nivel " Msg = Msg + Actividad + vbCr NoAct = 0 'Verificamos si tiene actividades seleccionadas For I = 0 To 5 If chkAct(I).Value = vbChecked Then NoAct = NoAct + 1 Next I 'Si el numero de actividades es mayor que cero If NoAct > 0 Then Msg = Msg + "Las actividades que practica son:" + vbCr For I = 0 To 5 If chkAct(I).Value = vbChecked Then Msg = Msg + String$(10, 32) + chkAct(I).Caption + vbCr End If Next I Else 'No tiene actividades Msg = Msg + vbCr End If MsgBox Msg, vbOKOnly, "Perfil del cliente" End Sub

Cdigo del Evento Load Private Sub Form_Load() 'Carga el comboBox con las posibles ciudades cboCiudad.AddItem "Coatzacoalcos"

Instructor : Ing. Francisco Torres Hernndez

42

Curso Visual Basic 6.0 Nivel Bsico

cboCiudad.Text = "Coatzacoalcos" cboCiudad.AddItem "Agua Dulce" cboCiudad.AddItem "Nanchital" cboCiudad.AddItem "Las Choapas" cboCiudad.AddItem "Ixhuatlan" cboCiudad.AddItem "Villahermosa" cboCiudad.AddItem "Cosoleacaque" cboCiudad.AddItem "Acayucan" cboCiudad.AddItem "Jaltipan" cboCiudad.AddItem "Minatitln" Actividad = "Intermedio" End Sub

Cdigo del evento clic del botn de opcin OptNivel Private Sub optnivel_Click(Index As Integer) Select Case Index Case 0 Actividad = "Extremo" Case 1 Actividad = "Avanzado" Case 2 Actividad = "Intermedio" Case 3 Actividad = "Principiante" End Select End Sub Cdigo del evento KeyPress de la caja TxtEdad Private Sub TxtEdad_KeyPress(KeyAscii As Integer) If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = 0 End If 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 Caption Name Drive1: Name Dir1: Name File1: Name Pattern

1-Fixed Single Visualizador de Imagenes frmImage

drvImage

dirImage

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

Label1: Caption BackColor BorderStyle Name Label2: Caption Label3: Caption Label4: Caption Command1: Caption Default Name Command2: Cancel Caption Name Line1: BorderWidth Image1: BorderStyle Name Stretch

[Blanco] Yellow 1-Fixed Single lblImage

Archivos:

Directorios:

Discos:

&Mostrar Imagen True cmdMostrar

True &Salir cmdsalir

1-Fixed Single imgImage 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 New Open Save Exit

Format Cut Copy Paste

Bold Italic Underline Size 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 MultiLine Name ScrollBars Text

1-Fixed Single True txtEdit 2-Vertical [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 Jet.

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 Jet 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 Jet o a travs del citado ODBCDirect.. Esa propiedad es DefaultType y nos permite elegir entre usar el motor de base de datos Jet (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 Jet 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.

Podemos observar que ya funciona. Si ponemos tantos TextBox como campos tiene la tabla 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. Entremos ahora en un estudio un poco ms avanzado del control Data. El control Data proporciona acceso a datos almacenados en bases de datos usando uno de los 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 este est en el mismo Formulario. En el tema de Bases de Datos se emplean trminos no conocidos an. Se irn viendo a lo largo 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. Avance de trminos. 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 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. Una vez iniciada la aplicacin, Visual Basic usa las propiedades del control Data para abrir la base 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 VariableTipoRecordset =Data1.Recordset Y si tenemos otro control Data en la aplicacin (Puede estar en otro formulario) siempre podemos hacer que el recordset de este segundo control Data sea igual al del primero Set Data2.Recordset = VariableTipoRecordset (Obviamente el mbito de VariableTipoRecordset debe permitir que se vea en los formularios donde est Data1 y Data2 Cuando se usa un control Data para crear un objeto Recordset o cuando se crea un objeto Recordset en el cdigo y se asigna al control Data, el motor de base de datos Jet 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 Jet. Se deben poblar desde el cdigo. El prrafo anterior, tomado casi literalmente de la informacin de Microsoft, exige al menos una explicacin. Cuando se crea un Recordset mediante un control Data, se leen inmediatamente todos los 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 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.

Observacin muy importante El control Data crea un objeto Database y un objeto Recordset automticamente. Estos objetos de 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 : Data1.Database Data1.Recordset

El objeto Database creado por un control Data no se cierra aunque se cambie la propiedad DatabaseName del control Data. Lo mismo ocurre con el objeto Recordset. Solamente podemos cerrarlos utilizando el mtodo Close : Data1.Database.Close Data1.Recordset.Close

Esta observacin debe ser tenida muy en cuenta sobre todo cuando el control Data abre la Base 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. Objetos para acceso a datos Los objetos para acceso a datos Database y Recordset creados por el control Data tienen cada 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 Recordset mueve el registro actual al siguiente registro del Recordset. Para invocar este mtodo, se podra usar el siguiente cdigo: Data1.Recordset.MoveNext El control Data puede crear cualquiera de los tres tipos de objetos Recordset (Dynaset, Snapshot, Table) Si no se indica el tipo a crear, se crea un Recordset de tipo Dynaset.

Nota. Las constantes usadas para requerir un tipo especfico de Recordset cuando se usa un 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 Table Valor 0 Constante control Data vbRSTypeTable Constante OpenRecordset dbOpenTable 59

Instructor : Ing. Francisco Torres Hernndez

Curso Visual Basic 6.0 Nivel Bsico

Dynaset Snapshot

1 2

vbRSTypeDynaset vbRSTypeSnapshot

dbOpenDynaset 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 Profesional y Empresarial de Visual Basic, SI se puede crear un nuevo objeto 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 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. Consultas almacenadas Otra opcin importante cuando se usa el control Data es la posibilidad de presentar una consulta 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. Es mucho ms rpida una consulta utilizando una consulta ya creada en Access que introduciendo 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. Estamos hablando de una consulta SQL establecida en el control Data. Dnde? Justamente en 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 Data1.RecordSource = Autores Con una consulta SQL

Instructor : Ing. Francisco Torres Hernndez

60

Curso Visual Basic 6.0 Nivel Bsico

Data1.RecordSource = Select * From Autores Where Apellidos = Cervantes Saavedra Esta consulta obtiene de la tabla Autores, solamente los registros en los que el campo Apellidos sea igual a Cervantes Saavedra Funciona, pero para averiguar el nmero de registros que tienen 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 programarse para que se ajuste automticamente a la parte superior o inferior de su formulario primario usando la propiedad Align. En cualquier caso, el control Data 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 Flat y 3-D Backcolor Color de fondo de la parte intermedia del control

Administracin de BOF/EOF Las propiedades BOFAction y EOFAction establecen el comportamiento del control Data cuando llega al principio o final de los registros. En esos casos se produce el BOF y EOF respectivamente. BOF (Begin Of File). Se produce el BOF cuando el control Data se posiciona sobre el registro inmediatamente anterior al primero (No es un juego de palabras). Este registro ser el -1. 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 del Data cuando nos hemos pasado de registros por abajo. Tiene las opciones MoveFirst (se mueve al primer registro) o BOF (se queda donde est) La propiedad EOFAction establece el comportamiento del control Data cuando se sobrepasa el ltimo registro. Podemos indicarle que se mueva al ltimo registro (MoveLast), que se quede donde est (EOF), o que introduzca un nuevo registro (AddNew) Caption El nombre que figurar en la parte intermedia del control.

Connect Muy Importante. En esta propiedad debemos indicarle al control Data el tipo de base de datos a la que va a conectarse. Admite todas las bases enumeradas al principio de este 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 que debe conectarse. Para facilitar la bsqueda de la base de datos, haciendo click en esta 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 propiedad es slo de lectura. Devuelve una referencia a un objeto Database subyacente de un control Data. Sintaxis Variable = nombredelcontroldata.Database

El objeto Database creado por el control Data se basa en las propiedades DatabaseName, Exclusive, ReadOnly y Connect del control. Los objetos Database tienen propiedades y mtodos que puede utilizar para administrar los datos. Puede utilizar cualquier mtodo de un objeto Database con la propiedad Database de un control 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 crear un objeto Recordset y pasarlo a la propiedad Recordset de un 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. DefaultType Devuelve o establece un valor que indica el tipo del origen de datos (Motor Jet u ODBCDirect) que se usan en el control Data. Sintaxis NombreDelControlData.DefaultType = 1

Puede tomar los valores 1 (Usa ODBCDirect) y 2 (Usa el Motor Jet) Pueden usarse tambin las constantes dbUseODBC o dbUseJet respectivamente EditMode Solo lectura en tiempo de ejecucin. Devuelve un valor que indica el estado de modificacin del registro actual. Sintaxis Variable = NombreDelControlData.EditMode

Variable tomar uno de los siguientes valores : dbEditNone dbEditInProgress No se est realizando ninguna operacin de modificacin. Se ha invocado el mtodo Edit y el registro actual se encuentra en el bfer de copia. dbEditAdd Se ha invocado el mtodo AddNew y el registro actual del bfer de copia es un registro nuevo que an no se ha guardado en la base de datos. La propiedad EditMode es especialmente til cuando se desea partir de la funcionalidad predeterminada de un control Data, o cuando no se utiliza un control Data en Visual Basic Edicin

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 abierta para acceso de un nico usuario o de mltiples usuarios. Font, ForeColor, Height, Index, Left, MouseIcon, MousePointer, Name, igual que el resto de los controles. Negotiate Propiedad caracterstica de los controles que tienen la propiedad Align. Establece un valor que determina si se muestra un control que puede alinearse cuando un objeto activo del 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 Recordset de la propiedad Recordset del control Data. Puede ponerse en el cuadro de 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 2 4 8 16 32 dbDenyWrite dbDenyRead dbReadOnly dbAppendOnly dbInconsistent dbConsistent En un entorno multiusuario, otros usuarios no pueden realizar cambios en registros del Recordset. En un entorno multiusuario, otros usuarios no pueden leer registros (slo Recordset de tipo tabla). No se pueden realizar cambios en registros del Recordset. Puede agregar nuevos registros al Recordset, pero no puede leer los registros existentes. Las actualizaciones pueden aplicarse a todos los campos del Recordset, aunque infrinjan la condicin de unin. (Predeterminado) Las actualizaciones slo se aplican a los campos que no infringen la condicin de unin.

64

256

512

dbSQLPassThrough Cuando se utilizan controles Data con una instruccin SQL en la propiedad RecordSource, enva la instruccin SQL a una base de datos ODBC, como SQL Server o Oracle, para su procesamiento. dbForwardOnly El Recordset es un desplazamiento slo hacia adelante. El nico mtodo de movimiento permitido es MoveNext. Esta opcin no puede utilizarse en objetos Recordset manipulados con el control Data. dbSeeChanges Genera un error interceptable si otro usuario est cambiando datos que usted edita.

Para establecer mas de un valor de los descritos, basta con sumar sus valores. Tambin puede establecer ms de un valor para esta propiedad, combinando opciones sumando valores entre s. Por ejemplo, para establecer dbReadOnly y dbInconsistent puede utilizar este cdigo: Data1.Options = dbAppendOnly + dbInconsistent Para determinar si la propiedad contiene un valor especfico, puede utilizar el operador And. Por ejemplo, para averiguar si el Recordset est abierto para acceso de slo lectura, podra usar este cdigo: If Data1.Options And dbReadOnly Then...

Instructor : Ing. Francisco Torres Hernndez

63

Curso Visual Basic 6.0 Nivel Bsico

Si cambia la propiedad Options en tiempo de ejecucin, deber utilizar el mtodo Refresh para que el cambio sea efectivo. ReadOnly Devuelve o establece un valor que determina si la Database del control est abierta para acceso de slo lectura. RecordsetType Devuelve o establece un valor que indica el tipo de objeto Recordset que desea que cree el control Data. Los valores o nombre de la constante que puede adoptar son los siguientes: 0 1 2 vbRSTypeTable vbRSTypeDynaset vbRSTypeSnapshot Un Recordset de tipo tabla. (Predeterminado) Un Recordset de tipo hoja de respuestas dinmica. Un Recordset de tipo instantnea.

Si no especifica un RecordsetType antes de que el control Data cree el Recordset, se crear un Recordset de tipo hoja de respuestas dinmica. (Dynaset)

Recordset Devuelve o establece un objeto Recordset definido por las propiedades de un control Data o por un objeto Recordset existente. Veremos mas adelante las propiedades de un objeto Recordset, propiedades que son en todo aplicables al Recordset del control Data. El Recordset es como se adelant, un conjunto de registros. Si las propiedades Connect, DatabaseName, Options, RecordSource, Exclusive, ReadOnly y RecordsetType establecidas para 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 tenga su Recordset podemos referirnos a l, por ejemplo para ir al primer registro (Data1.Recordset.MoveFirst), 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 actual (Data1.Recordset.Delete) Si se cambia alguna de las propiedades citadas al principio que cambien el Recordset, es necesario volver a crearlo. Para ello basta con utilizar el Mtodo Refresh. (Data1.Refresh) RecordSource Devuelve o establece la tabla, el objeto QueryDef (Consulta) o la instruccin SQL subyacente para un control Data. Esta propiedad puede fijarse en el cuadro de propiedades del control data, (el 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 : NombreDelControlData.RecordSource = NombredelaTabla Donde NombredelaTabla es una expresin de cadena que especifica el nombre de una Tabla o una Consulta, de las que componen la base de datos especificada en la propiedad 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 propiedad RecordSource como el nombre de una consulta existente en la base de datos, todos los campos devueltos por la consulta sern visibles a los controles enlazados 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, todos los campos devueltos por la consulta a SQL sern visibles a los controles enlazados adjuntos al 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 cambiar el valor de la propiedad RecordSource en tiempo de ejecucin, deber utilizar el mtodo Refresh para activar el cambio. Nota. Asegrese de que cada control enlazado tiene un valor vlido para su propiedad DataField. Si cambia el valor de la propiedad RecordSource de un control Data y, a continuacin, utiliza Refresh, el Recordset identificar el nuevo objeto. Esto puede invalidar los valores de DataField de controles enlazados y producir un error interceptable.

Las Propiedades Tag, Top, Visible, WhatThisHelpID, Width, igual que el resto de los controles. METODOS DEL CONTROL DATA (Se explican aqu los mtodos que inciden directamente en el tratamiento de bases de datos. No se comentan los mtodos Drag, Move y ZOrder que son idnticos a los del resto de controles) Mtodo Refresh De momento es aplicable al control Data. Veremos que tambin es aplicable a otros objetos de acceso a datos (QueryDef). El mtodo Refresh no puede utilizarse con colecciones que no 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 base de datos compartida. Mediante este mtodo actualizamos el contenido del recordset del Data 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 NombredelcontrolData.Refresh

Puede utilizar el mtodo Refresh sobre un control Data para abrir o reabrir la base de datos (si han variado las propiedades DatabaseName, ReadOnly, Exclusive o Connect) y volver a generar el objeto Recordset indicado por la propiedad Recordset del control. Mtodo UpdateControls Actualiza los datos presentes en los controles enlazados a datos vinculados al control Data. Sintaxis Nombredelcontroldata.UpdateControls

Utilice este mtodo para restablecer en los controles enlazados sus valores originales, por ejemplo cuando un usuario modifica los datos y luego decide cancelar los cambios. 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 posibles valores que se hubiesen cambiado en los controles enlazados. Mtodo UpdateRecord Guarda en la base de datos los valores actuales de los controles enlazados. Sintaxis NombredelcontrolData.UpdateRecord

Puede utilizar este mtodo para guardar el contenido actual de los controles enlazados en la base de datos. Los cambios introducidos en los controles enlazados a datos se pasan a la base de 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 vulnere las restricciones de integridad referencial, o que la pgina que contiene el registro est bloqueada, o 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 mtodos del Control Data. Este control tiene su Recordset, y el Recordset del control Data tiene sus mtodos, idnticos a los de un Recordset creado por cdigo. EVENTOS DEL CONTROL DATA Error Se produce solamente como resultado de un error de acceso a datos que tiene lugar cuando no est ejecutando cdigo Visual Basic. Lo explicamos. El control data carga los datos durante la carga del formulario que lo contiene, abriendo la base

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. 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 procedimiento Error del control Data se ejecuta cada vez que ocurre un error por una maniobra de este tipo, y pasa el cdigo de error como parmetro. Analizando el cdigo de error podemos 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 cuadro de dilogo Abrir si no se ha podido encontrar la base de datos especificada en la propiedad DataBaseName del control Data despus de haber terminado el evento Form_Load. Private Sub Data1_Error (DataError As Integer, Response As Integer) Select Case DataError 'Si no se ha encontrado el archivo de base de datos se produce el error 3024 Case 3024 'Presentar un cuadro de dilogo Abrir. CommonDialog1.ShowOpen End Select End Sub Reposition Se produce despus de que un registro se convierte en el registro actual. Private Sub Objeto_Reposition() Donde objeto = Nombre del control Data Cuando se carga un control Data, El primer registro de su objeto Recordset se convierte en el registro actual, provocando el evento Reposition. Cuando un usuario haga clic en uno de los 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 evento se puede usar para realizar clculos basndose en los datos del registro actual o para cambiar el formulario en respuesta a los datos del registro actual. Validate Se produce antes de que un registro diferente se convierta en el registro actual; antes del mtodo Update (excepto cuando los datos se guardan con el mtodo UpdateRecord); y de los mtodos Delete, Unload o la operacin Close. Private Sub objeto_Validate ([ ndice As Integer,] accin As Integer, guardar As Integer) objeto = Nombre del control Data ndice = Indice del control Data dentro de una matriz de controles (Si ha lugar) accin = Un entero que indica la operacin que ha producido el evento, como se describe mas adelante guardar = una expresin booleana que especifica si los datos asociados han cambiado, como se describe mas adelante. Instructor : Ing. Francisco Torres Hernndez 67

Curso Visual Basic 6.0 Nivel Bsico

Accin puede tomar estos valores : 0 1 2 3 4 5 6 7 8 9 10 11 vbDataActionCancel vbDataActionMoveFirst vbDataActionMovePrevious vbDataActionMoveNext vbDataActionMoveLast vbDataActionAddNew vbDataActionUpdate vbDataActionDelete vbDataActionFind vbDataActionBookmark vbDataActionClose vbDataActionUnload Cancela la operacin cuando se sale del procedimiento Sub. Mtodo MoveFirst. Mtodo MovePrevious. Mtodo MoveNext. Mtodo MoveLast. Mtodo AddNew. Operacin Update (no UpdateRecord). Mtodo Delete. Mtodo Find. La propiedad Bookmark no ha sido definida. Mtodo Close. El formulario se va a descargar.

Los valores de guardar son: True False Los datos asociados han cambiado. Los datos asociados no han cambiado.

El evento Validate se usa para realizar las ltimas comprobaciones sobre los registros que se van a escribir en la base de datos. Vea la ayuda de Visual Basic para mayor detalle de este evento.

CONTROLES ENLAZADOS A DATOS Los controles enlazados a datos son aquellos que pueden presentar datos de una base de datos, a travs de un control Data. Los controles enlazados a datos permiten crear aplicaciones con 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, que es la propiedad donde se debe poner el nombre del control Data asociado a ellos. Existen en Visual Basic trece controles enlazados a datos, adems del control Data : Data Ya comentado, se utiliza para tener acceso a los datos de las bases a travs de controles enlazados de un formulario. Crea y administra los objetos Database y Recordset para su uso por parte de los controles enlazados. Requerido para su uso con todos los dems controles enlazados. DBCombo Se utiliza para obtener una combinacin enlazada formada por un cuadro de lista y un cuadro de texto. La lista puede llenarse automticamente a partir de un control Data. El usuario 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 puede elegir un elemento. La lista puede rellenarse automticamente desde un control Data, y puede proporcionar acceso de lectura / escritura a un campo de texto especfico seleccionado en ella. DBGrid Se utiliza para mostrar a la vez todos los registros del recordset del control Data. El DBGrid se rellena automticamente con todos los registros, y muestra todos los campos del 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 para ofrecer acceso de slo lectura a un campo de texto especfico. TextBox Se utiliza para almacenar texto que el usuario puede introducir o modificar. Puede utilizarse para proporcionar acceso de lectura / escritura a un campo de texto especfico. CheckBox Se utiliza para crear un cuadro que el usuario puede elegir de forma sencilla para indicar si algo es verdadero o falso, o para mostrar varias opciones entre las que el usuario pueda elegir ms de una. Puede utilizarse para proporcionar acceso de lectura / escritura a un campo booleano o de bit especfico. ComboBox Se utiliza para obtener una combinacin de un cuadro de lista y un cuadro de texto. La lista se rellena con el mtodo AddItem. El usuario 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 seleccionado en la lista. Consulte el control DBCombo ListBox Se utiliza para mostrar una lista en la cual el usuario puede elegir un elemento. La lista se rellena con el mtodo AddItem. Puede usarse para proporcionar acceso de lectura / escritura a 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 icono o un metaarchivo en un formulario. Puede utilizarse para proporcionar acceso de lectura / escritura a un campo de imagen o binario especfico. Image Se utiliza para mostrar una imagen grfica de un mapa de bits, un icono o un meta-archivo en un formulario. Las imgenes mostradas en un control Image utilizan menos recursos que las de los controles PictureBox. Puede usarse para proporcionar acceso de lectura / escritura a un campo de imagen o binario especfico. MSFlexGrid Es un control enlazado a datos de reciente incorporacin. Apareci con la versin 5 de VB y es un control parecido al DBGrid, pero con algunas ventajas y otros inconveniente. En 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.

Uso del Administrador Visual de Datos


Agregar una Base de datos 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 men archivo la opcin nuevo y despus Base de Datos

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

Agregar una Tabla 1. Una Vez creada la Base de datos(o abierta). 2. Pulse clic con el botn derecho de las propiedades 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 Id_telefono Nombre Direccion Telefono Notas TIPO DE DATOS Long (Autoincremental) Texto Texto Texto Texto 50 50 50 240 TAMAO SI Si (Con duplicados) No No No Permitir Longitud cero INDEXADO

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. al formulario. 7. Agregue un control Data 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. 23. 24. 25.

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

Instructor : Ing. Francisco Torres Hernndez

80

You might also like