Post on 17-Oct-2015
Elieser Nez Eliesns08@hotmail.com
1
AAACCCCCCEEESSSOOO AAA DDDAAATTTOOOSSS DDDEEESSSDDDEEE
VVVIIISSSUUUAAALLL BBBAAASSSIIICCC...NNNEEETTT CCCOOONNN
AAADDDOOODDDBBB
ELABORADO POR:
ELIESER NEZ
Eliesns08@hotmail.com
Elieser Nez Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
25
Para modificar ancho de columnas haga lo siguiente
Aparece la siguiente imagen
Elieser Nez Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
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 Eliesns08@hotmail.com
63