0% encontró este documento útil (0 votos)
27 vistas60 páginas

Guía de Laboratorio: Microsoft Visual Basic

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas60 páginas

Guía de Laboratorio: Microsoft Visual Basic

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

GUÍA DE LABORATORIO

Parte II

ELABORADO POR
CARLOS CASTILLO PERALTA
[email protected]

Elaborado por Carlos Castillo Peralta [email protected] 1


INTRODUCCIÓN

La presente Guía de Laboratorio de Microsoft Visual Basic,

se elaboró con la finalidad de complementar la parte teórica

con la parte práctica del curso. Los problemas presentan un

grado de dificultad gradual, es decir, en cada práctica primero

se comienzan con problemas muy sencillos con la finalidad de

que el estudiante esclarezca dudas y quede claro en los

conceptos asimilados en la teoría, y luego en los problemas

posteriores se va incrementando el nivel de dificultad.

Esta guía explora una gran variedad de materias y contiene

muchos problemas recopilados a lo largo de varios años de

experiencia. Espero que satisfaga las necesidades de los

estudiantes y colegas, ya que ha sido elaborada teniendo en

cuenta los objetivos de aprendizaje del curso.

Si desean compartirla con otros colegas, me agradaría

mucho que lo hicieran, con la única condición de que siempre se

respete el derecho del autor.

Desde ya les deseo la mejor de las suertes en el

aprendizaje de Microsoft Visual Basic.

Lima, Diciembre del 2000

Elaborado por Carlos Castillo Peralta [email protected] 2


Carlos Castillo Peralta

Microsoft Visual Basic


GUÍA DE LABORATORIO Nº 6

Objetivos
Luego de completar este laboratorio, el estudiante será
capaz de:

· Crear y manipular bases de datos utilizando Microsoft Access.


· Adicionar un entorno de datos a un proyecto.
· Conectar un origen de datos a un objeto Connection.
· Utilizar un objeto Command para recuperar registros de un
origen de datos.
· Crear formularios con datos enlazados.
· Realizar consultas utilizando sentencias SQL.

Consideraciones
Para el desarrollo del presente laboratorio Ud. deberá
crear una carpeta C:\FundVB\Lab6, para guardar sus trabajos
correspondientes a este laboratorio.

Creación de la base de datos con Microsoft Access 2000


Para desarrollar nuestras prácticas de laboratorio debemos
crear una base de datos cuyo nombre es CursosLibres.MDB, la
cual contendrá las tablas Curso y Laboratorio. La tarea de
crear una base de datos con Microsoft Access 2000 es muy
sencilla. Para tal fin debe realizar lo siguiente:

· Arrancar Microsoft Access 2000.


· Seleccionar la orden Nueva. . . del Menú Archivo.

Elaborado por Carlos Castillo Peralta [email protected] 3


· Dentro del cuadro de diálogo Nueva, en la ficha General,
seleccionar Base de datos y hacer click en el botón
Aceptar.
· Ingresar un nombre para la base de datos, para nuestro caso
ingrese CursosLibres. En seguida se mostrará una ventana
similar a la siguiente:

· Proceda a crear una nueva tabla. Para ello seleccionar la


opción Tablas y haga doble click en Crear una tabla en
vista Diseño.
· Introducir el nombre, el tipo y las propiedades para cada uno
de los campos. Para nuestro caso ingrese lo siguiente:

Tabla Curso
Nombre del Tipo Ancho Descripción
Campo
CurCodigo T 03 Código del curso

CurNombre T 30 Nombre del curso

Elaborado por Carlos Castillo Peralta [email protected] 4


CurVacantes N 03 Número de vacantes disponibles

CurProfe T 50 Nombre del profesor de teoría

CurSilabo M 50 Sílabo de cada curso

· Luego, debe asignar un nombre a la tabla al momento de


cerrarla. Para nuestro caso asígnele el nombre de Curso.
· Por último, proceda a abrir la tabla e introducir datos. Para
nuestro caso, ingrese la siguiente información:

CurCodigo CurNombre CurProfe


BC1 Borland C++ Nivel I Linares Alarcon, Adams
BC2 Borland C++ Nivel II Córdoba Saavedra, Javier
BC3 Borland C++ Nivel III Castillo Peralta, Carlos
VB1 MS Visual Basic Nivel I Linares Alarcon, Adams
VB2 MS Visual Basic Nivel II Linares Alarcon, Adams
VB3 MS Visual Basic Nivel III Castillo Peralta, Carlos
VC1 MS Visual C++ Nivel I Córdoba Saavedra, Javier
VC2 MS Visual C++ Nivel II Castillo Peralta, Carlos
VJ1 MS Visual J++ Nivel I Castillo Peralta, Carlos
VJ2 MS Visual J++ Nivel II Castillo Peralta, Carlos
VF1 MS Visual FoxPro Nivel I Linares Alarcon, Adams
VF2 MS Visual FoxPro Nivel II Castillo Peralta, Carlos
VF3 MS Visual FoxPro Nivel III Castillo Peralta, Carlos
PB1 Power Builder Nivel I Córdoba Saavedra, Javier
PB2 Power Builder Nivel II Córdoba Saavedra, Javier
SQ1 MS SQL Server Nivel I Córdoba Saavedra, Javier
SQ2 MS SQL Server Nivel II Córdoba Saavedra, Javier
WIN MS Windows 98 Montes Tejada, Estela

Elaborado por Carlos Castillo Peralta [email protected] 5


A menudo, el proceso de diseño de la base de datos es
bastante complejo. Para nosotros ha sido fácil, pues se nos
brinda la estructura de las tablas.

De manera análoga, proceda a crear la siguiente tabla


según se indica a continuación:

Tabla Laboratorio
Nombre del Tipo Ancho Descripción
Campo
LabCodigo T 03 Código del curso

LabHora T 08 Horario de laboratorio

LabProfe T 50 Nombre del profesor de laboratorio

Al momento de cerrar la tabla que acaba de crear, asígnele


el nombre de Laboratorio. Luego, proceda a ingresar la
siguiente información:

LabCodigo LabHora LabProfe


BC1 SA 08-10 Castillo Peralta, Carlos
BC2 SA 10-12 Linares Alarcon, Adams
BC3 DO 10-12 Castillo Peralta, Carlos
VB1 SA 08-10 Montes Tejada, Estela
VB2 DO 10-12 Linares Alarcon, Adams
VB3 DO 08-10 Castillo Peralta, Carlos
VC1 DO 08-10 Linares Alarcon, Adams
VC2 DO 10-12 Córdoba Saavedra, Javier
VJ1 SA 16-18 Castillo Peralta, Carlos
VJ2 SA 18-20 Castillo Peralta, Carlos
VF1 SA 08-10 Linares Alarcon, Adams

Elaborado por Carlos Castillo Peralta [email protected] 6


VF2 DO 08-10 Córdoba Saavedra, Javier
VF3 DO 14-16 Linares Alarcon, Adams
PB1 VI 16-18 Córdoba Saavedra, Javier
PB2 VI 14-16 Córdoba Saavedra, Javier
SQ1 SA 16-18 Córdoba Saavedra, Javier
SQ2 SA 18-20 Córdoba Saavedra, Javier
WIN SA 10-12 Montes Tejada, Estela

Aplicación Nº 1
Elaborar una aplicación que permita realizar el
mantenimiento de la información almacenada en la tabla Curso de
la base de datos CursosLibres.MDB. El diseño de la interfaz
debe ser similar a la figura mostrada:

Los botones ubicados en el marco Navegador (Primero,


Anterior, Siguiente y Ultimo, de izquierda a derecha) permiten
desplazarse a través de la tabla. Los botones ubicados en el
marco Mantenimiento (Nuevo, Editar, Guardar y Eliminar, de

Elaborado por Carlos Castillo Peralta [email protected] 7


izquierda a derecha) permiten realizar las operaciones básicas
de mantenimiento de la tabla.

Para desarrollar nuestra aplicación, lo primero que


debemos hacer es conectarnos a la base de datos
CursosLibres.MDB. Para ello ingrese a Visual Basic de manera
habitual, a continuación en el menú Proyecto seleccione la
opción Agregar Data Environment y se creará una nueva conexión
para la que debe establecer propiedades de vínculo de datos. En
la ventana Data Environment cambie el nombre del objeto
DataEnvironment por DeCursosLibres y el de la conexión por
CnCursosLibres. El aspecto de la ventana Data Environment
deberá ser similar a la siguiente figura:

Luego haga click con el botón derecho del ratón en


CnCursosLibres y seleccione la opción Propiedades. Deberá
presentarse un cuadro de diálogo similar al siguiente:

Elaborado por Carlos Castillo Peralta [email protected] 8


En la ficha Proveedor del cuadro de diálogo anterior,
seleccione Microsoft Jet 4.0 OLE DB Provider y haga click en el
botón Siguiente. En seguida aparecerá un cuadro de diálogo
similar al mostrado:

Elaborado por Carlos Castillo Peralta [email protected] 9


En la ficha Conexión del cuadro de diálogo Propiedades de
Data Link escriba el nombre de la base de datos
CursosLibres.MDB y haga click en el botón Probar conexión.
Luego si la conexión es satisfactoria haga click en el botón
Aceptar.

En seguida en la barra de herramientas de la ventana Data


Environment haga click en el botón Agregar Comando y denomine
al comando CmCurso. Luego haga click derecho sobre el comando y
seleccione Propiedades:

Elaborado por Carlos Castillo Peralta [email protected] 10


Compruebe que este comando utiliza la conexión
CnCursosLibres, luego establezca el nombre de la tabla a
utilizar, en este caso Curso y haga click en el botón Aceptar.

A continuación seleccione el comando CmCurso y arrástrelo


hacia el formulario. Finalmente agregue los siguientes
controles al formulario:

3 marcos
9 botones de comandos

En seguida proceda a establecer las propiedades


requeridas:

Form1
Nombre FrmMantenCurso
Caption Mantenimiento de cursos
BorderStyle 3-Fixed Dialog

Elaborado por Carlos Castillo Peralta [email protected] 11


Frame1
Nombre FraIngreso
Caption

Frame2
Nombre FraNavegador
Caption Navegador

Frame3
Nombre FraMantenimiento
Caption Mantenimiento

LblFieldLabel(0)
Nombre LblFieldLabel
Caption Código:

LblFieldLabel(1)
Nombre LblFieldLabel
Caption Nombre:

LblFieldLabel(2)
Nombre LblFieldLabel
Caption Vacantes:

LblFieldLabel(3)
Nombre LblFieldLabel
Caption Profesor:

TxtCurCodigo
Nombre TxtCurCodigo
Locked True

Elaborado por Carlos Castillo Peralta [email protected] 12


Text

TxtCurNombre
Nombre TxtCurNombre
Locked True
Text

TxtCurVacantes
Nombre TxtCurVacantes
Locked True
Text

TxtCurProfe
Nombre TxtCurProfe
Locked True
Text

Command1
Nombre CmdPrimero
Caption
Picture C:\FundVB\Bitmaps\First.bmp
Style 1-Graphical

Command2
Nombre CmdAnterior
Caption
Picture C:\FundVB\Bitmaps\Previous.bmp
Style 1-Graphical

Command3

Elaborado por Carlos Castillo Peralta [email protected] 13


Nombre CmdSiguiente
Caption
Picture C:\FundVB\Bitmaps\Next.bmp
Style 1-Graphical

Command4
Nombre CmdUltimo
Caption
Picture C:\FundVB\Bitmaps\Last.bmp
Style 1-Graphical

Command5
Nombre CmdNuevo
Caption
Picture C:\FundVB\Bitmaps\New.bmp
Style 1-Graphical

Command6
Nombre CmdEditar
Caption
Picture C:\FundVB\Bitmaps\Edit.bmp
Style 1-Graphical

Command7
Nombre CmdGuardar
Caption
Picture C:\FundVB\Bitmaps\Save.bmp
Style 1-Graphical

Elaborado por Carlos Castillo Peralta [email protected] 14


Command8
Nombre CmdEliminar
Caption
Picture C:\FundVB\Bitmaps\Delete.bmp
Style 1-Graphical

Command9
Nombre CmdSalir
Caption &Salir
Picture C:\FundVB\Bitmaps\Exit.bmp
Style 1-Graphical

El código asociado a la aplicación se muestra a


continuación:

Private Sub CmdPrimero_Click()


DeCursosLibres.rsCmCurso.MoveFirst
End Sub

Private Sub CmdUltimo_Click()


DeCursosLibres.rsCmCurso.MoveLast
End Sub

Private Sub CmdAnterior_Click()


DeCursosLibres.rsCmCurso.MovePrevious
If DeCursosLibres.rsCmCurso.BOF Then
DeCursosLibres.rsCmCurso.MoveFirst
MsgBox “Estamos en el primer registro”
End If
End Sub

Elaborado por Carlos Castillo Peralta [email protected] 15


Private Sub CmdSiguiente_Click()
DeCursosLibres.rsCmCurso.MoveNext
If DeCursosLibres.rsCmCurso.EOF Then
DeCursosLibres.rsCmCurso.MoveLast
MsgBox “Estamos en el último registro”
End If
End Sub

Private Sub CmdNuevo_Click()


DeCursosLibres.rsCmCurso.AddNew
ModoEditar True
End Sub

Private Sub CmdEditar_Click()


ModoEditar True
End Sub

Private Sub CmdGuardar_Click()


DeCursosLibres.rsCmCurso.Update
ModoEditar False
End Sub

Private Sub CmdEliminar_Click()


DeCursosLibres.rsCmCurso.Delete
DeCursosLibres.rsCmCurso.MoveNext
If DeCursosLibres.rsCmCurso.EOF Then
DeCursosLibres.rsCmCurso.MoveLast
End If
End Sub

Private Sub CmdSalir_Click()

Elaborado por Carlos Castillo Peralta [email protected] 16


Unload Me
End

Private Sub Form_Unload(Cancel As Integer)


If MsgBox(“¿Desea terminar la aplicación?”, _
vbQuestion + vbYesNo, “Pregunta”) = vbYes Then
End
Else
Cancel = True
End If
End Sub
Private Sub Form_Activate()
ModoEditar False
End Sub

Private Sub ModoEditar(ByVal Ok As Boolean)


TxtCurCodigo.Locked = Not Ok: TxtCurNombre.Locked = Not Ok
TxtCurVacantes.Locked = Not Ok: TxtCurProfe.Locked = Not Ok
CmdNuevo.Enabled = Not Ok: CmdEditar.Enabled = Not Ok
CmdGuardar.Enabled = Ok: CmdEliminar.Enabled = Not Ok
CmdPrimero.SetFocus: If Ok Then TxtCurCodigo.SetFocus
End Sub

Finalmente antes de ejecutar la aplicación debemos


asegurarnos de elegir el tipo de bloqueo adecuado. Para ello
haga click derecho sobre el comando CmCurso y elija la opción
Propiedades y en la ficha Avanzadas selecciones el tipo de
bloqueo 3-Optimistic, tal como se muestra en la figura
siguiente:

Elaborado por Carlos Castillo Peralta [email protected] 17


Aplicación Nº 2
Desarrollar una aplicación que permita mostrar en una
grilla el contenido de la tabla Curso. El diseño de la interfaz
se muestra a continuación:

Para desarrollar la aplicación, lo primero que debemos


hacer es conectarnos a la base de datos CursosLibres.MDB.

Elaborado por Carlos Castillo Peralta [email protected] 18


Luego, añada un Comando y denomínelo CmConsultaCurso. Haga
click derecho sobre el comando y seleccione Propiedades:

Compruebe que este comando utiliza la conexión


CnCursosLibres. Luego seleccione la opción Instrucción SQL
(Structured Query Language, Lenguaje de Estructuras de
Consultas) e ingrese el siguiente código:

Select CurCodigo As Código, CurNombre As Nombre,


CurVacantes As Vacantes, CurProfe As Profesor From Curso

Luego, haga click en el botón Aceptar. La ventana


DataEnvironment debe presentar el siguiente aspecto:

Elaborado por Carlos Castillo Peralta [email protected] 19


A continuación seleccione el comando CmConsultaCurso y
arrástrelo con el botón derecho del ratón hacia el formulario.
Del menú desplegable que se presenta, seleccione la opción
Cuadrícula de datos.

Luego, cambie las dimensiones de la grilla de tal forma


que ocupe la totalidad del formulario. Finalmente guarde y
pruebe su aplicación.

Aplicación Nº 3
Desarrollar una aplicación que permita seleccionar de un
control DataCombo el nombre de un profesor y visualizar los
cursos que dicta dicho profesor.

Elaborado por Carlos Castillo Peralta [email protected] 20


Lo primero que debe hacer es conectarse a la base de datos
CursosLibres.MDB. En seguida añada un comando y denomínelo
CmConsultaProfe. Luego haga click derecho sobre el comando y
seleccione Propiedades. Compruebe que este comando utiliza la
conexión CnCursosLibres. Luego seleccione la opción Instrucción
SQL e ingrese el siguiente código:

Select CurCodigo As Código, CurNombre As Nombre,


CurProfe As Profesor From Curso Where (CurProfe = ?)

A continuación proceda a añadir otro comando y denomínelo


CmProfe. Compruebe que este comando utiliza la conexión
CnCursosLibres. Seleccione la opción Instrucción SQL e ingrese
el siguiente código:

Select Distinct CurProfe From Curso

Luego proceda ha ubicar los siguientes controles en el


formulario:
1 control DataCombo
1 control DataGrid
1 botón de comandos

Elaborado por Carlos Castillo Peralta [email protected] 21


En seguida proceda a establecer las propiedades según se
indica:

Form1
Nombre FrmConsultaProfe
Caption Consulta de profesores
BorderStyle 3-Fixed Dialog

DataCombo1
Nombre DbcProfe
ListField CurProfe
RowMember CmProfe
RowSource DeCursosLibres

DataGrid1
Nombre DbgrdCursos
Font Arial (Negrita 10)
HeadFont Arial (Negrita 10)

Command1
Nombre CmdBuscar
Caption &Buscar

A continuación ingrese el siguiente código:

Private Sub CmdBuscar_Click()


If DeCursosLibres.rsCmConsultaProfe.State = adStateOpen Then
DeCursosLibres.rsCmConsultaProfe.Close
End If
DeCursosLibres.CmConsultaProfe (DbcProfe.Text)
Set DbgrdCursos.DataSource = DeCursosLibres.rsCmConsultaProfe
End Sub
Elaborado por Carlos Castillo Peralta [email protected] 22
Aplicación Nº 4
Desarrollar una aplicación que permita mostrar el
contenido de la tabla Laboratorio, relacionada con la tabla
Curso, tal como se muestra a continuación:

Observar que la tabla Laboratorio sólo cuenta con tres


campos. El campo que contiene el nombre del curso pertenece a
la tabla Curso.

La sentencia SQL que permite obtener consultas a partir de


múltiples tablas (para nuestro caso Curso y Laboratorio), se
indica a continuación:

Select Laboratorio.LabCodigo As Código,


Curso.CurNombre As Nombre,
Laboratorio.LabHora As Horario,
Laboratorio.LabProfe As [Jefe de práctica]
From Laboratorio, Curso
Where Laboratorio.LabCodigo = Curso.CurCodigo

Microsoft Visual Basic


Elaborado por Carlos Castillo Peralta [email protected] 23
GUÍA DE LABORATORIO Nº 7

Objetivos
Luego de completar este laboratorio, el estudiante será
capaz de:

· Utilizar el objeto ADO Connection para crear una conexión a


una base de datos.
· Crear un objeto ADO Recordset para recuperar información de
una base de datos.
· Utilizar el método Execute de una conexión para actualizar la
información de una base de datos.

Consideraciones
Para el desarrollo del presente laboratorio Ud. deberá
crear una carpeta C:\FundVB\Lab7, para guardar sus trabajos
correspondientes a este laboratorio.

Aplicación Nº 1
Elaborar una aplicación que permita realizar el
mantenimiento de la información contenida en la tabla Curso.

Elaborado por Carlos Castillo Peralta [email protected] 24


En esta aplicación Ud. debe diseñar la interfaz y luego
escribir código para conectarse y recuperar información de la
base de datos.

Para el diseño de la interfaz, proceda a ubicar los


siguientes controles en el formulario:

3 marcos
4 etiquetas
4 cajas de texto
8 botones de comando

En seguida proceda a establecer las propiedades según se


indica:

Form1
Nombre FrmMantenCursos
Caption Mantenimiento de cursos
BorderStyle 3-Fixed Dialog
Moveable False
StartUpPosition 2-CenterScreen

Frame1
Nombre FraIngreso
Caption

Frame2
Nombre FraNavegador
Caption Navegador

Frame3
Nombre FraMantenimiento

Elaborado por Carlos Castillo Peralta [email protected] 25


Caption Mantenimiento

Label1
Nombre LblCodigo
Caption Código:

Label2
Nombre LblNombre
Caption Nombre:

Label3
Nombre LblVacantes
Caption Vacantes:

Label4
Nombre LblProfesor
Caption Profesor:

Text1
Nombre TxtCurCodigo
Locked True
Text

Text2
Nombre TxtCurNombre
Locked True
Text

Text3

Elaborado por Carlos Castillo Peralta [email protected] 26


Nombre TxtCurVacantes
Locked True
Text

Text4
Nombre TxtCurProfe
Locked True
Text

Para establecer las propiedades de los botones de comando


Command1, Command2, . . ., Command8, copiar los pasos de la
pág. 87 a la pág. 88 de la Guía de Laboratorio Nº 6 (Aplicación
Nº 1).

Antes de ingresar código a la aplicación, debemos tener en


cuenta que para poder utilizar los objetos ADO es una
aplicación Visual Basic es necesario cargar la librería
correspondiente. Para ello selecciones el menú Proyecto y elija
la opción Referencias. En el cuadro de diálogo Referencias
seleccione la opción Microsoft ActiveX Data Objects 2.1
Library, tal como se indica en la figura siguiente:

Elaborado por Carlos Castillo Peralta [email protected] 27


Luego de hacer click en el botón Aceptar estará en
condiciones de utilizar los objetos ADO en su aplicación.

El código necesario para realizar la conexión y efectuar


el mantenimiento de la tabla se muestra a continuación.
Observar la analogía cuando se utiliza Data Environment.

Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset

Private Sub ModoEditar(ByVal Ok As Boolean)


TxtCurCodigo.Locked = Not Ok
TxtCurNombre.Locked = Not Ok
TxtCurVacantes.Locked = Not Ok
TxtCurProfe.Locked = Not Ok
CmdNuevo.Enabled = Not Ok
CmdEditar.Enabled = Not Ok

Elaborado por Carlos Castillo Peralta [email protected] 28


CmdGuardar.Enabled = Ok
CmdEliminar.Enabled = Not Ok
If Ok Then TxtCurCodigo.SetFocus
End Sub

Private Sub Form_Load()


ModoEditar False
Set Cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
Cn.Open “Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=C:\FundVB\Data\CursosLibres.MDB;” & _
“Persist Security Info=False”
Rs.ActiveConnection = Cn
Rs.CursorType = adOpenKeyset
Rs.LockType = adLockOptimistic
Rs.Open “Select * From Curso”
Set TxtCurCodigo.DataSource = Rs
TxtCurCodigo.DataField = “CurCodigo”
Set TxtCurNombre.DataSource = Rs
TxtCurNombre.DataField = “CurNombre”
Set TxtCurVacantes.DataSource = Rs
TxtCurVacantes.DataField = “CurVacantes”
Set TxtCurProfe.DataSource = Rs
TxtCurProfe.DataField = “CurProfe”
End Sub

Private Sub CmdPrimero_Click()


Rs.MoveFirst
End Sub

Private Sub CmdAnterior_Click()

Elaborado por Carlos Castillo Peralta [email protected] 29


Rs.MovePrevious
If Rs.BOF Then
Rs.MoveFirst
MsgBox “Estamos en el primer registro”
End If
End Sub

Private Sub CmdSiguiente_Click()


Rs.MoveNext
If Rs.EOF Then
Rs.MoveLast
MsgBox “Estamos en el último registro”
End If
End Sub

Private Sub CmdUltimo_Click()


Rs.MoveLast
End Sub

Private Sub CmdNuevo_Click()


Rs.AddNew
ModoEditar True
End Sub

Private Sub CmdEditar_Click()


ModoEditar True
End Sub

Private Sub CmdGuardar_Click()


Rs.Update
ModoEditar False
End Sub

Elaborado por Carlos Castillo Peralta [email protected] 30


Private Sub CmdEliminar_Click()
Rs.Delete
Rs.MoveNext
If Rs.EOF Then
Rs.MoveLast
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)


Cn.Close
Set Cn = Nothing
End Sub

Aplicación Nº 2
Desarrollar una aplicación que permita realizar una
consulta a la tabla Curso. Para ello el usuario debe
seleccionar de un cuadro combinado (combo) el nombre de un
profesor y a continuación se deben visualizar los cursos a su
cargo. El diseño de la interfaz debe ser similar a la figura
mostrada:

Elaborado por Carlos Castillo Peralta [email protected] 31


Para el desarrollo de esta aplicación, proceda ha ubicar
los siguientes controles en el formulario:

1 control ComboBox
1 control DataGrid
1 botón de comandos

En seguida proceda a establecer las propiedades según se


indica:

Form1
Nombre FrmConsultaProfe
Caption Consulta de profesores
BorderStyle 3-Fixed Dialog

Combo1
Nombre CboProfe
Text

DataGrid1
Nombre DbgrdCursos
Font Arial (Negrita 10)
HeadFont Arial (Negrita 10)

Command1
Nombre CmdBuscar
Caption &Buscar
Default True

A continuación debe ingresar el código que se muestra en


seguida:

Elaborado por Carlos Castillo Peralta [email protected] 32


Dim Cn As ADODB.Connection
Dim RsCurso As ADODB.Recordset
Dim RsProfe As ADODB.Recordset

Private Sub Form_Load()


Set Cn = New ADODB.Connection
Set RsProfe = New ADODB.Recordset
Cn.Open “Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=C:\FundVB\Data\CursosLibres.MDB;” & _
“Persist Security Info=False”
RsProfe.ActiveConnection = Cn
RsProfe.CursorType = adOpenStatic
RsProfe.LockType = adLockOptimistic
RsProfe.CursorLocation = adUseClient
RsProfe.Open “Select Distinct CurProfe From Curso”
Do While Not RsProfe.EOF()
CboProfe.AddItem RsProfe(“CurProfe”)
RsProfe.MoveNext
Loop
End Sub

Private Sub CmdBuscar_Click()


Set RsCurso = New ADODB.Recordset
RsCurso.ActiveConnection = Cn
RsCurso.CursorType = adOpenStatic
RsCurso.LockType = adLockReadOnly
RsCurso.CursorLocation = adUseClient
RsCurso.Open “Select CurCodigo As Código, ” & _
“CurNombre As Nombre, CurProfe As Profesor ” & _
“From Curso Where CurProfe = '” & CboProfe.Text & “'”
Set DbgrdCursos.DataSource = RsCurso

Elaborado por Carlos Castillo Peralta [email protected] 33


End Sub

Private Sub Form_Unload(Cancel As Integer)


Cn.Close
Set Cn = Nothing
End Sub

Aplicación Nº 3
Desarrollar una aplicación que permita realizar el
mantenimiento de las tablas de la base de datos
CursosLibres.MDB (estas tablas le serán proporcionadas con
datos suficientes, por el Jefe de Práctica).

El diseño de la interfaz debe ser similar a la siguiente


figura:

Por ejemplo para realizar el mantenimiento de la tabla


Curso debemos preparar los siguientes formularios:

Elaborado por Carlos Castillo Peralta [email protected] 34


Para desarrollar nuestra aplicación debe agregar un módulo
de código al proyecto. Luego ingrese lo siguiente:

Elaborado por Carlos Castillo Peralta [email protected] 35


Public Cn As ADODB.Connection

También será necesario agregar un formulario MDI. Luego,


cambie el nombre del formulario por el de MDICursosLibres. En
seguida, diseñe el menú para la aplicación según se indica:

Caption Name ShortCut


&Mantenimiento MnuManten Ninguno
&Alumnos MnuMantenAlumno Ninguno
&Nuevo MnuMantenAlumnoNuevo Ninguno
&Editar MnuMantenAlumnoEditar Ninguno
&Eliminar MnuMantenAlumnoEliminar Ninguno
&Cursos MnuMantenCurso Ninguno
&Nuevo MnuMantenCursoNuevo Ninguno
&Editar MnuMantenCursoEditar Ninguno
&Eliminar MnuMantenCursoEliminar Ninguno
&Laboratorio MnuMantenLaboratorio Ninguno
&Nuevo MnuMantenLaboratorioNuevo Ninguno
&Editar MnuMantenLaboratorioEditar Ninguno
&Eliminar MnuMantenLaboratorioEliminar Ninguno
&Distrito MnuMantenDistrito Ninguno
&Nuevo MnuMantenDistritoNuevo Ninguno
&Editar MnuMantenDistritoEditar Ninguno
&Eliminar MnuMantenDistritoEliminar Ninguno
- MnuMantLinea Ninguno
&Salir MnuMantSalir Ctrl + X

Luego, haga doble click sobre el formulario e ingrese el


siguiente código:

Private Sub MDIForm_Load()


Elaborado por Carlos Castillo Peralta [email protected] 36
Set Cn = New ADODB.Connection
Cn.Open “Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=C:\FundVB\Data\CursosLibres.MDB;” & _
“Persist Security Info=False”
End Sub

Private Sub MnuMantenCursosNuevo_Click()


Load FrmNuevoCurso
FrmNuevoCurso.Show
End Sub

Private Sub MnuMantenCursosEditar_Click()


Load FrmEditarCurso
FrmEditarCurso.Show
End Sub

Private Sub MnuMantenCursosEliminar_Click()


Load FrmEliminarCurso
FrmEliminarCurso.Show
End Sub

Para desarrollar la opción Nuevo de la tabla Curso, añada


un nuevo formulario al proyecto. Luego, ubique los siguientes
controles en el formulario:

4 etiquetas
4 cajas de texto
3 botones de comando

Luego proceda a establecer las propiedades según se


indica:
Form1

Elaborado por Carlos Castillo Peralta [email protected] 37


Nombre FrmMantenCursos
Caption Nuevo curso
BorderStyle 3-Fixed Dialog
MDIChild True

Label1
Nombre LblCodigo
Caption Código:

Label2
Nombre LblNombre
Caption Nombre:

Label3
Nombre LblVacantes
Caption Vacantes:

Label4
Nombre LblProfesor
Caption Profesor:

Text1
Nombre TxtCurCodigo
Text

Text2
Nombre TxtCurNombre
Text

Text3
Nombre TxtCurVacantes

Elaborado por Carlos Castillo Peralta [email protected] 38


Text
Text4
Nombre TxtCurProfe
Text

Command1
Nombre CmdGrabar
Caption &Grabar

Command2
Nombre CmdNuevo
Caption &Nuevo

Command3
Nombre CmdCerrar
Caption &Cerrar

Una vez establecidas las propiedades, proceda a ingresar


el siguiente código:

Private Sub Form_Load()


CmdGrabar.Enabled = True
CmdNuevo.Enabled = False
End Sub

Private Sub CmdGrabar_Click()


Cn.Execute “Insert Into Curso(CurCodigo, CurNombre, ” & _
“CurVacantes, CurProfe) Values ('” & TxtCurCodigo & _
“',” & “'” & TxtCurNombre & “',” & _
Val(TxtCurVacantes) & “,” & “'” & TxtCurProfe & “')”
CmdGrabar.Enabled = False

Elaborado por Carlos Castillo Peralta [email protected] 39


CmdNuevo.Enabled = True
End Sub

Private Sub CmdNuevo_Click()


TxtCurCodigo = “”
TxtCurNombre = “”
TxtCurVacantes = “”
TxtCurProfe = “”
CmdGrabar.Enabled = True: CmdNuevo.Enabled = False
TxtCurCodigo.SetFocus
End Sub

Private Sub CmdCerrar_Click()


Unload Me
End Sub

Para desarrollar la opción Editar de la tabla Curso, añada


un nuevo formulario al proyecto. Luego, ubique los siguientes
controles en el formulario:

1 marco
4 etiquetas
4 cajas de texto
4 botones de comando

En seguida proceda a establecer las propiedades según se


indica:

Form1
Nombre FrmMantenCursos
Caption Editar curso
BorderStyle 3-Fixed Dialog

Elaborado por Carlos Castillo Peralta [email protected] 40


MDIChild True

Frame1
Nombre FraCodigo
Caption
Label1
Nombre LblCodigo
Caption Código:

Label2
Nombre LblNombre
Caption Nombre:

Label3
Nombre LblVacantes
Caption Vacantes:

Label4
Nombre LblProfesor
Caption Profesor:

Text1
Nombre TxtCurCodigo
Text

Text2
Nombre TxtCurNombre
Text

Text3
Nombre TxtCurVacantes

Elaborado por Carlos Castillo Peralta [email protected] 41


Text

Text4
Nombre TxtCurProfe
Text

Command1
Nombre CmdAceptar
Caption &Aceptar

Command2
Nombre CmdGrabar
Caption &Grabar

Command3
Nombre CmdNuevo
Caption &Nuevo

Command4
Nombre CmdCerrar
Caption &Cerrar

Una vez establecidas las propiedades, proceda a ingresar


el siguiente código:

Private Sub Form_Load()


CmdAceptar.Enabled = True
CmdGrabar.Enabled = False
CmdNuevo.Enabled = False
End Sub

Elaborado por Carlos Castillo Peralta [email protected] 42


Private Sub CmdAceptar_Click()
Dim Rs As New ADODB.Recordset
Set Rs = Cn.Execute(“Select CurNombre, ” & _
“CurVacantes, CurProfe From Curso ” & _
“Where CurCodigo = '” & TxtCurCodigo & “'”)
If (Rs.EOF And Rs.BOF) Then
MsgBox “No existe ningún curso con este código”
TxtCurCodigo.SetFocus
TxtCurCodigo.SelStart = 0
TxtCurCodigo.SelLength = Len(TxtCurCodigo)
Exit Sub
End If
TxtCurNombre = Rs!CurNombre
TxtCurVacantes = Rs!CurVacantes
TxtCurProfe = Rs!CurProfe
Rs.Close
Set Rs = Nothing
TxtCurCodigo.Enabled = False
CmdAceptar.Enabled = False
CmdGrabar.Enabled = True
CmdNuevo.Enabled = True
End Sub

Private Sub CmdGrabar_Click()


Cn.Execute “Update Curso Set CurNombre = '” & _
TxtCurNombre & “',” & “CurVacantes = ” & _
Val(TxtCurVacantes) & “,” & “CurProfe = '” & _
TxtCurProfe & “'” & “ Where CurCodigo = '” & _
TxtCurCodigo & “'”
End Sub

Elaborado por Carlos Castillo Peralta [email protected] 43


Private Sub CmdNuevo_Click()
TxtCurCodigo = “”
TxtCurNombre = “”
TxtCurVacantes = “”
TxtCurProfe = “”
CmdAceptar.Enabled = True
CmdGrabar.Enabled = False
CmdNuevo.Enabled = False
TxtCurCodigo.Enabled = True
TxtCurCodigo.SetFocus
End Sub

Private Sub CmdCerrar_Click()


Unload Me
End Sub

Para desarrollar la opción Eliminar de la tabla Cursos,


añada un nuevo formulario al proyecto. Luego, ubique los
siguientes controles en el formulario:

1 marco
4 etiquetas
4 cajas de texto
4 botones de comando

En seguida proceda a establecer las propiedades según se


indica:

Form1
Nombre FrmMantenCursos
Caption Eliminar curso

Elaborado por Carlos Castillo Peralta [email protected] 44


BorderStyle 3-Fixed Dialog
MDIChild True

Frame1
Nombre FraCodigo
Caption

Label1
Nombre LblCodigo
Caption Código:

Label2
Nombre LblNombre
Caption Nombre:

Label3
Nombre LblVacantes
Caption Vacantes:

Label4
Nombre LblProfesor
Caption Profesor:

Text1
Nombre TxtCurCodigo
Text

Text2
Nombre TxtCurNombre
Text

Elaborado por Carlos Castillo Peralta [email protected] 45


Text3
Nombre TxtCurVacantes
Text

Text4
Nombre TxtCurProfe
Text

Command1
Nombre CmdAceptar
Caption &Aceptar

Command2
Nombre CmdEliminar
Caption &Eliminar

Command3
Nombre CmdNuevo
Caption &Nuevo

Command4
Nombre CmdCerrar
Caption &Cerrar

Una vez establecidas las propiedades, proceda a ingresar


el siguiente código:

Private Sub Form_Load()


CmdAceptar.Enabled = True
CmdEliminar.Enabled = False
CmdNuevo.Enabled = False

Elaborado por Carlos Castillo Peralta [email protected] 46


End Sub

Private Sub CmdEliminar_Click()


Cn.Execute “Delete From Curso ” & _
“Where CurCodigo = '” & TxtCurCodigo & “'”
Call CmdNuevo_Click
End Sub

Private Sub CmdNuevo_Click()


TxtCurCodigo = “”
TxtCurNombre = “”
TxtCurVacantes = “”
TxtCurProfe = “”
CmdAceptar.Enabled = True
CmdEliminar.Enabled = False
CmdNuevo.Enabled = False
TxtCurCodigo.Enabled = True
TxtCurCodigo.SetFocus
End Sub

Private Sub CmdAceptar_Click()


Dim Rs As New ADODB.Recordset
Set Rs = Cn.Execute(“Select CurNombre, ” & _
“CurVacantes, CurProfe From Curso ” & _
“Where CurCodigo = '” & TxtCurCodigo & “'”)
If (Rs.EOF And Rs.BOF) Then
MsgBox “No existe ningún curso con este código”
TxtCurCodigo.SetFocus
TxtCurCodigo.SelStart = 0
TxtCurCodigo.SelLength = Len(TxtCurCodigo)
Exit Sub

Elaborado por Carlos Castillo Peralta [email protected] 47


End If
TxtCurNombre = Rs!CurNombre
TxtCurVacantes = Rs!CurVacantes
TxtCurProfe = Rs!CurProfe
Rs.Close
Set Rs = Nothing
TxtCurCodigo.Enabled = False
CmdAceptar.Enabled = False
CmdEliminar.Enabled = True
CmdNuevo.Enabled = True
End Sub

Private Sub CmdCerrar_Click()


Unload Me
End Sub

De manera similar proceda a desarrollar el código para los


formularios de mantenimiento de las demás tablas.

Aplicación Nº 4
Elaborar una aplicación que permita recuperar y mantener
la información de la base de datos CursosLibres.MDB. Para tal
fin debe preparar un formulario que permita establecer la
conexión con el origen de datos. Luego, si la conexión es
satisfactoria el usuario tiene la posibilidad de elegir una de
las tablas de la base de datos para realizar las operaciones
habituales de mantenimiento o simplemente para ejecutar
consultas. El diseño de la interfaz debe ser similar a la
siguiente figura:

Elaborado por Carlos Castillo Peralta [email protected] 48


Las opciones Mantenimiento y Consulta deben ser análogas a
las realizadas en aplicaciones anteriores.

Microsoft Visual Basic


GUÍA DE LABORATORIO Nº 8

Objetivos
Luego de completar este laboratorio, el estudiante será
capaz de:

· Usar el diseñador de reportes DataReport.


· Utilizar y controlar la impresora para obtener reportes
impresos.

Consideraciones

Elaborado por Carlos Castillo Peralta [email protected] 49


Para el desarrollo del presente laboratorio Ud. deberá
crear una carpeta C:\FundVB\Lab8, para guardar sus trabajos
correspondientes a este laboratorio.

Aplicación Nº 1
Diseñar un reporte que muestre la información almacenada
en la tabla Cursos. El formato del reporte pedido se muestra a
continuación:

Para diseñar nuestro reporte, lo primero que debemos hacer


es conectarnos a la base de datos CursosLibres.MDB. La conexión
la haremos efectiva mediante el Data Environment. Luego, añada
un Comando y denomínelo CmCurso. Establezca el nombre de la
tabla a utilizar, para nuestro caso Curso. El aspecto de la
ventana Data Environment deberá ser similar a la figura:

Elaborado por Carlos Castillo Peralta [email protected] 50


Luego, del menú Proyecto seleccionar la opción Agregar
Data Report, lo cual permite agregar el diseñador de reportes:

En seguida del Data Environment seleccionar cada campo que


desee incluir en el reporte y luego arrastre el campo hacia la
sección Detalles del Data Report.

El diseñador de reportes presenta un conjunto de controles


que permiten mejorar la presentación de nuestro reporte. En
seguida ubicar los siguientes controles:
Elaborado por Carlos Castillo Peralta [email protected] 51
2 etiquetas en la sección Encabezado de informe
4 etiquetas en la sección Encabezado de página

A continuación proceda a establecer las propiedades según


se indica:

Etiqueta1
Nombre RptLblVAB
Caption Instituto de Educación Superior
“Víctor Andrés Belaúnde”
Font Arial (Negrita 09)

Etiqueta2
Nombre RptLblNombre
Caption Reporte de Cursos
Font Arial (Negrita Cursiva 16)

Etiqueta3
Nombre RptLblCodigo
Caption Código:
Font Arial (Negrita 10)

Etiqueta4
Nombre RptLblNombre
Caption Nombre:
Font Arial (Negrita 10)
Etiqueta5
Nombre RptLblVacantes
Caption Vacantes:
Font Arial (Negrita 10)

Elaborado por Carlos Castillo Peralta [email protected] 52


Etiqueta6
Nombre RptLblProfesor
Caption Profesor:
Font Arial (Negrita 10)

Para insertar la fecha actual dar un click con el botón


derecho del ratón sobre el diseñador de reportes en la sección
de Encabezado de informe, del menú contextual que se presenta
seleccionar la opción Insertar control, luego Fecha actual
(formato corto). En seguida, cambiar las siguientes
propiedades:

DataReport1
DataMember CmCurso
DataSource DeCursosLibres

Luego, seleccione del menú Proyecto la opción Propiedades


de Proyecto, y en la ficha General del cuadro de diálogo
Propiedades del proyecto, establecer DataReport1 como objeto
inicial. Haga click en Aceptar y ejecute su aplicación.

Aplicación Nº 2
Diseñar un reporte que permita mostrar un listado de
profesores y los cursos que tienen a su cargo. Tener en cuenta
que la información relacionada con cada profesor debe empezar
en una página nueva. El formato del reporte pedido se muestra a
continuación:

Elaborado por Carlos Castillo Peralta [email protected] 53


En esta aplicación explicaremos como crear grupos de
datos. Para ello iniciar un nuevo proyecto. En seguida,
conectarse a la base de datos CursosLibres.MDB mediante el Data
Environment. Luego, añada un Comando y denomínelo CmProfesor.
Establezca el nombre de la tabla a utilizar, para nuestro caso
Curso. Para realizar el agrupamiento por profesor seleccionar
la ficha Agrupar del cuadro de diálogo Propiedades de
CmProfesor. A continuación activar la casilla de verificación
Agrupar comando, luego seleccionar de la lista de campos, el
campo por el cual se desea agrupar la información, para nuestro
caso seleccionar CurProfe y dar un click en el botón “  ”. El
cuadro de diálogo Propiedades de CmProfesor debe presentar un
aspecto similar a la figura siguiente:

Elaborado por Carlos Castillo Peralta [email protected] 54


A continuación sobre el diseñador de reportes dar un click
con el botón derecho del ratón y del menú emergente que se
presenta elegir la opción Insertar encabezado o pie de grupo.
Del objeto DeCursosLibres arrastrar el campo CurProfe de la
sección Campo de resumen en CmProfesor_Grouping al diseñador de
reportes pero a la sección Encabezado de grupo. Los demás
campos arrastrarlos de la sección Campos de Detalle en
CmProfesor a la sección Detalle del generador de reportes. Por
último proceda a cambiar las siguientes propiedades del objeto
DataReport:

DataReport1
DataMember CmProfesor_Grouping
DataSource DeCursosLibres

Aplicación Nº 3
Desarrollar una aplicación que permita crear un reporte
para mostrar la información de la base de datos

Elaborado por Carlos Castillo Peralta [email protected] 55


CursosLibres.MDB. Para tal fin debe preparar un formulario que
permita al usuario elegir una tabla, y en seguida se debe
generar el reporte correspondiente. Además el usuario puede
obtener una vista preliminar del reporte o una copia impresa.
El diseño de la interfaz debe ser similar a la figura que se
muestra a continuación:

Para desarrollar nuestra aplicación, proceda a diseñar los


reportes correspondientes según:

Tabla Reporte
Alumno DataReport1
Curso DataReport2
Laboratorio DataReport3

Luego, ubique los siguientes controles sobre el


formulario:

1 marco
3 botones de opción
3 botones de comando

Elaborado por Carlos Castillo Peralta [email protected] 56


En seguida proceda a establecer las propiedades según se
indica:
Form1
Nombre FrmReporteCursosLibres
Caption Cursos Libres
BorderStyle 3-Fixed Dialog

Frame1
Nombre FraTablas
Caption

Option1
Nombre OptTablaAlumno
Caption Alumno
Value True

Option2
Nombre OptTablaCurso
Caption Curso
Value False

Option3
Nombre OptTablaLaboratorio
Caption Laboratorio
Value False

Command1
Nombre CmdVistaPrevia
Caption VistaPrevia

Elaborado por Carlos Castillo Peralta [email protected] 57


Picture C:\Archivos de programa\Microsoft Visual
Studio\Common\Graphics\Bitmaps\Win95\
Explorer.bmp
Style 1-Graphical
Command2
Nombre CmdImprimir
Caption Imprimir
Picture C:\Archivos de programa\Microsoft Visual
Studio\Common\Graphics\Bitmaps\Win95\
Printfld.bmp
Style 1-Graphical

Command3
Nombre CmdSalir
Caption Salir

Una vez establecidas las propiedades, proceda a ingresar


el siguiente código:

Private Sub CmdImprimir_Click()


If OptTablaAlumno.Value Then
DataReport1.PrintReport True
ElseIf OptTablaCurso.Value Then
DataReport2.PrintReport True
ElseIf OptTablaLaboratorio.Value Then
DataReport2.PrintReport True
End If
End Sub
Private Sub CmdVistaPrevia_Click()
If OptTablaAlumno.Value Then
DataReport1.Show

Elaborado por Carlos Castillo Peralta [email protected] 58


ElseIf OptTablaCurso.Value Then
DataReport2.Show
ElseIf OptTablaLaboratorio.Value Then
DataReport2.Show
End If
End Sub
Private Sub CmdSalir_Click()
Unload Me
End Sub

Cuando ejecute la aplicación, al dar un click en el botón


Imprimir se visualizará el siguiente cuadro de diálogo, el cual
nos permitirá confirmar o cancelar la impresión:

Aplicación Nº 4
Diseñar un reporte combinando datos de la tabla Curso y
Laboratorio. El reporte debe mostrar el código del curso, el
nombre del curso, el nombre del profesor de teoría, el nombre

Elaborado por Carlos Castillo Peralta [email protected] 59


del jefe de práctica y el horario de laboratorio. Dar formato
al reporte según su criterio.

FIN PARTE II

Elaborado por Carlos Castillo Peralta [email protected] 60

También podría gustarte