ejercicios de repaso de bbdd en vb

Upload: daniel-panadez

Post on 20-Feb-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

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