Ejercicios de Repaso de Bbdd en Vb
-
Upload
daniel-panadez -
Category
Documents
-
view
232 -
download
0
Transcript of Ejercicios de Repaso de Bbdd en Vb
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
1/40
EJERCICIOS DE REPASO DE BBDD EN VB
Para desarrollar nuestras prcticas de laboratorio debemos crear unabase 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 Access2000 es muy sencilla o el complemento de VB Administrador Visual de Datos.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. 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 yhaga 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 CursoNombre delCampo
Tipo Ancho Descripcin
CurCodigo T 03 Cdigo del curso
CurNombre T 30 Nombre del curso
CurVacantes N 03 Nmero de vacantes disponibles
CurProfe T 50 Nombre del profesor de teora
CurSilabo M 50 Slabo de cada curso
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
2/40
Luego, debe asignar un nombre a la tabla al momento de cerrarla. Paranuestro caso asgnele el nombre de Curso.
Por ltimo, proceda a abrir la tabla e introducir datos. Para nuestro caso,ingrese la siguiente informacin:
CurCodigo CurNombre CurProfeBC1 Borland C++ Nivel I Linares Alarcon, AdamsBC2 Borland C++ Nivel II Crdoba Saavedra, JavierBC3 Borland C++ Nivel III Castillo Peralta, Carlos
VB1 MS Visual Basic Nivel I Linares Alarcon, AdamsVB2 MS Visual Basic Nivel II Linares Alarcon, AdamsVB3 MS Visual Basic Nivel III Castillo Peralta, CarlosVC1 MS Visual C++ Nivel I Crdoba Saavedra, JavierVC2 MS Visual C++ Nivel II Castillo Peralta, CarlosVJ1 MS Visual J++ Nivel I Castillo Peralta, CarlosVJ2 MS Visual J++ Nivel II Castillo Peralta, CarlosVF1 MS Visual FoxPro Nivel I Linares Alarcon, AdamsVF2 MS Visual FoxPro Nivel II Castillo Peralta, CarlosVF3 MS Visual FoxPro Nivel III Castillo Peralta, CarlosPB1 Power Builder Nivel I Crdoba Saavedra, JavierPB2 Power Builder Nivel II Crdoba Saavedra, JavierSQ1 MS SQL Server Nivel I Crdoba Saavedra, JavierSQ2 MS SQL Server Nivel II Crdoba Saavedra, JavierWIN MS Windows 98 Montes Tejada, Estela
A menudo, el proceso de diseo de la base de datos es bastantecomplejo. Para nosotros ha sido fcil, pues se nos brinda la estructura de lastablas.
De manera anloga, proceda a crear la siguiente tabla segn se indica acontinuacin:
Tabla LaboratorioNombre del
Campo
Tipo Ancho Descripcin
LabCodigo T 03 Cdigo 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, asgnele el nombre deLaboratorio. Luego, proceda a ingresar la siguiente informacin:
LabCodigo LabHora LabProfeBC1 SA 08-10 Castillo Peralta, Carlos
BC2 SA 10-12 Linares Alarcon, AdamsBC3 DO 10-12 Castillo Peralta, Carlos
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
3/40
VB1 SA 08-10 Montes Tejada, EstelaVB2 DO 10-12 Linares Alarcon, AdamsVB3 DO 08-10 Castillo Peralta, CarlosVC1 DO 08-10 Linares Alarcon, AdamsVC2 DO 10-12 Crdoba Saavedra, JavierVJ1 SA 16-18 Castillo Peralta, CarlosVJ2 SA 18-20 Castillo Peralta, CarlosVF1 SA 08-10 Linares Alarcon, AdamsVF2 DO 08-10 Crdoba Saavedra, JavierVF3 DO 14-16 Linares Alarcon, AdamsPB1 VI 16-18 Crdoba Saavedra, JavierPB2 VI 14-16 Crdoba Saavedra, JavierSQ1 SA 16-18 Crdoba Saavedra, JavierSQ2 SA 18-20 Crdoba Saavedra, Javier
WIN SA 10-12 Montes Tejada, Estela
Aplicacin N 1Elaborar una aplicacin que permita realizar el mantenimiento de la
informacin almacenada en la tabla Curso de la base de datosCursosLibres.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 latabla. Los botones ubicados en el marco Mantenimiento (Nuevo, Editar,Guardar y Eliminar, de izquierda a derecha) permiten realizar las operacionesbsicas de mantenimiento de la tabla.
Para desarrollar nuestra aplicacin, lo primero que debemos hacer es
conectarnos a la base de datos CursosLibres.MDB. Para ello ingrese a VisualBasic de manera habitual, a continuacin en el men Proyecto seleccione la
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
4/40
opcin Agregar Data Environment y se crear una nueva conexin para la quedebe establecer propiedades de vnculo de datos. En la ventana DataEnvironment cambie el nombre del objeto DataEnvironment por DeCursosLibresy el de la conexin por CnCursosLibres. El aspecto de la ventana DataEnvironment deber ser similar a la siguiente figura:
Luego haga click con el botn derecho del ratn en CnCursosLibres yseleccione la opcin Propiedades. Deber presentarse un cuadro de dilogosimilar al siguiente:
En la ficha Proveedor del cuadro de dilogo anterior, seleccione MicrosoftJet 4.0 OLE DB Provider y haga click en el botn Siguiente. En seguida
aparecer un cuadro de dilogo similar al mostrado:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
5/40
En la ficha Conexin del cuadro de dilogo Propiedades de Data Linkescriba el nombre de la base de datos CursosLibres.MDB y haga click en el
botn Probar conexin. Luego si la conexin es satisfactoria haga click en elbotn Aceptar.
En seguida en la barra de herramientas de la ventana Data Environmenthaga click en el botn Agregar Comando y denomine al comando CmCurso.Luego haga click derecho sobre el comando y seleccione Propiedades:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
6/40
Compruebe que este comando utiliza la conexin CnCursosLibres, luegoestablezca el nombre de la tabla a utilizar, en este caso Curso y haga click en elbotn Aceptar.
A continuacin seleccione el comando CmCurso y arrstrelo hacia elformulario. Finalmente agregue los siguientes controles al formulario:
3 marcos9 botones de comandos
En seguida proceda a establecer las propiedades requeridas:
Form1Nombre FrmMantenCursoCaption Mantenimiento de cursosBorderStyle 3-Fixed Dialog
Frame1Nombre FraIngresoCaption
Frame2Nombre FraNavegadorCaption Navegador
Frame3Nombre FraMantenimientoCaption Mantenimiento
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
7/40
LblFieldLabel(0)
Nombre LblFieldLabelCaption Cdigo:
LblFieldLabel(1)Nombre LblFieldLabelCaption Nombre:
LblFieldLabel(2)Nombre LblFieldLabelCaption Vacantes:
LblFieldLabel(3)Nombre LblFieldLabelCaption Profesor:
TxtCurCodigoNombre TxtCurCodigoLocked TrueText
TxtCurNombre
Nombre TxtCurNombreLocked TrueText
TxtCurVacantesNombre TxtCurVacantesLocked TrueText
TxtCurProfe
Nombre TxtCurProfeLocked TrueText
Command1Nombre CmdPrimeroCaptionPicture C:\FundVB\Bitmaps\First.bmpStyle 1-Graphical
Command2Nombre CmdAnterior
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
8/40
CaptionPicture C:\FundVB\Bitmaps\Previous.bmpStyle 1-Graphical
Command3Nombre CmdSiguienteCaptionPicture C:\FundVB\Bitmaps\Next.bmpStyle 1-Graphical
Command4Nombre CmdUltimoCaption
Picture C:\FundVB\Bitmaps\Last.bmpStyle 1-Graphical
Command5Nombre CmdNuevoCaptionPicture C:\FundVB\Bitmaps\New.bmpStyle 1-Graphical
Command6
Nombre CmdEditarCaptionPicture C:\FundVB\Bitmaps\Edit.bmpStyle 1-Graphical
Command7Nombre CmdGuardarCaptionPicture C:\FundVB\Bitmaps\Save.bmpStyle 1-Graphical
Command8Nombre CmdEliminarCaptionPicture C:\FundVB\Bitmaps\Delete.bmpStyle 1-Graphical
Command9Nombre CmdSalir
Caption &SalirPicture C:\FundVB\Bitmaps\Exit.bmp
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
9/40
Style 1-Graphical
El cdigo asociado a la aplicacin se muestra a continuacin:
Private Sub CmdPrimero_Click()
DeCursosLibres.rsCmCurso.MoveFirstEnd Sub
Private Sub CmdUltimo_Click()DeCursosLibres.rsCmCurso.MoveLast
End Sub
Private Sub CmdAnterior_Click()DeCursosLibres.rsCmCurso.MovePreviousIf DeCursosLibres.rsCmCurso.BOF Then
DeCursosLibres.rsCmCurso.MoveFirstMsgBox Estamos en el primer registroEnd If
End Sub
Private Sub CmdSiguiente_Click()DeCursosLibres.rsCmCurso.MoveNextIf DeCursosLibres.rsCmCurso.EOF ThenDeCursosLibres.rsCmCurso.MoveLastMsgBox Estamos en el ltimo registro
End IfEnd Sub
Private Sub CmdNuevo_Click()DeCursosLibres.rsCmCurso.AddNewModoEditar True
End Sub
Private Sub CmdEditar_Click()ModoEditar True
End Sub
Private Sub CmdGuardar_Click()DeCursosLibres.rsCmCurso.UpdateModoEditar False
End Sub
Private Sub CmdEliminar_Click()DeCursosLibres.rsCmCurso.DeleteDeCursosLibres.rsCmCurso.MoveNext
If DeCursosLibres.rsCmCurso.EOF ThenDeCursosLibres.rsCmCurso.MoveLast
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
10/40
End IfEnd 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 ThenEnd
ElseCancel = True
End IfEnd Sub
Private Sub Form_Activate()ModoEditar False
End Sub
Private Sub ModoEditar(ByVal Ok As Boolean)TxtCurCodigo.Locked = Not Ok: TxtCurNombre.Locked = Not OkTxtCurVacantes.Locked = Not Ok: TxtCurProfe.Locked = Not OkCmdNuevo.Enabled = Not Ok: CmdEditar.Enabled = Not OkCmdGuardar.Enabled = Ok: CmdEliminar.Enabled = Not OkCmdPrimero.SetFocus: If Ok Then TxtCurCodigo.SetFocus
End Sub
Finalmente antes de ejecutar la aplicacin debemos asegurarnos deelegir el tipo de bloqueo adecuado. Para ello haga click derecho sobre elcomando CmCurso y elija la opcin Propiedades y en la ficha Avanzadasselecciones el tipo de bloqueo 3-Optimistic, tal como se muestra en la figurasiguiente:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
11/40
Aplicacin N 2Desarrollar 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 es
conectarnos a la base de datos CursosLibres.MDB. Luego, aada un Comando ydenomnelo CmConsultaCurso. Haga click derecho sobre el comando yseleccione Propiedades:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
12/40
Compruebe que este comando utiliza la conexin CnCursosLibres. Luego
seleccione la opcin Instruccin SQL (Structured Query Language, Lenguaje deEstructuras de 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 DataEnvironmentdebe presentar el siguiente aspecto:
A continuacin seleccione el comando CmConsultaCurso y arrstrelo conel botn derecho del ratn hacia el formulario. Del men desplegable que sepresenta, seleccione la opcin Cuadrcula de datos.
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
13/40
Luego, cambie las dimensiones de la grilla de tal forma que ocupe latotalidad del formulario. Finalmente guarde y pruebe su aplicacin.
Aplicacin N 3Desarrollar una aplicacin que permita seleccionar de un control
DataCombo el nombre de un profesor y visualizar los cursos que dicta dichoprofesor.
Lo primero que debe hacer es conectarse a la base de datosCursosLibres.MDB. En seguida aada un comando y denomneloCmConsultaProfe. Luego haga click derecho sobre el comando y seleccionePropiedades. 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 laopcin Instruccin SQL e ingrese el siguiente cdigo:
Select Distinct CurProfe From Curso
Luego proceda ha ubicar los siguientes controles en el formulario:1 control DataCombo1 control DataGrid1 botn de comandos
En seguida proceda a establecer las propiedades segn se indica:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
14/40
Form1Nombre FrmConsultaProfeCaption Consulta de profesoresBorderStyle 3-Fixed Dialog
DataCombo1Nombre DbcProfeListField CurProfeRowMember CmProfeRowSource DeCursosLibres
DataGrid1Nombre DbgrdCursosFont Arial (Negrita 10)
HeadFont Arial (Negrita 10)
Command1Nombre CmdBuscarCaption &Buscar
A continuacin ingrese el siguiente cdigo:
Private Sub CmdBuscar_Click()If DeCursosLibres.rsCmConsultaProfe.State = adStateOpen Then
DeCursosLibres.rsCmConsultaProfe.CloseEnd IfDeCursosLibres.CmConsultaProfe (DbcProfe.Text)Set DbgrdCursos.DataSource = DeCursosLibres.rsCmConsultaProfe
End Sub
Aplicacin N 4Desarrollar una aplicacin que permita mostrar el contenido de la tabla
Laboratorio, relacionada con la tabla Curso, tal como se muestra acontinuacin:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
15/40
Observar que la tabla Laboratorio slo cuenta con tres campos. El campoque contiene el nombre del curso pertenece a la tabla Curso.
La sentencia SQL que permite obtener consultas a partir de mltiplestablas (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, CursoWhere Laboratorio.LabCodigo = Curso.CurCodigo
MicrosoftVisual BasicGUA DE LABORATORIO N 7Objetivos
Luego de completar este laboratorio, el estudiante ser capaz de:
Utilizar el objeto ADO Connection para crear una conexin a una base dedatos.
Crear un objeto ADO Recordset para recuperar informacin de una base dedatos.
Utilizar el mtodo Execute de una conexin para actualizar la informacin deuna base de datos.
ConsideracionesPara el desarrollo del presente laboratorio Ud. deber crear una carpeta
C:\FundVB\Lab7, para guardar sus trabajos correspondientes a estelaboratorio.
Aplicacin N 1Elaborar una aplicacin que permita realizar el mantenimiento de la
informacin contenida en la tabla Curso.
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
16/40
En esta aplicacin Ud. debe disear la interfaz y luego escribir cdigopara conectarse y recuperar informacin de la base de datos.
Para el diseo de la interfaz, proceda a ubicar los siguientes controles enel formulario:
3 marcos4 etiquetas4 cajas de texto8 botones de comando
En seguida proceda a establecer las propiedades segn se indica:
Form1Nombre FrmMantenCursos
Caption Mantenimiento de cursosBorderStyle 3-Fixed DialogMoveable FalseStartUpPosition 2-CenterScreen
Frame1Nombre FraIngresoCaption
Frame2
Nombre FraNavegadorCaption Navegador
Frame3Nombre FraMantenimientoCaption Mantenimiento
Label1Nombre LblCodigo
Caption Cdigo:
Label2Nombre LblNombreCaption Nombre:
Label3Nombre LblVacantesCaption Vacantes:
Label4
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
17/40
Nombre LblProfesorCaption Profesor:
Text1Nombre TxtCurCodigoLocked TrueText
Text2Nombre TxtCurNombreLocked TrueText
Text3
Nombre TxtCurVacantesLocked TrueText
Text4Nombre TxtCurProfeLocked TrueText
Para establecer las propiedades de los botones de comando Command1,Command2, . . ., Command8, copiar los pasos de la pg. 87 a la pg. 88 de laGua de Laboratorio N 6 (Aplicacin N 1).
Antes de ingresar cdigo a la aplicacin, debemos tener en cuenta quepara poder utilizar los objetos ADO es una aplicacin Visual Basic es necesariocargar la librera correspondiente. Para ello selecciones el men Proyecto y elijala opcin Referencias. En el cuadro de dilogo Referencias seleccione la opcinMicrosoft ActiveX Data Objects 2.1 Library, tal como se indica en la figurasiguiente:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
18/40
Luego de hacer click en el botn Aceptar estar en condiciones de utilizarlos objetos ADO en su aplicacin.
El cdigo necesario para realizar la conexin y efectuar el mantenimientode la tabla se muestra a continuacin. Observar la analoga cuando se utilizaData Environment.
Dim Cn As ADODB.ConnectionDim Rs As ADODB.Recordset
Private Sub ModoEditar(ByVal Ok As Boolean)TxtCurCodigo.Locked = Not OkTxtCurNombre.Locked = Not OkTxtCurVacantes.Locked = Not OkTxtCurProfe.Locked = Not OkCmdNuevo.Enabled = Not Ok
CmdEditar.Enabled = Not OkCmdGuardar.Enabled = OkCmdEliminar.Enabled = Not OkIf Ok Then TxtCurCodigo.SetFocus
End Sub
Private Sub Form_Load()ModoEditar FalseSet Cn = New ADODB.ConnectionSet Rs = New ADODB.Recordset
Cn.Open Provider=Microsoft.Jet.OLEDB.4.0; & _Data Source=C:\FundVB\Data\CursosLibres.MDB; & _
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
19/40
Persist Security Info=FalseRs.ActiveConnection = CnRs.CursorType = adOpenKeysetRs.LockType = adLockOptimisticRs.Open Select * From Curso
Set TxtCurCodigo.DataSource = RsTxtCurCodigo.DataField = CurCodigoSet TxtCurNombre.DataSource = RsTxtCurNombre.DataField = CurNombreSet TxtCurVacantes.DataSource = RsTxtCurVacantes.DataField = CurVacantesSet TxtCurProfe.DataSource = RsTxtCurProfe.DataField = CurProfe
End Sub
Private Sub CmdPrimero_Click()Rs.MoveFirst
End Sub
Private Sub CmdAnterior_Click()Rs.MovePreviousIf Rs.BOF Then
Rs.MoveFirstMsgBox Estamos en el primer registro
End If
End Sub
Private Sub CmdSiguiente_Click()Rs.MoveNextIf Rs.EOF Then
Rs.MoveLastMsgBox Estamos en el ltimo registro
End IfEnd Sub
Private Sub CmdUltimo_Click()Rs.MoveLast
End Sub
Private Sub CmdNuevo_Click()Rs.AddNewModoEditar True
End Sub
Private Sub CmdEditar_Click()ModoEditar True
End Sub
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
20/40
Private Sub CmdGuardar_Click()Rs.UpdateModoEditar False
End Sub
Private Sub CmdEliminar_Click()Rs.DeleteRs.MoveNextIf Rs.EOF Then
Rs.MoveLastEnd If
End Sub
Private Sub Form_Unload(Cancel As Integer)Cn.Close
Set Cn = NothingEnd Sub
Aplicacin N 2Desarrollar una aplicacin 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 continuacin se deben visualizar los cursos a sucargo. El diseo de la interfaz debe ser similar a la figura mostrada:
Para el desarrollo de esta aplicacin, proceda ha ubicar los siguientescontroles en el formulario:
1 control ComboBox1 control DataGrid1 botn de comandos
En seguida proceda a establecer las propiedades segn se indica:
Form1Nombre FrmConsultaProfeCaption Consulta de profesores
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
21/40
BorderStyle 3-Fixed Dialog
Combo1Nombre CboProfeText
DataGrid1Nombre DbgrdCursosFont Arial (Negrita 10)HeadFont Arial (Negrita 10)
Command1Nombre CmdBuscarCaption &Buscar
Default True
A continuacin debe ingresar el cdigo que se muestra en seguida:
Dim Cn As ADODB.ConnectionDim RsCurso As ADODB.RecordsetDim RsProfe As ADODB.Recordset
Private Sub Form_Load()Set Cn = New ADODB.ConnectionSet RsProfe = New ADODB.RecordsetCn.Open Provider=Microsoft.Jet.OLEDB.4.0; & _
Data Source=C:\FundVB\Data\CursosLibres.MDB; & _Persist Security Info=False
RsProfe.ActiveConnection = CnRsProfe.CursorType = adOpenStaticRsProfe.LockType = adLockOptimisticRsProfe.CursorLocation = adUseClientRsProfe.Open Select Distinct CurProfe From CursoDo While Not RsProfe.EOF()
CboProfe.AddItem RsProfe(CurProfe)
RsProfe.MoveNextLoop
End Sub
Private Sub CmdBuscar_Click()Set RsCurso = New ADODB.RecordsetRsCurso.ActiveConnection = CnRsCurso.CursorType = adOpenStaticRsCurso.LockType = adLockReadOnlyRsCurso.CursorLocation = adUseClient
RsCurso.Open Select CurCodigo As Cdigo, & _CurNombre As Nombre, CurProfe As Profesor & _
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
22/40
From Curso Where CurProfe = ' & CboProfe.Text & 'Set DbgrdCursos.DataSource = RsCurso
End Sub
Private Sub Form_Unload(Cancel As Integer)
Cn.CloseSet Cn = Nothing
End Sub
Aplicacin N 3Desarrollar una aplicacin que permita realizar el mantenimiento de las
tablas de la base de datos CursosLibres.MDB (estas tablas le sernproporcionadas 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 debemospreparar los siguientes formularios:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
23/40
Para desarrollar nuestra aplicacin debe agregar un mdulo de cdigo alproyecto. Luego ingrese lo siguiente:
Public Cn As ADODB.Connection
Tambin ser necesario agregar un formulario MDI. Luego, cambie elnombre del formulario por el de MDICursosLibres. En seguida, disee el menpara la aplicacin segn 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
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
24/40
&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 cdigo:
Private Sub MDIForm_Load()Set Cn = New ADODB.ConnectionCn.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 FrmNuevoCursoFrmNuevoCurso.Show
End Sub
Private Sub MnuMantenCursosEditar_Click()Load FrmEditarCurso
FrmEditarCurso.ShowEnd Sub
Private Sub MnuMantenCursosEliminar_Click()Load FrmEliminarCursoFrmEliminarCurso.Show
End Sub
Para desarrollar la opcin Nuevo de la tabla Curso, aada un nuevoformulario al proyecto. Luego, ubique los siguientes controles en el formulario:
4 etiquetas4 cajas de texto3 botones de comando
Luego proceda a establecer las propiedades segn se indica:Form1
Nombre FrmMantenCursosCaption Nuevo cursoBorderStyle 3-Fixed Dialog
MDIChild True
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
25/40
Label1Nombre LblCodigoCaption Cdigo:
Label2Nombre LblNombreCaption Nombre:
Label3Nombre LblVacantesCaption Vacantes:
Label4Nombre LblProfesorCaption Profesor:
Text1Nombre TxtCurCodigoText
Text2Nombre TxtCurNombreText
Text3Nombre TxtCurVacantesText
Text4Nombre TxtCurProfeText
Command1Nombre CmdGrabarCaption &Grabar
Command2Nombre CmdNuevoCaption &Nuevo
Command3Nombre CmdCerrarCaption &Cerrar
Una vez establecidas las propiedades, proceda a ingresar el siguiente
cdigo:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
26/40
Private Sub Form_Load()CmdGrabar.Enabled = TrueCmdNuevo.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 = FalseCmdNuevo.Enabled = True
End Sub
Private Sub CmdNuevo_Click()
TxtCurCodigo = TxtCurNombre = TxtCurVacantes = TxtCurProfe = CmdGrabar.Enabled = True: CmdNuevo.Enabled = FalseTxtCurCodigo.SetFocus
End Sub
Private Sub CmdCerrar_Click()Unload Me
End Sub
Para desarrollar la opcin Editar de la tabla Curso, aada un nuevoformulario al proyecto. Luego, ubique los siguientes controles en el formulario:
1 marco4 etiquetas4 cajas de texto4 botones de comando
En seguida proceda a establecer las propiedades segn se indica:
Form1Nombre FrmMantenCursosCaption Editar cursoBorderStyle 3-Fixed DialogMDIChild True
Frame1Nombre FraCodigoCaption
Label1
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
27/40
Nombre LblCodigoCaption Cdigo:
Label2Nombre LblNombreCaption Nombre:
Label3Nombre LblVacantesCaption Vacantes:
Label4Nombre LblProfesorCaption Profesor:
Text1Nombre TxtCurCodigoText
Text2Nombre TxtCurNombreText
Text3
Nombre TxtCurVacantesText
Text4Nombre TxtCurProfeText
Command1Nombre CmdAceptarCaption &Aceptar
Command2Nombre CmdGrabarCaption &Grabar
Command3Nombre CmdNuevoCaption &Nuevo
Command4
Nombre CmdCerrarCaption &Cerrar
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
28/40
Una vez establecidas las propiedades, proceda a ingresar el siguiente
cdigo:
Private Sub Form_Load()
CmdAceptar.Enabled = TrueCmdGrabar.Enabled = FalseCmdNuevo.Enabled = False
End Sub
Private Sub CmdAceptar_Click()Dim Rs As New ADODB.RecordsetSet Rs = Cn.Execute(Select CurNombre, & _
CurVacantes, CurProfe From Curso & _Where CurCodigo = ' & TxtCurCodigo & ')
If (Rs.EOF And Rs.BOF) ThenMsgBox No existe ningn curso con este cdigoTxtCurCodigo.SetFocusTxtCurCodigo.SelStart = 0TxtCurCodigo.SelLength = Len(TxtCurCodigo)Exit Sub
End IfTxtCurNombre = Rs!CurNombreTxtCurVacantes = Rs!CurVacantesTxtCurProfe = Rs!CurProfe
Rs.CloseSet Rs = NothingTxtCurCodigo.Enabled = FalseCmdAceptar.Enabled = FalseCmdGrabar.Enabled = TrueCmdNuevo.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 = TrueCmdGrabar.Enabled = False
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
29/40
CmdNuevo.Enabled = FalseTxtCurCodigo.Enabled = TrueTxtCurCodigo.SetFocus
End Sub
Private Sub CmdCerrar_Click()Unload Me
End Sub
Para desarrollar la opcin Eliminar de la tabla Cursos, aada un nuevoformulario al proyecto. Luego, ubique los siguientes controles en el formulario:
1 marco4 etiquetas4 cajas de texto
4 botones de comando
En seguida proceda a establecer las propiedades segn se indica:
Form1Nombre FrmMantenCursosCaption Eliminar cursoBorderStyle 3-Fixed DialogMDIChild True
Frame1Nombre FraCodigoCaption
Label1Nombre LblCodigoCaption Cdigo:
Label2Nombre LblNombre
Caption Nombre:
Label3Nombre LblVacantesCaption Vacantes:
Label4Nombre LblProfesorCaption Profesor:
Text1Nombre TxtCurCodigo
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
30/40
Text
Text2Nombre TxtCurNombreText
Text3Nombre TxtCurVacantesText
Text4Nombre TxtCurProfeText
Command1Nombre CmdAceptarCaption &Aceptar
Command2Nombre CmdEliminarCaption &Eliminar
Command3Nombre CmdNuevo
Caption &Nuevo
Command4Nombre CmdCerrarCaption &Cerrar
Una vez establecidas las propiedades, proceda a ingresar el siguientecdigo:
Private Sub Form_Load()
CmdAceptar.Enabled = TrueCmdEliminar.Enabled = FalseCmdNuevo.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 =
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
31/40
TxtCurNombre = TxtCurVacantes = TxtCurProfe = CmdAceptar.Enabled = TrueCmdEliminar.Enabled = False
CmdNuevo.Enabled = FalseTxtCurCodigo.Enabled = TrueTxtCurCodigo.SetFocus
End Sub
Private Sub CmdAceptar_Click()Dim Rs As New ADODB.RecordsetSet Rs = Cn.Execute(Select CurNombre, & _
CurVacantes, CurProfe From Curso & _Where CurCodigo = ' & TxtCurCodigo & ')
If (Rs.EOF And Rs.BOF) ThenMsgBox No existe ningn curso con este cdigoTxtCurCodigo.SetFocusTxtCurCodigo.SelStart = 0TxtCurCodigo.SelLength = Len(TxtCurCodigo)Exit Sub
End IfTxtCurNombre = Rs!CurNombreTxtCurVacantes = Rs!CurVacantesTxtCurProfe = Rs!CurProfe
Rs.CloseSet Rs = NothingTxtCurCodigo.Enabled = FalseCmdAceptar.Enabled = FalseCmdEliminar.Enabled = TrueCmdNuevo.Enabled = True
End Sub
Private Sub CmdCerrar_Click()Unload Me
End Sub
De manera similar proceda a desarrollar el cdigo para los formularios demantenimiento de las dems tablas.
Aplicacin N 4Elaborar una aplicacin que permita recuperar y mantener la informacin
de la base de datos CursosLibres.MDB. Para tal fin debe preparar un formularioque permita establecer la conexin con el origen de datos. Luego, si la conexines satisfactoria el usuario tiene la posibilidad de elegir una de las tablas de labase de datos para realizar las operaciones habituales de mantenimiento o
simplemente para ejecutar consultas. El diseo de la interfaz debe ser similar ala siguiente figura:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
32/40
Las opciones Mantenimiento y Consulta deben ser anlogas a lasrealizadas en aplicaciones anteriores.
MicrosoftVisual BasicGUA DE LABORATORIO N 8Objetivos
Luego de completar este laboratorio, el estudiante ser capaz de:
Usar el diseador de reportes DataReport. Utilizar y controlar la impresora para obtener reportes impresos.
ConsideracionesPara el desarrollo del presente laboratorio Ud. deber crear una carpeta
C:\FundVB\Lab8, para guardar sus trabajos correspondientes a estelaboratorio.
Aplicacin N 1Disear un reporte que muestre la informacin almacenada en la tabla
Cursos. El formato del reporte pedido se muestra a continuacin:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
33/40
Para disear nuestro reporte, lo primero que debemos hacer es
conectarnos a la base de datos CursosLibres.MDB. La conexin la haremosefectiva mediante el Data Environment. Luego, aada un Comando ydenomnelo CmCurso. Establezca el nombre de la tabla a utilizar, para nuestrocaso Curso. El aspecto de la ventana Data Environment deber ser similar a lafigura:
Luego, del men Proyecto seleccionar la opcin Agregar Data Report, locual permite agregar el diseador de reportes:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
34/40
En seguida del Data Environment seleccionar cada campo que desee
incluir en el reporte y luego arrastre el campo hacia la seccin Detalles del DataReport.
El diseador de reportes presenta un conjunto de controles que permitenmejorar la presentacin de nuestro reporte. En seguida ubicar los siguientescontroles:
2 etiquetas en la seccin Encabezado de informe4 etiquetas en la seccin Encabezado de pgina
A continuacin proceda a establecer las propiedades segn se indica:
Etiqueta1Nombre RptLblVABCaption Instituto de Educacin Superior
Vctor Andrs BelandeFont Arial (Negrita 09)
Etiqueta2Nombre RptLblNombreCaption Reporte de CursosFont Arial (Negrita Cursiva 16)
Etiqueta3Nombre RptLblCodigoCaption Cdigo:Font Arial (Negrita 10)
Etiqueta4
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
35/40
Nombre RptLblNombreCaption Nombre:Font Arial (Negrita 10)
Etiqueta5Nombre RptLblVacantesCaption Vacantes:Font Arial (Negrita 10)
Etiqueta6Nombre RptLblProfesorCaption Profesor:Font 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, delmen contextual que se presenta seleccionar la opcin Insertar control, luegoFecha actual (formato corto). En seguida, cambiar las siguientes propiedades:
DataReport1DataMember CmCursoDataSource DeCursosLibres
Luego, seleccione del men Proyecto la opcin Propiedades de Proyecto,y en la ficha General del cuadro de dilogo Propiedades del proyecto, establecerDataReport1 como objeto inicial. Haga click en Aceptar y ejecute su aplicacin.
Aplicacin N 2Disear un reporte que permita mostrar un listado de profesores y los
cursos que tienen a su cargo. Tener en cuenta que la informacin relacionadacon cada profesor debe empezar en una pgina nueva. El formato del reportepedido se muestra a continuacin:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
36/40
En esta aplicacin explicaremos como crear grupos de datos. Para elloiniciar un nuevo proyecto. En seguida, conectarse a la base de datos
CursosLibres.MDB mediante el Data Environment. Luego, aada un Comando ydenomnelo CmProfesor. Establezca el nombre de la tabla a utilizar, paranuestro caso Curso. Para realizar el agrupamiento por profesor seleccionar laficha Agrupar del cuadro de dilogo Propiedades de CmProfesor. A continuacinactivar la casilla de verificacin Agrupar comando, luego seleccionar de la listade campos, el campo por el cual se desea agrupar la informacin, para nuestrocaso seleccionar CurProfe y dar un click en el botn . El cuadro de dilogoPropiedades de CmProfesor debe presentar un aspecto similar a la figurasiguiente:
>
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
37/40
A continuacin sobre el diseador de reportes dar un click con el botnderecho del ratn y del men emergente que se presenta elegir la opcinInsertar encabezado o pie de grupo. Del objeto DeCursosLibres arrastrar elcampo CurProfe de la seccin Campo de resumen en CmProfesor_Grouping aldiseador de reportes pero a la seccin Encabezado de grupo. Los demscampos arrastrarlos de la seccin Campos de Detalle en CmProfesor a laseccin Detalle del generador de reportes. Por ltimo proceda a cambiar lassiguientes propiedades del objeto DataReport:
DataReport1DataMember CmProfesor_GroupingDataSource DeCursosLibres
Aplicacin N 3Desarrollar una aplicacin que permita crear un reporte para mostrar la
informacin de la base de datos CursosLibres.MDB. Para tal fin debe prepararun formulario que permita al usuario elegir una tabla, y en seguida se debegenerar el reporte correspondiente. Adems el usuario puede obtener una vistapreliminar del reporte o una copia impresa. El diseo de la interfaz debe sersimilar a la figura que se muestra a continuacin:
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
38/40
Para desarrollar nuestra aplicacin, proceda a disear los reportescorrespondientes segn:
Tabla ReporteAlumno DataReport1
Curso DataReport2Laboratorio DataReport3
Luego, ubique los siguientes controles sobre el formulario:
1 marco
3 botones de opcin3 botones de comando
En seguida proceda a establecer las propiedades segn se indica:Form1
Nombre FrmReporteCursosLibresCaption Cursos LibresBorderStyle 3-Fixed Dialog
Frame1
Nombre FraTablasCaption
Option1Nombre OptTablaAlumnoCaption Alumno
Value True
Option2Nombre OptTablaCurso
Caption CursoValue False
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
39/40
Option3
Nombre OptTablaLaboratorioCaption Laboratorio
Value False
Command1Nombre CmdVistaPreviaCaption VistaPreviaPicture C:\Archivos de programa\Microsoft Visual
Studio\Common\Graphics\Bitmaps\Win95\Explorer.bmp
Style 1-GraphicalCommand2
Nombre CmdImprimirCaption ImprimirPicture C:\Archivos de programa\Microsoft Visual
Studio\Common\Graphics\Bitmaps\Win95\Printfld.bmp
Style 1-Graphical
Command3Nombre CmdSalirCaption Salir
Una vez establecidas las propiedades, proceda a ingresar el siguientecdigo:
Private Sub CmdImprimir_Click()If OptTablaAlumno.Value Then
DataReport1.PrintReport TrueElseIf OptTablaCurso.Value Then
DataReport2.PrintReport TrueElseIf OptTablaLaboratorio.Value Then
DataReport2.PrintReport True
End IfEnd SubPrivate Sub CmdVistaPrevia_Click()
If OptTablaAlumno.Value ThenDataReport1.Show
ElseIf OptTablaCurso.Value ThenDataReport2.Show
ElseIf OptTablaLaboratorio.Value ThenDataReport2.Show
End If
End SubPrivate Sub CmdSalir_Click()
-
7/24/2019 Ejercicios de Repaso de Bbdd en Vb
40/40
Unload MeEnd Sub
Cuando ejecute la aplicacin, al dar un click en el botn Imprimir sevisualizar el siguiente cuadro de dilogo, el cual nos permitir confirmar o
cancelar la impresin:
Aplicacin N 4Disear un reporte combinando datos de la tabla Curso y Laboratorio. Elreporte debe mostrar el cdigo del curso, el nombre del curso, el nombre delprofesor de teora, el nombre del jefe de prctica y el horario de laboratorio.Dar formato al reporte segn su criterio.