bases de datos y vb.net con adodb

Upload: elieser-nunez

Post on 17-Oct-2015

139 views

Category:

Documents


1 download

TRANSCRIPT

  • Elieser Nez [email protected]

    1

    AAACCCCCCEEESSSOOO AAA DDDAAATTTOOOSSS DDDEEESSSDDDEEE

    VVVIIISSSUUUAAALLL BBBAAASSSIIICCC...NNNEEETTT CCCOOONNN

    AAADDDOOODDDBBB

    ELABORADO POR:

    ELIESER NEZ

    [email protected]

  • Elieser Nez [email protected]

    2

    INTRODUCCIN

    A travs de esta gua que va paso a paso y que para cumplir

    los objetivos se desarrolla un proyecto de control de trabajo

    educativo social, para una institucin de nivel medio, donde el

    alumno aprender a crear aplicaciones usando base de datos.

    Espero que satisfaga las necesidades de los estudiantes

    Si desean compartirla con otros colegas, me agradara mucho

    que lo hiciera, con la nica condicin de que siempre se respete

    el derecho del autor.

    Elieser Nez

  • Elieser Nez [email protected]

    3

    Microsoft Visual Basic.Net

    GUA DE LABORATORIO N 1

    Objetivos

    Luego de completar este laboratorio, el estudiante ser

    capaz de:

    Crear y manipular bases de datos utilizando Microsoft Access.

    Conectar con la base de datos usando la librera ADODB

    Manipular registros de una tabla programando con ADODB

    Crear formularios con datos enlazados.

    Realizar consultas utilizando sentencias SQL.

    Crear Reportes usando Crystal Report

    Creacin de la base de datos con Microsoft Access 2007-2010

    Para desarrollar nuestras prcticas de laboratorio debemos

    crear una base de datos cuyo nombre es DBtes.ACCDB, la cual

    contendr las tablas modalidades, Cursos, secciones, alumnos,

    actidetalles, actividad1 y otras que aadiremos en el siguiente

    nivel. La tarea de crear una base de datos con Microsoft Access

    2007-2010-2013 es muy sencilla. Para tener una mejor comprensin

    observemos el DER del proyecto.

  • Elieser Nez [email protected]

    4

    DER PROYECTO CONTROL-TES 90%

    Casos Partiendo de que un instituto tiene varias modalidades (reas)

    podemos decir:

    Un rea puede tener varios cursos

    Un curso puede tener varias secciones

    Un alumno tiene derecho a estar en un curso varias veces

    Conociendo los casos y visto el diagrama describimos los atributos

    pertenecientes a cada identidad e identificamos los campos claves.

    Para luego crear la base de datos en Microsoft Access.

    TABLA MODALIDADES

    Nombre del

    Campo

    Tipo Ancho Descripcin

    Mod_cod T 03 Cdigo de modalidad

    Mod_nom T 50 Nombre de modalidad

    TABLA CURSOS

    Nombre del

    Campo

    Tipo Ancho Descripcin

  • Elieser Nez [email protected]

    5

    Cur_cod T 03 Cdigo de Curso

    Cur_no N Entero Numero de Curso

    Cur_desc T 12 Descripcin

    Cur_nsec N Entero Cantidad secciones

    Mod_cod T 03 Cdigo de modalidad

    TABLA SECCIONES

    Nombre del

    Campo

    Tipo Ancho Descripcin

    Sec_id AutoNumera

    cion

    Sec_no N Entero Numero de Seccin

    sec_jorn T 20 Jornada

    Sec_limite N Entero Limite alumnos

    Sec_year N Entero Ao seccin

    Cur_cod T 03 Cdigo de curso

    Como puede observar hay un atributo en cada tabla que aparece

    subrayado, eso significa que es un campo nico donde los datos a

    diferencia de los dems no se pueden repetir, al momento de crear la

    tabla debe asegurarse que la llave de asignacin este sobre el campo

    primario.

    Note que hay campos que han sido definidos como primarios en una tabla

    y aparecen en otra tabla, a estos campos se les denomina campos

    forneos y su funcin es conectar la informacin de una tabla con

    otra.

    Desarrollaremos este proyecto por partes, como hemos visto el DER est

    compuesto por 6 entidades (tablas), iniciaremos diseando estas cuatro

    tablas(reas, curso, secciones y modalidades) y la interfaz de cada

    una de ellas en Visual Basic.

    As que manos a la obra, entremos en la aplicacin de Access asignemos

    el nombre a la base de datos dbtes, diseamos la tabla de reas, cursos, secciones y alumnos conforme al diseo propuesto en esta gua.

    Luego relacionamos las tablas usando las reglas de integridad

    referencial, guarde la base de datos y listo ya tenemos la base de

    datos. Si usted ya recibi el curso de Access no tendr problemas en

    seguir las instrucciones descritas anteriormente. Si no consulte el

    manual de Access para resolver el problema.

  • Elieser Nez [email protected]

    6

    La relacin debe de quedar segn la siguiente imagen.

    Creando aplicaciones en Visual Basic >NET 2008-2010 En visual Basic existen diferentes formas de desarrollar una

    aplicacin puede ser utilizando entornos de datos, ADODB entre otros.

    Nos centraremos en la programacin ADODB que es la ms recomendada por

    los expertos en esta rea.

    Que significa ADODB?

    A travs de este nuevo modelo podemos acceder a las bases de datos

    mediante cdigo.

    Podamos definir ADODB como:

    Un conjunto de interfaces, clases y estructuras que permiten el

    acceso a Datos.

    Permite un modo de acceso a datos desconectado. Esto quiere

    decir que a travs de ADODB solo estaremos conectados con el

    servidor el tiempo estrictamente necesario para realizar la

    carga de los datos en el RECORDSET.

    Entremos a visual Basic y elijamos Nuevo Proyecto.

  • Elieser Nez [email protected]

    7

    Aparece la siguiente ventana

    Seleccionamos Aplicacin de Windows Form

    Asignamos un nombre al proyecto por ejemplo Control-TES

    Hacemos clic en el botn Aceptar y listo

  • Elieser Nez [email protected]

    8

    AGREGANDO UNA REFERENCIA PARA TRABAJAR CON LA LIBRERA ADODB

    Clic derecho sobre el nombre del proyecto en el explorador

    de soluciones

    HAGA CLIC EN AGREGAR REFERECIA

    APARECE LA SIGUIENTE VENTANA

    HAGA CLIC EN LA PESTAA COM

    BUSQUE LA OPCIN O DESCRIPCIN QUE SE MUESTRA EN LA IMAGEN SIGUIENTE:

  • Elieser Nez [email protected]

    9

    HAGA CLIC EN EL BOTON ACEPTAR, YA PODEMOS TRABAJAR CON LA LIBRERA ADODB.

    CREANDO MODULO PARA ESTABLECER CONEXIN

    Un mdulo es una seccin no grafica que generalmente se usa

    para segmentos de cdigo a travs de procedimientos o funciones

    especficas como en este caso; establecer la conexin con la base

    de datos.

    Manos a la obra.

    Clic derecho en el nombre del proyecto en el explorador de

    soluciones

    Haga clic en agregar, luego en modulo

    Asigne nombre al modulo o djelo con el nombre que asigna el

    sistema.

    Haga clic en el botn aceptar

  • Elieser Nez [email protected]

    10

    Codificando el modulo

    Comenzaremos declarando variables de alcance publico ya que su

    valor es necesario en todas las aplicaciones del proyecto.

    La variable CONEc sera usada para establecer la conexin con la

    base de datos por lo tanto heredera comandos y funciones para

    realizar peticiones a la base de datos dbtes.

    Declare las variables tal como se observan en la imagen debajo.

    Agregando un procedimiento para escribir el cdigo que debe

    conectar a la base de datos.

    Al procedimiento le asignamos el nombre de conectar pero igual le

    podemos otro nombre si desea hacerlo, la estructura Try se usa

    para evitar que el programa se suspenda en caso de que se

    produzca un error, de producirse un error este es almacenado en

    la funcin ex, devolviendo un mensaje donde se lee el error que

    se produjo.

  • Elieser Nez [email protected]

    11

    Debajo de try se escriben todas las instrucciones para conectar

    con la base de datos, pero debajo de Catch ex As Exception se

    escribe cdigo para que el programa devuelva un mensaje con el

    error que se produjo.

    Descripcin de cdigo

    La primera lnea activa a la variable CONEc para que pueda

    recibir la conexin heredndole todos los procedimientos,

    propiedades y funciones de la clase ADODB.Connection; la segunda

    lnea almacena la cadena de conexin, la cual lleva instrucciones

    clara del proveedor y ubicacin de la base de datos con la que

    vamos a conectar.

    La tercer lnea ejecuta la cadena de conexin, aqu se establece

    la conexin con la base de datos.

    La cuarta lnea asigne el valor de verdadero ala variable estado,

    en seal de que la conexin ha sido exitosa.

    Agregando un procedimiento para cerrar la conexin a la base de

    datos.

    Al procedimiento le llamaremos cerrar, y permitir cerrar la

    conexin a la base de datos. Generalmente se usa en las rutinas

    de salida del proyecto.

  • Elieser Nez [email protected]

    12

    Creando el procedimiento Sub Main

    Ningn procedimiento definido por el usuario es capaz de auto-

    ejecutarse, es decir que para que su cdigo sea analizado o

    ejecutado el procedimiento debe de ser invocado.

  • Elieser Nez [email protected]

    13

    Desde el procedimiento sub main(el cual ms adelante ser

    configurado para que sea la primer aplicacin que corra al

    ejecutar el proyecto) llamamos al procedimiento conectar para que

    realice la conexin; si la conexin se realiza con xito, en esta

    caso se ejecutara el formulario de modalidades.

    CONFIGURANDO PARA QUE EL PROYECTO INICIE CON EL PROCEDIMIENTO SUB

    MAIN.

    Clic derecho en el nombre del proyecto y luego hacemos clic

    en propiedades.

    Aparece la siguiente ventana

    En el combo tipo de aplicacin seleccionamos aplicacin de

    consola

  • Elieser Nez [email protected]

    14

    La descripcin formulario de inicio se cambiara

    automticamente a objeto de inicio.

    Seleccione sub main y listo, debe quedar como la siguiente

    imagen.

    NOTA. Si ejecutamos el proyecto, no establecer la conexin, ya

    que la base de datos no se encuentra en la ruta especificada,

    hasta aqu an no hemos guardado el proyecto, eso significa que

    an no tiene estructura. Es justo lo que vamos hacer;

    HAGA CLIC EN GUARDAR TODO

    APARECE LA SIGUIENTE VENTANA

    CAMBIE EL NOMBRE DEL PROYECTO SI LO DESEA

    LUEGO HAGA CLIC EN EL BOTON GUARDAR, LISTO

    Puede ir a la direccin que muestra la imagen debajo para

    comprobar que se cre la estructura.

  • Elieser Nez [email protected]

    15

    Nota. Debe de copiar la base de datos (dbtes) en la siguiente

    direccin que muestra la imagen. Esto porque cuando se establece

    la conexin, es a este lugar que hace referencia para que busque

    la base de datos.

    Nota. Ejecute el proyecto, si ha seguido los pasos correctamente

    y sus dedos no han fallado, debe de aparecer el formulario de

    modalidad, lgicamente vaco, pero si aparece significa que la

    conexin con la base de datos se ha realizado con xito.

    Si usted va por el mundo buscando la excelencia, encontrar

    la excelencia; si va por el mundo buscando problemas,

    encontrar problemas. O, como dice el proverbio rabe: Lo

    que pueda significar un trozo de pan depender de que

    tengas hambre o no

    John Grinder

  • Elieser Nez [email protected]

    16

    APLICACIN N 1 (FRM-MODALIDAD)

    Elaborar una aplicacin que permita agregar, eliminar y

    editar reas o modalidades tomando en cuenta los siguientes

    aspectos:

    o Para poder agregar un registro es obligatorio

    introducir el cdigo y nombre del rea, sino debe de

    generar un mensaje de error.

    o El cdigo del botn OK debe de identificar si se trata

    de un registro nuevo o simplemente es una

    actualizacin.

    El diseo

    de la

    interfaz

    debe ser

    similar a

    la figura

    mostrada en

    la IMagen

    El

    botn

    Eliminar,

    posibilita

    la

    eliminacin

    del registro seleccionado en el datagridview1.

    Agregue los siguientes controles al formulario:

    3 grupos de opciones(optiongroup)

    2 etiquetas

    2 cajas de texto

    1 datagridview

  • Elieser Nez [email protected]

    17

    En seguida proceda a establecer las propiedades requeridas:

    Form1

    Nombre FrmModalidad

    Text Registro de Modalidades

    OptionGroup1

    Text

    OptionGroup2

    Text

    OptionGroup3

    Text

    Label1

    Nombre Lblcodigo

    Text Codigo

    Label2

    Nombre Lblnombre

    Text Modalidad

    Text1

    Nombre Txtcodigo

    Text2

    Nombre TxtMododalidad

    Button1

    Nombre BtnOk

    Text Ok

    Button2

    Nombre BtnAyuda

  • Elieser Nez [email protected]

    18

    Text Ayuda

    Button3

    Nombre BtnEliminar

    Text Eliminar

    Button4

    Nombre BtnSalir

    Text Salir

    El cdigo asociado a la aplicacin se muestra a

    continuacin:

    Iniciamos declarando variables, la variable table es del

    tipo Recordset (conjunto de registros), podramos decir que

    se trata de una tabla temporal que almacenara datos

  • Elieser Nez [email protected]

    19

    provenientes de una consulta, pero sus valores solo se

    mantendrn en tiempo de ejecucin.

    El procedimiento Cargar (), tiene como objetivo mostrar

    todas las modalidades existentes en la cuadricula

    (datagridview), este procedimiento se invoca desde el evento

    load (se produce inmediatamente despus de ejecutar el

    formulario).

    El siguiente cdigo pertenece al botn BtnOK escrito en el evento

    click.

  • Elieser Nez [email protected]

    20

    Como puede observar esta codificacin tiene muchos comentarios

    que describen la funcin de cada lnea. Desde este botn podemos

    agregar una nueva modalidad como modificar una modalidad

    existente. Esto significa que si ingresa un cdigo de modalidad

    existente y hace cambios en el nombre de la modalidad y luego

    pulsa en el botn Ok, se producir una actualizacin.

    Una vez pulsado el botn BtnOk, se realiza una consulta para

    comprobar si el cdigo de modalidad ya existe o no. Si existe se

    dara una operacin de actualizacin de lo contrario los datos

    sern insertados como nuevos.

    El siguiente cdigo que presentamos es para eliminar modalidades.

    Para eliminar una modalidad debe de seleccionarla en el

    datagridview. Y luego hacer clic en el botn eliminar.

    La primer sentencia de este cdigo es para conocer el nmero de

    fila seleccionada, la segunda es para conocer el cdigo de rea

    de la fila seleccionada, luego la condicin para confirmar si

    desea eliminar, si contesta que s; realiza una consulta de

    eliminacin usando como criterio el cdigo de rea, ejecuta la

    consulta y por ultima vuelve a llamar al mtodo cargar.

  • Elieser Nez [email protected]

    21

    El siguiente cdigo es para cerrar la aplicacin o formulario,

    me.dispose se utiliza para destruir los identificadores que se

    usan en la aplicacin al momento de cerrarla, me.close cierra el

    formulario.

    El cdigo escrito en TXTMODALIDAD_KeyPress tiene la funcin de

    validar la tecla enter. Como ya es conocido la tecla que se usa

    para salir o saltar de un control a otro es Tab, para que la

    tecla Enter realiza esta funcin es necesario escribir la

    instruccin que presentamos en la imagen debajo.

    Ejecutemos la aplicacin y hagamos las pruebas de escritorio

    necesarias para determinar el buen funcionamiento.

    APLICACIN NO. 2 (FRMCURSOS)

    Elaborar una aplicacin que permita agregar, eliminar y editar

    cursos tomando en cuenta los siguientes aspectos:

    o En un cuadro combinado debe de seleccionar el rea, si

    hay cursos ya creados para el rea o modalidad

    seleccionada debe de visualizarlos en el datagridview.

    o Para poder agregar un registro es obligatorio

    introducir todos los datos, sino debe de generar un

    mensaje de error.

    o El cdigo del botn Agregar debe de identificar si se

    trata de un registro nuevo o simplemente es una

    actualizacin.

  • Elieser Nez [email protected]

    22

    o Para eliminar debe de seleccionar el registro dentro de

    datagridview y luego hacer clic en el botn eliminar y

    listo.

    El diseo

    planteado para

    esta aplicacin es

    el siguiente.

    Agregue los siguientes controles al formulario:

    4 grupos de opciones(optiongroup)

    5 etiquetas(label)

    3 cajas de texto(TextBox)

    2 cuadros combinados (combobox)

    Una cuadricula(datagridview)

    En seguida proceda a establecer las propiedades requeridas:

    Form1

    Nombre FrmCursos

    Texto Registro de Cursos

    Optiongroup1

    Texto Agregar / Actualizar

    cursos

  • Elieser Nez [email protected]

    23

    Optiongroup2

    Texto

    Optiongroup3

    Texto

    Optiongroup4

    Texto

    Label1

    Nombre LblTitulo

    text Registro de Cursos

    Label2

    Nombre Lblmodalidad

    text Codigo de Area:

    Label3

    Nombre Lblcodcurso

    Text Codigo Curso:

    Label4

    Nombre Lblncurso

    Text No-Curso:

    Label5

    Nombre Lbldescripcion

    text Cantidad secciones

    Text1

    Nombre TxtcurCod

    Text

  • Elieser Nez [email protected]

    24

    Text2

    Nombre Txtcurno

    Text

    Text3

    Nombre Txtcansec

    Text

    Combobox1

    Nombre cbomodalidad

    Combobox2

    Nombre Cbodescrip

    Items PRIMERO

    SEGUNDO

    TERCERO

    CUARTO

    QUINTO

    SEXTO

    SEPTIMO

    OCTAVO

    NOVENO

    DECIMO

    ONCEAVO

    DOCEAVO

    DataGridView1

    Nombre Datagridview1

    Agregar 4 columnas

  • Elieser Nez [email protected]

    25

    Para modificar ancho de columnas haga lo siguiente

    Aparece la siguiente imagen

  • Elieser Nez [email protected]

    26

    Seleccione la propiedad y cambie las siguientes propiedades

    Column1

    Nombre Column1

    HeaderText Codigo

    witdh 100

    Column2

    Nombre Column2

    HeaderText Curso No

    witdh 90

    Column3

    Nombre Column3

    HeaderText Descripcion

    witdh 100

    Column4

    Nombre Column4

    HeaderText Cant_Secc

    witdh 90

    Button1

    Nombre BtnOk

    Text Ok

    Button2

    Nombre Btndeshacer

    Text Deshacer

    Button3

    Nombre BtnEliminar

    Text Eliminar

  • Elieser Nez [email protected]

    27

    Button4

    Nombre Btnayuda

    Text Ayuda

    Button5

    Nombre BtnSalir

    Text Salir

    El cdigo asociado a la aplicacin se muestra a

    continuacin:

    Como puede observar este cdigo es muy similar al que usamos en la

    aplicacin de modalidad, tiene muchos comentarios para una mejor

    comprensin del cdigo. Cuando ejecutemos este formulario se lee el

    procedimiento cargar con el objetivo de depositar los nombres de las

    modalidades en el cbomodalidad. Es la funcin que cumple el

    procedimiento cargar.

    El viaje es mejor que la llegada

    Continuamos codificando

  • Elieser Nez [email protected]

    28

    Este es otro procedimiento definido por el usuario, su funcin es

    depositar todos los cursos registrados en el datagridview1.

    Este procedimiento es llamado desde el evento load, para llamarlo tan

    solo basta con digitar el nombre.

    Listo para ejecutar la aplicacin haga las pruebas de escritorio

    necesarias para comprobar si el funcionamiento del programa va de

    acuerdo a las necesidades planteada. Guarde el formulario con el

    nombre de FrmCursos.

    Seguro que vas bien, continuemos

  • Elieser Nez [email protected]

    29

    Este cdigo visualiza los cursos segn la modalidad seleccionada, como

    podes ver, los comentarios sobre el cdigo brindan una mejor

    comprensin de la funcin del mismo.

    Este cdigo tiene como objetivo mostrar la descripcin de acuerdo al

    nmero de curso que se digite.

    Complete las condiciones hasta el grado nmero 12.

  • Elieser Nez [email protected]

    30

    El siguiente cdigo tiene como proposito agregar o actualizar informacin sobre los cursos,

    La explicacion de este codigo es visible en los comentarios asignados

    al mismo.

    El siguiente cdigo sirve para eliminar cursos, para hacerlo debe de

    seleccionar el curso que desea eliminar en el datagridview1 y luego

    hacer clic en el botn eliminar, el cdigo lo presentamos a

    continuacin:

    El nombre de este control es

    Cbomodalidad

  • Elieser Nez [email protected]

    31

    La primer linea declara la variable nn, luego en la segunda se

    almacena en la variable nn el numero de la fila seleccionada, la

    tercera asigna el valor de la celda de la primer columna y fila

    seleccionada.

    La siguiente hace aparecer un cuadro de mensaje con la interrogante

    Eliminar Si / NO, si contesta que si, se ejecutar la consulta de eliminacion y se ejecuta de nuevo el procedimiento cargarcursos para

    que ya no se muestre el registro eliminado.

    El siguiente codigo es para el boton salir, jeje, en realidad no

    deberia de ponerlo, a estas altura seguro que lo tienes muy bien

    memorizado.

    Para finalizar mostramos el codigo del boton deshacer, cuya funcion es limpiar los datos que se visualizan en los

    controles de entrada de datos. Cuadros de textos y combos.

  • Elieser Nez [email protected]

    32

    APLICACIN N 3 (FRMSECCIONES)

    Elaborar una aplicacin que permita agregar, eliminar y

    editar secciones tomando en cuenta los siguientes aspectos:

    o Para poder crear una seccin es obligatorio elegir

    modalidad, cdigo curso.

    o El cdigo del botn Crear permite agregar una nueva

    seccin al curso seleccionado

    o Para edita una seccin se realizan los cambios en el

    datagridview y se hace clic en el botn actualizar

    o Cuando seleccionemos una modalidad debe desplegar los

    cdigos de cursos de la modalidad seleccionada.

    o Cuando seleccionemos un cdigo de curso debe

    desplegarse los datos del curso como el numero de

    curso, descripcin y cantidad de secciones, estos

    controles deben de estar en solo lectura.

    Agregue los siguientes controles al formulario:

  • Elieser Nez [email protected]

    33

    5 grupos de opciones(optiongroup)

    9 etiquetas(label)

    2 cajas de texto(TextBox)

    4 cuadros combinados (combobox)

    Tres controles numricos (numericUpdow)

    Una cuadricula(datagridview)

    4 botones

    En seguida proceda a establecer las propiedades requeridas:

    Form1

    Nombre FrmSecciones

    Texto Registro de Secciones

    Optiongroup1

    Texto

    Optiongroup2

    Texto

    Optiongroup3

    Texto

    Optiongroup4

    Texto

    Optiongroup5

    Texto

    Label1

    Texto Modalidad

    Label2

    Texto Cdigo de curso

    Label3

    Texto Numero de Curso

    Label4

  • Elieser Nez [email protected]

    34

    Texto Descripcion

    Label5

    Texto Cantidad Secciones

    Label6

    Texto Ao

    Label7

    Texto Seccion

    Label8

    Texto Jornada

    Label9

    Texto Limite Alumnos

    TextBox1

    Nombre Txtcurno2

    readonly true

    enabled False

    Combobox1

    Nombre cbomodalidad

    Combobox2

    Nombre Cbocurcod2

    Combobox3

    Nombre Cbodesc

    Enabled False

    NumericUpDown1

    Nombre NUDano

    Maximun 2100

    Minimun 2000

  • Elieser Nez [email protected]

    35

    NumericUpDown2

    Nombre NUDSEC

    Maximun 100

    Minimun 0

    NumericUpDown3

    Nombre NUDLIMITE

    Maximun 100

    Minimun 0

    Datagridview1

    Nombre Datagridview1

    Debe de agregar tres columnas (Seccion, limite-alumnos, jornada)

    el ancho de cada columna debe de ser de 130.

    Si no se acuerda verifique en la paginas anteriores para recordar el

    procedimiento.

    El cdigo asociado al evento es el siguiente.

    El procedimiento cargar realiza una cnsulta de seleccin en la

    tabla de modalidades, luego deposita el resultado de la consulta en el

    combo Cbomodalidad.

  • Elieser Nez [email protected]

    36

    Este procedimiento busca todos los cdigos de cursos en la tabla de

    cursos segn la modalidad seleccionada, primero busca el cdigo de

    rea usando como parmetro de bsqueda el nombre del rea.

    Este cdigo se aplica en el control CBOmodalidad.

    El cdigo que presentamos a continuacin, realiza una consulta en la

    tabla de cursos, para conocer los detalles del curso (no, descripcin,

    cantidad de secciones). El resultado de esta consulta se deposita en

    los controles (txtcurno2, cbodesc2, txtnsec2).

    El siguiente codigo muestra las secciones que pertenecen al curso seleccionada, este codigo este escrito en el contro

    Cbocurcod2

  • Elieser Nez [email protected]

    37

    El siguiente cdigo agrega secciones a la tabla de secciones.

    El cdigo que presentamos a continuacin, permite actualizar los

    cambios hechos en x fila del datagridview en la tabla de secciones.

  • Elieser Nez [email protected]

    38

    El siguiente cdigo sirve para eliminar una seccin, para ello debe de

    seleccionarla en el datagridview y luego hacer clic en el botn

    eliminar.

    Bueno aqu tenemos el cdigo necesario para registrar secciones, si

    puede codifique algunos controles para validad la tecla enter, esto se

    hace en el evento Keypress, tambin puede aplicar otros detalles, esto

    queda a su criterio.

  • Elieser Nez [email protected]

    39

    APLICACIN N 4 (FRMALUMNOS)

    Elaborar una aplicacin que permita agregar, eliminar,

    editar e imprimir listado de alumnos tomando en cuenta los

    siguientes aspectos:

    o Para poder agregar un alumno es obligatorio elegir

    modalidad, cdigo curso y seccin. Luego debe de llenar

    los campos rne, nombre, apellido, sexo, fecha.

    o El cdigo del botn Add permite agregar los datos del

    alumno a la tabla de alumnos y al datagridview.

    o Para editar los datos del alumno, debe de hacer los

    cambios en la fila del datagridview y luego hacer clic

    en el botn actualizar.

    o Cuando seleccionemos una modalidad debe desplegar los

    cdigos de cursos de la modalidad seleccionada.

    o Cuando seleccionemos un cdigo de curso debe

    desplegarse los datos del curso como el nmero de

    curso, descripcin estos controles deben de estar en

    solo lectura.

    o Cuando seleccionemos el nmero de seccin debe de

    visualizar el lmite de alumnos, la jornada y desplegar

    la cantidad de alumnos registrados en dicha seccin;

    esta lista debe de visualizarse en el datagridview.

    o Para eliminar un alumno de la base de datos, solo debe

    de seleccionar la fila donde se encuentran los datos

    del alumno que quiere eliminar y luego debe de hacer

    clic en el botn Eliminar.

    o Desde aplicacin obtendremos listado de alumnos

    visibles en pantalla y tambin de forma impresa, a

    travs de los botones Vista Previa e Imprimir.

  • Elieser Nez [email protected]

    40

    Agregue los siguientes controles al formulario:

    4 grupos de opciones(optiongroup)

    8 etiquetas(label)

    1 cajas de texto(TextBox)

    4 cuadros combinados (combobox)

    Tres controles numricos (numericUpdow)

    Una cuadricula(datagridview)

    6 botones

    1 statusstip

    En seguida proceda a establecer las propiedades requeridas:

    Form1

    Nombre FrmAlumnos

    Texto Registro de Alumnos

    Optiongroup1

    Texto

    Optiongroup2

  • Elieser Nez [email protected]

    41

    Texto

    Optiongroup3

    Texto

    Optiongroup4

    Texto

    Label1

    Texto Modalidad

    Label2

    Texto Cdigo de curso

    Label3

    Texto Numero de Curso

    Label4

    Texto Descripcin

    Label5

    Texto Seccion

    Label6

    Texto Ao

    Label7

    Texto Limite alumnos

    Label8

    Texto Jornada

    TextBox1

    Nombre Txtcurno2

    readonly true

    enabled False

  • Elieser Nez [email protected]

    42

    Combobox1

    Nombre Cbomodalidad2

    Combobox2

    Nombre Cbocurcod2

    Combobox3

    Nombre Cbodesc2

    Enabled False

    Combobox4

    Nombre Cbojor

    Enabled False

    NumericUpDown1

    Nombre NUDano

    Maximun 2100

    Minimun 2000

    NumericUpDown2

    Nombre NUDSEC

    Maximun 100

    Minimun 0

    NumericUpDown3

    Nombre NUDLIMITE

    Enabled False

    Maskedtextbox1

    Nombre Mtxtrne

    Mask 9999999999999

    Maskedtextbox2

    Nombre Mtxtnombre

    Mask >LLLLLLLLLLLLLLLLLLLLLLLLL

  • Elieser Nez [email protected]

    43

    Maskedtextbox3

    Nombre Mtxtapellido

    Mask >LLLLLLLLLLLLLLLLLLLLLLLLL

    Maskedtextbox4

    Nombre Mtxtsexo

    Mask >L

    Maskedtextbox5

    Nombre Mtxtfecha

    Mask 00/00/0000

    Maskedtextbox6

    Nombre Mtxtalu_tel

    Mask 0000-0000

    Maskedtextbox7

    Nombre Mtxtalu_email

    Mask

    Datagridview1

    Nombre Datagridview1

    El cdigo asociado a la aplicacin lo iremos describiendo en

    partes, este primer cdigo que aparece en la imagen debajo, tiene

    comentarios en cada lnea de cdigo para que tenga una mejor

    comprensin, el procedimiento cargar (definido por el usuario) se

    encarga de depositar los nombres de las modalidades en el combo

    de modalidad, ningn procedimiento creado por el usuario puede

    auto ejecutarse por eso como puedes observar se le llama desde el

    procedimiento load, para que al inicializarse el formulario ya se

    visualicen las modalidades dentro del combo (cbomodalidad2), a

    continuacin presentamos el siguiente cdigo:

  • Elieser Nez [email protected]

    44

    El siguiente cdigo se produce en el combo (cbomodalidad2) en el

    evento SelectedIndexChanged (que se produce cuando seleccionamos un elemento del control

    mencionado). Lo que hace este cdigo es que busca la modalidad seleccionada en la tabla de modalidades y luego compara el cdigo de la modalidad de la tabla de modalidades con el cdigo de modalidad de la tabla de cursos, para obtener los cdigos de cursos, los cuales son depositados en el combo (cbocurcod2). Aqu el cdigo:

    El cdigo que presentamos a continuacin se produce en el combo

    (cbocurcod2), tiene como objetivo visualizar el nmero de curso y la

    descripcin del mismo de acuerdo al cdigo de curso seleccionado, el

    cdigo tiene los comentarios para una mejor comprensin.

  • Elieser Nez [email protected]

    45

    El prximo cdigo se escribe en el control numrico (NUDSEC) en el

    evento valuechanged(se produce con cada cambio de valor en el

    control), tiene como objetivo mostrar el lmite de alumnos y la

    jornada de la seccin seleccionada, as como visualizar todos los

    alumnos que estn matriculados en dicha seccin. Para que entienda

    mejor el cdigo me tome el tiempo de escribir comentarios en casi

    todas las lneas, as que espero le sea de mucha utilidad.

  • Elieser Nez [email protected]

    46

    El procedimiento limpiar que presentamos a continuacin, tiene como

    objetivo quitar los datos especficos del alumno de los controles que

    se encuentra en el groupbox2.

    El siguiente cdigo se produce en el botn Add, tiene como objetivo

    agregar registros de alumnos a la tabla de alumnos y al

    datagridview.la explicacin al cdigo se refleja en los comentarios

    sobre lneas.

  • Elieser Nez [email protected]

    47

    Este cdigo permite eliminar registros de alumnos, para lograrlo

    bastara con seleccionar la fila en el datagridview y luego haciendo

    clic en el botn Eliminar. Este cdigo no permite que se eliminen

    registros de a;os anteriores al actual. A parte de eliminar el

    registro de la tabla de alumnos tambin lo elimina del datagridview.

    El cdigo que veremos a continuacin permite actualizar o registrar

    los cambios que se realizan en una fila especifica del datagridview,

    por ejemplo: si el nombre de un alumno est mal escrito, ubquese en

    la fila y columna donde se encuentra el nombre realice el cambio y

    luego haga clic en el botn actualizar y listo. El cdigo est muy

    bien descrito.

  • Elieser Nez [email protected]

    48

    Nos queda por programar el botn Vista Previa y el botn Imprimir, por

    ahora lo dejamos hasta aqu, ya que primero tenemos que disear el

    informe. Crear un conjunto de registros (dataset) y otras cosas que

    veremos a continuacin. Si trabajas con visual estudio 2008, el

    cristal report viene integrado, si trabajas con versiones 2010 en

    adelante tendrs que instalar Crystal Report. Si no le tienes aqu te

    dejo este enlace para que lo descargues.

    www.vidaenlinea2010.blogspot.com

    Haz que mi esfuerzo y el tuyo valgan la pena. Siempre adelante

    Continuemos, despus de descargar Sap Crystal Report 2010 instlelo,

    no ocupa ciencia para hacerlo, siga la lgica para lograrlo. Una vez

    instalado, abramos el proyecto que estamos trabajando y realicemos la

    siguiente configuracin para poder utilizar el Crystal Report en

    versiones mayores a visual estudio 2008.

    Si tienes visual estudio 2010

    como puedes ver en la imagen no

    aparecen ningn elemento

    relacionado con cristal report,

    si lees el mensaje que aparece

    en el recuadro marcado en la

    imagen, nos describe porque no

    aparecen los controles y nos

    indica cmo hacer para

    mostrarlos.

    Para lograrlo

    haz clic derecho sobre el nombre del proyecto.

    Luego en la opcin propiedades.

    En la ventana propiedades haz clic en la ficha

    Compilar.

    Haz clic en las opciones de compilacin avanzadas

  • Elieser Nez [email protected]

    49

    Luego cambiamos la versin de NET Framework y seleccionamos NET Framework 4

    Por ultimo hacemos clic en aceptar y listo ya disponemos de los controles CRYSTAL REPORT en nuestro proyecto.

    Observa los controles en la siguiente imagen

    Hoy si disponemos de esta herramienta as que ya podemos empezar a

    disear el reporte. Para ello es necesario seguir un proceso el cual

    te muestro paso a paso a continuacin:

    Creando el DataSet (conjunto de datos) Un dataset es un conjunto de datos provenientes de consultas,

    controles y tablas. Lo usaremos para crear los reportes en Crystal

    Report. As que manos a la obra.

    Como crear un Data Set

    En el explorador de soluciones, haz clic derecho sobre el nombre del proyecto.

    Luego seleccionamos la opcin Agregar

    Luego clic en la opcin nuevo elemento

    Aparecer la siguiente ventana

  • Elieser Nez [email protected]

    50

    En esta ventana seleccionaremos Conjunto de datos, tal como se observa en la imagen. Cambiamos el nombre al

    dataset, le llamaremos DsAlumno como se muestra en la imagen.

    Luego hacemos clic en Agregar y listo.

    Esta es la ventana que nos aparecer despus de hacer clic en agregar,

    un conjunto de datos vaco, as que el siguiente paso es crear

    DataTable, para almacenar los datos que queremos visualizar en el

    informe.

  • Elieser Nez [email protected]

    51

    Crear un DataTable (tabla de datos) en el DataSet

    Ubcate en el Dataset

    Haz clic derecho y selecciona la opcin agregar

    Luego haz clic en tabla de datos.

    Aparecer la ventana que permite definir la estructura de la datatable que estamos creando.

    La estructura alumnos que podemos observar es la que crearemos. As debe de quedar al final, as que comencemos.

    Comenzaremos asignndole nombre al datatable, para ello solo haz doble clic sobre la parte superior de la ventana

    datatable y asgnale el nombre alumnos

    Para agregar columnas al DataTable: Alumnos. Haz lo siguiente

    Haz clic derecho sobre el Datatable: Alumnos

    Luego selecciona la opcin agregar

    Despus haz clic en columna

    Digita el nombre de la columna en esta caso: Nombre y listo ya tenemos columna agregada. Asi debe de agregar las dems

    columnas, tal como se observa en la estructura siguiente.

  • Elieser Nez [email protected]

    52

    El campo nombre, cdigo y telfono son propios del instituto o

    colegio, modalidad, curso y seccin para identificar donde est

    matriculado el alumno, los dems datos son del alumno(a).

    Bien hasta aqu ya tenemos la tabla de datos creada, cabe mencionar

    que esta tabla solo funciona de forma temporal, es decir que su

    contenido se destruye al cerrar la aplicacin que contiene los datos.

    Seguro vamos avanzando muy bien, continuemos pues, el siguiente paso

    es agregar un nuevo elemento (Crystal Report), crearemos el diseo del

    reporte.

    Creando el diseo del Informe (Crystal Report)

    En el explorador de soluciones, haz clic derecho sobre el nombre del proyecto.

    Luego seleccionamos la opcin Agregar

    Luego clic en la opcin nuevo elemento

    Aparecer la siguiente ventana

    En el panel de la izquierda elige Reporting

  • Elieser Nez [email protected]

    53

    Luego selecciona Crystal Report

    Asgnale nombre en este caso digita CRalumno

    Haz clic en Agregar

    Aparecer la ventana Galera de Crystal Report

    Selecciona la opcin como informe en blanco

    Haz clic en el botn aceptar

    Ahora si nos debe de aparecer la ventana diseo de informe.

    Ya falta poco, el siguiente paso es disear el informe, es decir

    prepararlo tal cual deseamos que se imprima en pantalla o impresora.

    As que manos a la obra. Ya vers cmo cada uno de los elementos que

    hemos ido creando se conjuntan para lograr el objetivo final; que es

    crear un reporte de alumnos por seccin.

  • Elieser Nez [email protected]

    54

    Una vez dentro del diseador de informe, lo primero que haremos es

    agregar campos de la tabla de datos en este caso la que creamos en el

    dataset (dsalumnos) y cuyo nombre es alumnos.

    Haz lo siguiente:

    En el explorador de campos haz clic derecho sobre Campos de base de datos.

    Luego clic en asistente de base de datos

    aparece la siguiente ventana

    nos vamos donde dice datos del proyecto y configuramos tal como te muestro en la siguiente imagen

  • Elieser Nez [email protected]

    55

    lo que hacemos aqu es seleccionar la tabla de alumnos para disponer de sus campos o columnas y as poder agregarlas al

    informe que estamos creando.

    Haz clic en el botn Aceptar, para agregar la tabla.

    Si quieres comprobar si los campos se agregaron haz clic campos de

    base de datos y veras que ya dispones de todos los campos de la

    tabla de datos alumnos. Tal como te muestro en esta imagen.

    Ahora vamos arrastrar los campos hacia el diseador de informe para

    ir dndole forma al reporte.

    El proceso es sencillo, haces clic sostenido sobre la columna o

    campo y lo llevas hasta el informe.

    Cabe mencionar que los datos que van en forma de lista se ubican en

    la columna detalle. Generalmente estos datos provienen de controles

    (listview, datagridview, listbox entre otros) y de consultas sql.

  • Elieser Nez [email protected]

    56

    As que los campos que ubicaremos en la columna detalle son

    (rne, nombrea, apellido, sexo). Agrgalos. deben de quedar

    como lo veras en la siguiente imagen.

    En la seccin encabezado de informe. Colocaremos la siguiente

    informacin. Aqu debe de ir el nombre del colegio, el cdigo

    y el nmero de telfono, adems agregaremos el ttulo Lista de alumnos por seccin. Este ttulo lo agregaremos desde el panel Cuadro de herramientas con la herramienta o control

    Objeto de texto de Crystal Report.

    Cuando estamos digitando texto en el diseador de informe debe de

    aparecer esta barra de herramienta.

    La cual te permite modificar el tipo y tamao de la fuente.

    El encabezado del informe debe de quedarte ms o menos as. Trata

    de que sea igual o mejor.

  • Elieser Nez [email protected]

    57

    Falta agregar algunos campo como la modalidad, curso y seccion y el a;o, esto lo haremos en la seccion

    encabezado de pagina.

    As que procedamos a realizarlo. Debe de quedarte parecido al que

    te muestro en la siguiente imagen.

    Fijate que los nuevos elementos que agregamos al informe aparecen

    duplicados, le aplique negrita a las etiquetas de referencias las

    cuales agregamos con el control objeto de texto, los que no tienen

    negrita son los campos que agregamos de la tabla alumnos.

    Tambin utilice el objeto de lnea, para dibujar un par de lneas

    solo para mejorar la esttica o presentacin del informe.

    En la seccin Pie de pgina haremos que aparezca el nmero de

    pgina: hazlo de la siguiente manera:

    En el explorador de campos, selecciona campos especiales

    Luego eleg el campo Numero de pgina y arrstralo hasta la seccin pie de pgina.

    A la par del campo nmero de pgina, pon un objeto de texto y escribe No. Pag.

    As quedara el reporte despus de agregar el pie de pgina.

  • Elieser Nez [email protected]

    58

    En la seccin pie de informe, puedes insertar un campo especial para

    mostrar la fecha en la que se est imprimiendo el informe.

    Tambin puedes insertar un campo especial en la seccin detalles antes

    del campo rne, para que enumere los alumnos que estas visualizando en

    el informe.es opcional al menos intntalo.

    Ya tenemos el informe listo. Guardemos todos los cambios en el

    proyecto, es ms deberas de hacerlo cada 10 minutos, y recuerda ir

    haciendo una copia de seguridad de tu proyecto. Por cualquier

    problemita, da la casualidad que siempre aparecen.

    Ya falta muy poco, todo lo que haremos ahora ser desde el formulario

    Agreguemos un nuevo formulario: asignmosle el nombre de FrmReporte,

    la funcin que cumplir este formulario ser de visualizar el reporte

    en pantalla, a este formulario le agregaremos un control de Crystal

    Report que permite dicha funcin.

    Para lograrlo insertar este control en el formulario que acabamos de

    crear (FrmReporte) haz lo siguiente:

    En el cuadro de herramientas

    En la seccion Creacion de informes

    Seleccione el control CrystalReportViewer y arrstralo al

    formulario.

    El formulario debe de quedar tal como se muestra en la siguiente

    imagen.

  • Elieser Nez [email protected]

    59

    Listo guardemos los cambios, ahora iremos al formulario de Alumnos

    (FrmAlumno).

    En el formulario de alumnos que ya tenemos codificado en un 90%, nos

    hace falta codificar el botn Vista Previa y el Botn Imprimir. No lo

    habamos hecho antes, porque necesitbamos crear el reporte, todo el

    proceso que acabamos de hacer. Ahora si comenzaremos con el botn

    Vista Previa.

  • Elieser Nez [email protected]

    60

    Este es el cdigo que lleva el botn Vista Previa, tiene los

    comentarios necesarios para su comprensin. Pero de forma general

    podra decir que define una estructura idntica a la tabla de datos

    (Alumnos) que fue creada en el dataset (dsalumno) y que utilizamos en

    el reporte para asociar los datos provenientes del formulario de

    alumnos (frmalumnos). La tabla dt recibe esos datos y los enva al

    reporte, en el reporte los recibe la tabla (alumnos) y de esa forma es

    que es posible visualizar los datos y mandarlos al reporte.

    Ahora codificaremos el botn Imprimir

  • Elieser Nez [email protected]

    61

    Como puedes ver es casi una replica del boton Vista Previa, lo unico

    cambia es la linea marcada en rojo, que manda el reporte a una ventana

    de dialogo, donde podemos seleccionar la impresora y el nmero de

    copias que deseamos imprimir.

    Bueno es hora de probar, hazlo

    Seguro te apareci este mensaje de error cuando hiciste clic en Vista

    Previa o Imprimir. En caso de que tengas Visual Estudio 2010, seguro

    te aparece este error.

    Tranquilo(a) tiene solucin, para solucionarlo haremos lo siguiente:

    En su proyecto abra el archivo app.config aparecer la siguiente

    estructura de cdigo:

  • Elieser Nez [email protected]

    62

    Pues es aqu donde corregiremos el problema, agregando el siguiente

    cdigo.

    El cdigo que debemos agregar es el que aparece dentro del rectngulo

    de color rojo.

    Guarde los cambios y ejecute de nuevo, seleccione una seccin que

    tenga alumnos registrados y haga clic en el botn vista previa para

    poder visualizar el informe.

  • Elieser Nez [email protected]

    63