Está en la página 1de 57

GUA DE LABORATORIO Parte II

ELABORADO POR

CARLOS CASTILLO PERALTA cc_peralta@hotmail.com

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

INTRODUCCIN

La presente Gua de Laboratorio de Microsoft Visual Basic, se elabor con la finalidad de complementar la parte terica con la parte prctica del curso. Los problemas presentan un grado de dificultad gradual, es decir, en cada prctica 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 teora, y luego en los problemas posteriores se va incrementando el nivel de dificultad. Esta gua explora una gran variedad de materias y contiene muchos problemas recopilados que a lo largo las de varios aos de de los

experiencia.

Espero

satisfaga

necesidades

estudiantes y colegas, ya que ha sido elaborada teniendo en cuenta los objetivos de aprendizaje del curso. Si desean compartirla con otros colegas, me agradara

mucho que lo hicieran, con la nica condicin 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

Carlos Castillo Peralta Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 2

Microsoft
GUA DE LABORATORIO N 6 Objetivos

Visual Basic

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. Creacin de la base de datos con Microsoft Access 2000 Para desarrollar nuestras prcticas 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. Dentro del cuadro de dilogo Nueva, en la ficha General, seleccionar Base de datos y hacer click en el botn Aceptar. Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 3

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 opcin Tablas y haga doble click en Crear una tabla en vista Diseo. Introducir el nombre, el tipo y las propiedades para cada uno de los campos. Para nuestro caso ingrese lo siguiente: Tabla Curso Nombre del Campo CurCodigo CurNombre CurVacantes CurProfe CurSilabo T T N T M 03 30 03 50 50
Cdigo del curso Nombre del curso Nmero de vacantes disponibles Nombre del profesor de teora Slabo de cada curso

Tipo

Ancho

Descripcin

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

Luego,

debe

asignar

un

nombre

la

tabla

al

momento

de

cerrarla. Para nuestro caso asgnele el nombre de Curso. Por ltimo, proceda a abrir la tabla e introducir datos. Para nuestro caso, ingrese la siguiente informacin: CurCodigo BC1 BC2 BC3 VB1 VB2 VB3 VC1 VC2 VJ1 VJ2 VF1 VF2 VF3 PB1 PB2 SQ1 SQ2 WIN CurNombre Borland C++ Nivel I Borland C++ Nivel II Borland C++ Nivel III MS Visual Basic Nivel I MS Visual Basic Nivel II MS Visual Basic Nivel III MS Visual C++ Nivel I MS Visual C++ Nivel II MS Visual J++ Nivel I MS Visual J++ Nivel II MS Visual FoxPro Nivel I MS Visual FoxPro Nivel II MS Visual FoxPro Nivel III Power Builder Nivel I Power Builder Nivel II MS SQL Server Nivel I MS SQL Server Nivel II MS Windows 98 CurProfe Linares Alarcon, Adams Crdoba Saavedra, Javier Castillo Peralta, Carlos Linares Alarcon, Adams Linares Alarcon, Adams Castillo Peralta, Carlos Crdoba Saavedra, Javier Castillo Peralta, Carlos Castillo Peralta, Carlos Castillo Peralta, Carlos Linares Alarcon, Adams Castillo Peralta, Carlos Castillo Peralta, Carlos Crdoba Saavedra, Javier Crdoba Saavedra, Javier Crdoba Saavedra, Javier Crdoba Saavedra, Javier Montes Tejada, Estela

A menudo, el proceso de diseo de la base de datos es bastante complejo. Para nosotros ha sido fcil, pues se nos brinda la estructura de las tablas. De manera anloga, proceda a crear la siguiente tabla

segn se indica a continuacin: Elaborado por Carlos Castillo Peralta 5

cc_peralta@hotmail.com

Tabla Laboratorio Nombre del Campo LabCodigo LabHora LabProfe T T T 03 08 50


Cdigo del curso Horario de laboratorio Nombre del profesor de laboratorio

Tipo

Ancho

Descripcin

Al momento de cerrar la tabla que acaba de crear, asgnele el nombre de Laboratorio. Luego, proceda a ingresar la siguiente informacin: LabCodigo BC1 BC2 BC3 VB1 VB2 VB3 VC1 VC2 VJ1 VJ2 VF1 VF2 VF3 PB1 PB2 SQ1 SQ2 WIN LabHora SA 08-10 SA 10-12 DO 10-12 SA 08-10 DO 10-12 DO 08-10 DO 08-10 DO 10-12 SA 16-18 SA 18-20 SA 08-10 DO 08-10 DO 14-16 VI 16-18 VI 14-16 SA 16-18 SA 18-20 SA 10-12 LabProfe Castillo Peralta, Carlos Linares Alarcon, Adams Castillo Peralta, Carlos Montes Tejada, Estela Linares Alarcon, Adams Castillo Peralta, Carlos Linares Alarcon, Adams Crdoba Saavedra, Javier Castillo Peralta, Carlos Castillo Peralta, Carlos Linares Alarcon, Adams Crdoba Saavedra, Javier Linares Alarcon, Adams Crdoba Saavedra, Javier Crdoba Saavedra, Javier Crdoba Saavedra, Javier Crdoba Saavedra, Javier Montes Tejada, Estela

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

Aplicacin N 1 Elaborar una aplicacin que permita realizar el mantenimiento de la informacin almacenada en la tabla Curso de la base de datos CursosLibres.MDB. El diseo 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 travs de la tabla. Los botones ubicados en el marco Mantenimiento (Nuevo, Editar, Guardar y Eliminar, de izquierda a derecha) permiten realizar las operaciones bsicas de mantenimiento de la tabla. Para debemos habitual, desarrollar hacer a es nuestra aplicacin, a la lo base primero de que datos la

conectarnos en el

CursosLibres.MDB. Para ello ingrese a Visual Basic de manera continuacin men Proyecto seleccione opcin Agregar Data Environment y se crear una nueva conexin para la que debe establecer propiedades de vnculo de datos. En la ventana Data Environment cambie el nombre del objeto 7

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

DataEnvironment CnCursosLibres.

por El

DeCursosLibres aspecto de la

y el de la conexin por ventana Data Environment

deber ser similar a la siguiente figura:

Luego

haga y

click

con

el la

botn

derecho

del

ratn

en

CnCursosLibres

seleccione

opcin

Propiedades.

Deber

presentarse un cuadro de dilogo similar al siguiente:

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

En botn

la

ficha

Proveedor En

del

cuadro

de

dilogo

anterior,

seleccione Microsoft Jet 4.0 OLE DB Provider y haga click en el Siguiente. seguida aparecer un cuadro de dilogo similar al mostrado:

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

En la ficha Conexin del cuadro de dilogo Propiedades de Data Link escriba y el nombre de la base de datos CursosLibres.MDB Aceptar. En seguida en la barra de herramientas de la ventana Data Environment haga click en el botn Agregar Comando y denomine al comando CmCurso. Luego haga click derecho sobre el comando y seleccione Propiedades: haga click en el botn Probar conexin.

Luego si la conexin es satisfactoria haga click en el botn

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

10

Compruebe CnCursosLibres,

que luego

este

comando el

utiliza nombre de

la la

conexin tabla a

establezca

utilizar, en este caso Curso y haga click en el botn Aceptar. A continuacin seleccione el comando CmCurso y arrstrelo 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 Caption BorderStyle Frame1 Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 11 FrmMantenCurso Mantenimiento de cursos 3-Fixed Dialog

Nombre Caption Frame2 Nombre Caption Frame3 Nombre Caption LblFieldLabel(0) Nombre Caption LblFieldLabel(1) Nombre Caption LblFieldLabel(2) Nombre Caption LblFieldLabel(3) Nombre Caption TxtCurCodigo Nombre Locked Text

FraIngreso

FraNavegador Navegador

FraMantenimiento Mantenimiento

LblFieldLabel Cdigo:

LblFieldLabel Nombre:

LblFieldLabel Vacantes:

LblFieldLabel Profesor:

TxtCurCodigo True

TxtCurNombre Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 12

Nombre Locked Text TxtCurVacantes Nombre Locked Text TxtCurProfe Nombre Locked Text Command1 Nombre Caption Picture Style Command2 Nombre Caption Picture Style Command3 Nombre Caption Picture Style

TxtCurNombre True

TxtCurVacantes True

TxtCurProfe True

CmdPrimero C:\FundVB\Bitmaps\First.bmp 1-Graphical

CmdAnterior C:\FundVB\Bitmaps\Previous.bmp 1-Graphical

CmdSiguiente C:\FundVB\Bitmaps\Next.bmp 1-Graphical

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

13

Command4 Nombre Caption Picture Style Command5 Nombre Caption Picture Style Command6 Nombre Caption Picture Style Command7 Nombre Caption Picture Style Command8 Nombre Caption Picture Style C:\FundVB\Bitmaps\Delete.bmp 1-Graphical CmdEliminar C:\FundVB\Bitmaps\Save.bmp 1-Graphical CmdGuardar C:\FundVB\Bitmaps\Edit.bmp 1-Graphical CmdEditar C:\FundVB\Bitmaps\New.bmp 1-Graphical CmdNuevo C:\FundVB\Bitmaps\Last.bmp 1-Graphical CmdUltimo

Command9 Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 14

Nombre Caption Picture Style El

CmdSalir &Salir C:\FundVB\Bitmaps\Exit.bmp 1-Graphical asociado a la aplicacin se muestra a

cdigo

continuacin: 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 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() Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 15

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() Unload Me End Private Sub Form_Unload(Cancel As Integer) If MsgBox(Desea terminar la aplicacin?, _ vbQuestion + vbYesNo, Pregunta) = vbYes Then End Else Cancel = True End If End Sub Private Sub Form_Activate() Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 16

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 aplicacin debemos

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

Aplicacin N 2 Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 17

Desarrollar

una

aplicacin

que

permita

mostrar

en

una

grilla el contenido de la tabla Curso. El diseo de la interfaz se muestra a continuacin:

Para desarrollar la aplicacin, lo primero que debemos hacer Luego, es conectarnos un a la y base de datos CursosLibres.MDB. Haga aada Comando denomnelo CmConsultaCurso.

click derecho sobre el comando y seleccione Propiedades:

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

18

Compruebe CnCursosLibres. (Structured

que Luego

este Language,

comando la

utiliza opcin de

la

conexin SQL de

seleccione

Instruccin Estructuras

Query

Lenguaje

Consultas) e ingrese el siguiente cdigo: Select CurCodigo As Cdigo, CurNombre As Nombre, CurVacantes As Vacantes, CurProfe As Profesor From Curso Luego, haga click en el botn Aceptar. La ventana

DataEnvironment debe presentar el siguiente aspecto:

A Del

continuacin desplegable

seleccione que se

el

comando

CmConsultaCurso

arrstrelo con el botn derecho del ratn hacia el formulario. men presenta, seleccione la opcin Cuadrcula de datos.

Luego, cambie las dimensiones de la grilla de tal forma que ocupe la totalidad del formulario. Finalmente guarde y pruebe su aplicacin. Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 19

Aplicacin N 3 Desarrollar una aplicacin que permita seleccionar de un control DataCombo el nombre de un profesor y visualizar los cursos que dicta dicho profesor.

Lo primero que debe hacer es conectarse a la base de datos CursosLibres.MDB. En seguida aada un comando y denomnelo CmConsultaProfe. Luego haga click derecho sobre el comando y seleccione Propiedades. Compruebe que este comando utiliza la conexin CnCursosLibres. Luego seleccione la opcin Instruccin SQL e ingrese el siguiente cdigo: Select CurCodigo As Cdigo, CurNombre As Nombre,

CurProfe As Profesor From Curso Where (CurProfe = ?) A continuacin proceda a aadir otro comando y denomnelo CmProfe. Compruebe que este comando utiliza la conexin CnCursosLibres. Seleccione la opcin Instruccin SQL e ingrese el siguiente cdigo: Select Distinct CurProfe From Curso Luego proceda ha ubicar los siguientes controles en el formulario: Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 20

1 control DataCombo 1 control DataGrid 1 botn de comandos En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre Caption BorderStyle DataCombo1 Nombre ListField RowMember RowSource DataGrid1 Nombre Font HeadFont Command1 Nombre Caption CmdBuscar &Buscar DbgrdCursos Arial (Negrita 10) Arial (Negrita 10) DbcProfe CurProfe CmProfe DeCursosLibres FrmConsultaProfe Consulta de profesores 3-Fixed Dialog

A continuacin ingrese el siguiente cdigo: Private Sub CmdBuscar_Click() If DeCursosLibres.rsCmConsultaProfe.State = adStateOpen Then DeCursosLibres.rsCmConsultaProfe.Close End If Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 21

DeCursosLibres.CmConsultaProfe (DbcProfe.Text) Set DbgrdCursos.DataSource = DeCursosLibres.rsCmConsultaProfe End Sub Aplicacin N 4 Desarrollar una aplicacin que permita mostrar el contenido de la tabla Laboratorio, relacionada con la tabla Curso, tal como se muestra a continuacin:

Observar que la tabla Laboratorio slo 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 mltiples tablas (para nuestro caso Curso y Laboratorio), se indica a continuacin: Select Laboratorio.LabCodigo As Cdigo, Curso.CurNombre As Nombre, Laboratorio.LabHora As Horario, Laboratorio.LabProfe As [Jefe de prctica] From Laboratorio, Curso Where Laboratorio.LabCodigo = Curso.CurCodigo

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

22

Microsoft
GUA DE LABORATORIO N 7 Objetivos

Visual Basic

Luego de completar este laboratorio, el estudiante ser capaz de: Utilizar el objeto ADO Connection para crear una conexin a una base de datos. Crear un objeto ADO Recordset para recuperar informacin de una base de datos. Utilizar el mtodo Execute de una conexin para actualizar la informacin 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. Aplicacin N 1 Elaborar una aplicacin que permita realizar el mantenimiento de la informacin contenida en la tabla Curso.

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

23

En esta aplicacin Ud. debe disear la interfaz y luego escribir cdigo para conectarse y recuperar informacin de la base de datos. Para el diseo 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 segn se indica: Form1 Nombre Caption BorderStyle Moveable StartUpPosition Frame1 Nombre Caption Frame2 Nombre Caption Frame3 Nombre Caption FraMantenimiento Mantenimiento 24 FraNavegador Navegador FraIngreso FrmMantenCursos Mantenimiento de cursos 3-Fixed Dialog False 2-CenterScreen

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

Label1 Nombre Caption Label2 Nombre Caption Label3 Nombre Caption Label4 Nombre Caption Text1 Nombre Locked Text Text2 Nombre Locked Text Text3 Nombre Locked Text Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 25 TxtCurVacantes True TxtCurNombre True TxtCurCodigo True LblProfesor Profesor: LblVacantes Vacantes: LblNombre Nombre: LblCodigo Cdigo:

Text4 Nombre Locked Text Para establecer las propiedades de los botones de comando Command1, Command2, . . ., Command8, copiar los pasos de la pg. 87 a la pg. 88 de la Gua de Laboratorio N 6 (Aplicacin N 1). Antes de ingresar cdigo a la aplicacin, debemos tener en cuenta que para Visual poder Basic utilizar es los objetos cargar ADO la es una aplicacin la opcin necesario librera TxtCurProfe True

correspondiente. Para ello selecciones el men Proyecto y elija Referencias. la opcin En el cuadro de dilogo Referencias Microsoft ActiveX Data Objects 2.1 seleccione

Library, tal como se indica en la figura siguiente:

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

26

Luego

de

hacer

click

en

el

botn

Aceptar

estar

en

condiciones de utilizar los objetos ADO en su aplicacin. El cdigo necesario para realizar la conexin y efectuar el mantenimiento de la tabla se muestra a continuacin. Observar la analoga 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 CmdGuardar.Enabled = Ok Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 27

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() Rs.MovePrevious If Rs.BOF Then Rs.MoveFirst Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 28

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 Private Sub CmdEliminar_Click() Rs.Delete Rs.MoveNext If Rs.EOF Then Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 29

Rs.MoveLast End If End Sub Private Sub Form_Unload(Cancel As Integer) Cn.Close Set Cn = Nothing End Sub Aplicacin N 2 Desarrollar consulta a la una tabla aplicacin Curso. que permita ello el realizar usuario una debe Para

seleccionar de un cuadro combinado (combo) el nombre de un profesor y a continuacin se deben visualizar los cursos a su cargo. El diseo de la interfaz debe ser similar a la figura mostrada:

Para el desarrollo de esta aplicacin, proceda ha ubicar los siguientes controles en el formulario: 1 control ComboBox 1 control DataGrid 1 botn de comandos

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

30

En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre Caption BorderStyle Combo1 Nombre Text DataGrid1 Nombre Font HeadFont Command1 Nombre Caption Default CmdBuscar &Buscar True DbgrdCursos Arial (Negrita 10) Arial (Negrita 10) CboProfe FrmConsultaProfe Consulta de profesores 3-Fixed Dialog

A continuacin debe ingresar el cdigo que se muestra en seguida: 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; & _ Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 31

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 Cdigo, & _ CurNombre As Nombre, CurProfe As Profesor & _ From Curso Where CurProfe = ' & CboProfe.Text & ' Set DbgrdCursos.DataSource = RsCurso End Sub Private Sub Form_Unload(Cancel As Integer) Cn.Close Set Cn = Nothing End Sub Aplicacin N 3 Desarrollar mantenimiento de una aplicacin tablas que de permita la base realizar de el 32 las datos

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

CursosLibres.MDB

(estas

tablas

le

sern

proporcionadas

con

datos suficientes, por el Jefe de Prctica). El diseo 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

cc_peralta@hotmail.com

33

Para desarrollar nuestra aplicacin debe agregar un mdulo de cdigo al proyecto. Luego ingrese lo siguiente: Public Cn As ADODB.Connection Tambin ser necesario agregar un formulario MDI. Luego, cambie el nombre del formulario por el de MDICursosLibres. En seguida, disee el men para la aplicacin segn se indica: Caption &Mantenimiento MnuManten &Alumnos MnuMantenAlumno Name ShortCut Ninguno Ninguno

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

34

&Nuevo &Editar &Eliminar &Cursos &Nuevo &Editar &Eliminar &Laboratorio &Nuevo &Editar &Eliminar &Distrito &Nuevo &Editar &Eliminar &Salir

MnuMantenAlumnoNuevo MnuMantenAlumnoEditar MnuMantenAlumnoEliminar MnuMantenCurso MnuMantenCursoNuevo MnuMantenCursoEditar MnuMantenCursoEliminar MnuMantenLaboratorio MnuMantenLaboratorioNuevo MnuMantenLaboratorioEditar MnuMantenLaboratorioEliminar MnuMantenDistrito MnuMantenDistritoNuevo MnuMantenDistritoEditar MnuMantenDistritoEliminar MnuMantLinea MnuMantSalir

Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ninguno Ctrl + X

Luego, haga doble click sobre el formulario e ingrese el siguiente cdigo: Private Sub MDIForm_Load() 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 Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 35

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 opcin Nuevo de la tabla Curso, aada un nuevo formulario al proyecto. Luego, ubique los siguientes controles en el formulario: 4 etiquetas 4 cajas de texto 3 botones de comando Luego indica: Form1 Nombre Caption BorderStyle MDIChild Label1 Nombre Caption Label2 Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 36 LblCodigo Cdigo: FrmMantenCursos Nuevo curso 3-Fixed Dialog True proceda a establecer las propiedades segn se

Nombre Caption Label3 Nombre Caption Label4 Nombre Caption Text1 Nombre Text Text2 Nombre Text Text3 Nombre Text Text4 Nombre Text Command1 Nombre Caption Command2 Nombre Caption

LblNombre Nombre:

LblVacantes Vacantes:

LblProfesor Profesor:

TxtCurCodigo

TxtCurNombre

TxtCurVacantes

TxtCurProfe

CmdGrabar &Grabar

CmdNuevo &Nuevo cc_peralta@hotmail.com 37

Elaborado por Carlos Castillo Peralta

Command3 Nombre Caption CmdCerrar &Cerrar

Una vez establecidas las propiedades, proceda a ingresar el siguiente cdigo: 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 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 Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 38

End Sub Para desarrollar la opcin Editar de la tabla Curso, aada 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 segn se indica: Form1 Nombre Caption BorderStyle MDIChild Frame1 Nombre Caption Label1 Nombre Caption Label2 Nombre Caption Label3 Nombre LblVacantes cc_peralta@hotmail.com 39 LblNombre Nombre: LblCodigo Cdigo: FraCodigo FrmMantenCursos Editar curso 3-Fixed Dialog True

Elaborado por Carlos Castillo Peralta

Caption Label4 Nombre Caption Text1 Nombre Text Text2 Nombre Text Text3 Nombre Text Text4 Nombre Text Command1 Nombre Caption Command2 Nombre Caption Command3

Vacantes:

LblProfesor Profesor:

TxtCurCodigo

TxtCurNombre

TxtCurVacantes

TxtCurProfe

CmdAceptar &Aceptar

CmdGrabar &Grabar

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

40

Nombre Caption Command4 Nombre Caption

CmdNuevo &Nuevo

CmdCerrar &Cerrar

Una vez establecidas las propiedades, proceda a ingresar el siguiente cdigo: Private Sub Form_Load() CmdAceptar.Enabled = True CmdGrabar.Enabled = False CmdNuevo.Enabled = False 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 ningn curso con este cdigo TxtCurCodigo.SetFocus TxtCurCodigo.SelStart = 0 TxtCurCodigo.SelLength = Len(TxtCurCodigo) Exit Sub End If TxtCurNombre = Rs!CurNombre TxtCurVacantes = Rs!CurVacantes TxtCurProfe = Rs!CurProfe Rs.Close Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 41

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

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

42

Para desarrollar la opcin Eliminar de la tabla Cursos, aada 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 segn se indica: Form1 Nombre Caption BorderStyle MDIChild Frame1 Nombre Caption Label1 Nombre Caption Label2 Nombre Caption Label3 Nombre Caption LblVacantes Vacantes: cc_peralta@hotmail.com 43 LblNombre Nombre: LblCodigo Cdigo: FraCodigo FrmMantenCursos Eliminar curso 3-Fixed Dialog True

Elaborado por Carlos Castillo Peralta

Label4 Nombre Caption Text1 Nombre Text Text2 Nombre Text Text3 Nombre Text Text4 Nombre Text Command1 Nombre Caption Command2 Nombre Caption Command3 Nombre CmdNuevo cc_peralta@hotmail.com 44 CmdEliminar &Eliminar CmdAceptar &Aceptar TxtCurProfe TxtCurVacantes TxtCurNombre TxtCurCodigo LblProfesor Profesor:

Elaborado por Carlos Castillo Peralta

Caption Command4 Nombre Caption

&Nuevo

CmdCerrar &Cerrar

Una vez establecidas las propiedades, proceda a ingresar el siguiente cdigo: Private Sub Form_Load() CmdAceptar.Enabled = True CmdEliminar.Enabled = False CmdNuevo.Enabled = False 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

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

45

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 ningn curso con este cdigo 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 CmdEliminar.Enabled = True CmdNuevo.Enabled = True End Sub Private Sub CmdCerrar_Click() Unload Me End Sub De manera similar proceda a desarrollar el cdigo para los formularios de mantenimiento de las dems tablas. Aplicacin N 4 Elaborar una aplicacin que permita recuperar y mantener la informacin de la base de datos CursosLibres.MDB. Para tal Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 46

fin

debe

preparar

un

formulario

que

permita

establecer

la

conexin con el origen de datos. Luego, si la conexin 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 diseo de la interfaz debe ser similar a la siguiente figura:

Las opciones Mantenimiento y Consulta deben ser anlogas a las realizadas en aplicaciones anteriores.

Microsoft
GUA DE LABORATORIO N 8 Objetivos Elaborado por Carlos Castillo Peralta

Visual Basic

cc_peralta@hotmail.com

47

Luego de completar este laboratorio, el estudiante ser capaz de: Usar el diseador de reportes DataReport. Utilizar impresos. Consideraciones Para el desarrollo del presente laboratorio Ud. deber crear una carpeta C:\FundVB\Lab8, para guardar sus trabajos correspondientes a este laboratorio. Aplicacin N 1 Disear un reporte que muestre la informacin almacenada en la tabla Cursos. El formato del reporte pedido se muestra a continuacin: y controlar la impresora para obtener reportes

Para disear nuestro reporte, lo primero que debemos hacer es conectarnos a la base de datos CursosLibres.MDB. La conexin la haremos efectiva mediante el Data Environment. Luego, aada un Comando y denomnelo CmCurso. Establezca el nombre de la

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

48

tabla a utilizar, para nuestro caso Curso. El aspecto de la ventana Data Environment deber ser similar a la figura:

Luego, del men Proyecto seleccionar la opcin Agregar Data Report, lo cual permite agregar el diseador de reportes:

En seguida del Data Environment seleccionar cada campo que desee incluir en el reporte y luego arrastre el campo hacia la seccin Detalles del Data Report.

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

49

El diseador de reportes presenta un conjunto de controles que permiten mejorar la presentacin de nuestro reporte. En seguida ubicar los siguientes controles: 2 etiquetas en la seccin Encabezado de informe 4 etiquetas en la seccin Encabezado de pgina A continuacin proceda a establecer las propiedades segn se indica: Etiqueta1 Nombre Caption Font Etiqueta2 Nombre Caption Font Etiqueta3 Nombre Caption Font Etiqueta4 Nombre Caption Font Etiqueta5 Nombre Caption RptLblVacantes Vacantes: cc_peralta@hotmail.com 50 RptLblNombre Nombre: Arial (Negrita 10) RptLblCodigo Cdigo: Arial (Negrita 10) RptLblNombre Reporte de Cursos Arial (Negrita Cursiva 16) RptLblVAB Instituto de Educacin Superior Vctor Andrs Belande Arial (Negrita 09)

Elaborado por Carlos Castillo Peralta

Font Etiqueta6 Nombre Caption Font

Arial (Negrita 10)

RptLblProfesor Profesor: Arial (Negrita 10)

Para insertar la fecha actual dar un click con el botn derecho del ratn sobre el diseador de reportes en la seccin de Encabezado de informe, del men contextual que se presenta seleccionar (formato propiedades: DataReport1 DataMember DataSource CmCurso DeCursosLibres la opcin En Insertar control, luego las Fecha actual corto). seguida, cambiar siguientes

Luego, seleccione del men Proyecto la opcin Propiedades de Proyecto, y en la ficha General del cuadro de dilogo Propiedades del proyecto, establecer DataReport1 como objeto inicial. Haga click en Aceptar y ejecute su aplicacin. Aplicacin N 2 Disear un reporte que permita mostrar un listado de profesores y los cursos que tienen a su cargo. Tener en cuenta que la informacin relacionada con cada profesor debe empezar en una pgina nueva. El formato del reporte pedido se muestra a continuacin:

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

51

En datos.

esta Para

aplicacin ello

explicaremos un nuevo

como

crear En

grupos

de

iniciar

proyecto.

seguida,

conectarse a la base de datos CursosLibres.MDB mediante el Data Environment. Luego, aada un Comando y denomnelo 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 dilogo Propiedades de CmProfesor. A continuacin activar la casilla de verificacin Agrupar comando, luego seleccionar de la lista de campos, el campo por el cual se desea agrupar la informacin, para nuestro caso seleccionar CurProfe y dar un click en el botn > . El cuadro de dilogo Propiedades de CmProfesor debe presentar un aspecto similar a la figura siguiente:

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

52

A continuacin sobre el diseador de reportes dar un click con el botn derecho del ratn y del men emergente que se presenta elegir la opcin Insertar encabezado o pie de grupo. Del objeto DeCursosLibres arrastrar el campo CurProfe de la seccin Campo de resumen en CmProfesor_Grouping al diseador de reportes campos pero a la seccin de la Encabezado seccin de grupo. de Los dems en arrastrarlos Campos Detalle

CmProfesor a la seccin Detalle del generador de reportes. Por ltimo proceda a cambiar las siguientes propiedades del objeto DataReport: DataReport1 DataMember DataSource Aplicacin N 3 Desarrollar una aplicacin que permita crear un reporte para mostrar la informacin de la base de datos 53 CursosLibres.MDB. Para tal fin debe preparar un formulario que Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com CmProfesor_Grouping DeCursosLibres

permita al usuario elegir una tabla, y en seguida se debe generar el reporte correspondiente. Adems el usuario puede obtener una vista preliminar del reporte o una copia impresa. El diseo de la interfaz debe ser similar a la figura que se muestra a continuacin:

Para desarrollar nuestra aplicacin, proceda a disear los reportes correspondientes segn: Tabla Alumno Curso Laboratorio Luego, formulario: 1 marco 3 botones de opcin 3 botones de comando En seguida proceda a establecer las propiedades segn se indica: Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 54 ubique los Reporte DataReport1 DataReport2 DataReport3 siguientes controles sobre el

Form1 Nombre Caption BorderStyle Frame1 Nombre Caption Option1 Nombre Caption Value Option2 Nombre Caption Value Option3 Nombre Caption Value Command1 Nombre Caption Picture CmdVistaPrevia VistaPrevia C:\Archivos de programa\Microsoft Visual Studio\Common\Graphics\Bitmaps\Win95\ Explorer.bmp Style 1-Graphical cc_peralta@hotmail.com 55 OptTablaLaboratorio Laboratorio False OptTablaCurso Curso False OptTablaAlumno Alumno True FraTablas FrmReporteCursosLibres Cursos Libres 3-Fixed Dialog

Elaborado por Carlos Castillo Peralta

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

Una vez establecidas las propiedades, proceda a ingresar el siguiente cdigo: 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 ElseIf OptTablaCurso.Value Then DataReport2.Show ElseIf OptTablaLaboratorio.Value Then DataReport2.Show End If End Sub Elaborado por Carlos Castillo Peralta cc_peralta@hotmail.com 56

Private Sub CmdSalir_Click() Unload Me End Sub Cuando ejecute la aplicacin, al dar un click en el botn Imprimir se visualizar el siguiente cuadro de dilogo, el cual nos permitir confirmar o cancelar la impresin:

Aplicacin N 4 Disear un reporte combinando datos de la tabla Curso y Laboratorio. El reporte debe mostrar el cdigo del curso, el nombre del curso, el nombre del profesor de teora, el nombre del jefe de prctica y el horario de laboratorio. Dar formato al reporte segn su criterio.

FIN PARTE II

Elaborado por Carlos Castillo Peralta

cc_peralta@hotmail.com

57

También podría gustarte