Está en la página 1de 64

AAACCCCCCEEESSSOOO AAA DDDAAATTTOOOSSS DDDEEESSSDDDEEE

VVVIIISSSUUUAAALLL BBBAAASSSIIICCC NNNEEETTT CCCOOONNN AAADDDOOODDDBBB
VVVIIISSSUUUAAALLL BBBAAASSSIIICCC
NNNEEETTT
CCCOOONNN
AAADDDOOODDDBBB

ELABORADO POR:

ELIESER NÚÑEZ

Eliesns08@hotmail.com

INTRODUCCIÓN
INTRODUCCIÓN

A través de esta guía que va paso a paso y que para cumplir

los objetivos se desarrolla un proyecto de control de trabajo

educativo social, para una institución 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 agradaría mucho

que lo hiciera, con la única condición de que siempre se respete

el derecho del autor.

Elieser Núñez

Microsoft Visual Basic.Net

GUÍA 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 librería ADODB Manipular registros de una tabla
Conectar con la base de datos usando la librería ADODB
Manipular registros de una tabla programando con ADODB
Crear formularios con datos enlazados.
Realizar consultas utilizando sentencias SQL.
Crear Reportes usando Crystal Report

Creación de la base de datos con Microsoft Access 2007-2010

Para desarrollar nuestras prácticas 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 añadiremos 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 comprensión

observemos el DER del proyecto.

DER PROYECTO CONTROL-TES 90%

Casos Partiendo de que un instituto tiene varias modalidades (áreas) podemos decir:  Un área
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
Tipo
Ancho
Descripción
Campo
Mod_cod
T
03
Código de modalidad
Mod_nom
T
50
Nombre de modalidad

TABLA CURSOS

Nombre del

Tipo

Ancho

Descripción

Campo

     

Cur_cod

T

03

Código de Curso

Cur_no

N

Entero

Numero de Curso

Cur_desc

T

12

Descripción

Cur_nsec

N

Entero

Cantidad secciones

Mod_cod

T

03

Código de modalidad

TABLA SECCIONES

Nombre del Tipo Ancho Descripción Campo Sec_id AutoNumera cion Sec_no N Entero Numero de Sección
Nombre del
Tipo
Ancho
Descripción
Campo
Sec_id
AutoNumera
cion
Sec_no
N
Entero
Numero de Sección
sec_jorn
T
20
Jornada
Sec_limite
N
Entero
Limite alumnos
Sec_year
N
Entero
Año sección
Cur_cod
T
03
Código 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 demás no se pueden repetir, al momento de crear la tabla debe asegurarse que la llave de asignación 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 foráneos y su función es conectar la información de una tabla con otra.

Desarrollaremos este proyecto por partes, como hemos visto el DER está compuesto por 6 entidades (tablas), iniciaremos diseñando 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 aplicación de Access asignemos el nombre a la base de datos “dbtes”, diseñamos la tabla de áreas, cursos, secciones y alumnos conforme al diseño propuesto en esta guía. 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.

La relación debe de quedar según la siguiente imagen.

Creando aplicaciones en Visual Basic >NET 2008-2010  
Creando aplicaciones en Visual Basic >NET 2008-2010

En visual Basic existen diferentes formas de desarrollar una aplicación puede ser utilizando entornos de datos, ADODB entre otros. Nos centraremos en la programación ADODB que es la más recomendada por los expertos en esta área.

Que significa ADODB? A través de este nuevo modelo podemos acceder a las bases de datos mediante código. Podíamos 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 través 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.

 Aparece la siguiente ventana
 Aparece la siguiente ventana

Seleccionamos Aplicación de Windows Form

Asignamos un nombre al proyecto por ejemplo “Control-TES”

Hacemos clic en el botón Aceptar y listo

AGREGANDO UNA REFERENCIA PARA TRABAJAR CON LA LIBRERÍA 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 AGREGAR REFERECIA
 APARECE LA SIGUIENTE VENTANA

HAGA CLIC EN LA PESTAÑA COM

BUSQUE LA OPCIÓN O DESCRIPCIÓN QUE SE MUESTRA EN LA IMAGEN SIGUIENTE:

 HAGA CLIC EN EL BOTON ACEPTAR, YA PODEMOS TRABAJAR CON LA LIBRERÍA ADODB. 
 HAGA CLIC EN EL BOTON ACEPTAR, YA PODEMOS TRABAJAR CON LA LIBRERÍA ADODB.

CREANDO MODULO PARA ESTABLECER CONEXIÓN

Un módulo es una sección no grafica que generalmente se usa para segmentos de código a través de procedimientos o funciones específicas como en este caso; establecer la conexión 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 déjelo con el nombre que asigna el sistema.

Haga clic en el botón aceptar

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 conexión 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.

conectar a la base de datos.
conectar a la base de datos.

Agregando un procedimiento para escribir el código que debe

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 función ex, devolviendo un mensaje donde se lee el error que se produjo.

función ex, devolviendo un mensaje donde se lee el error que se produjo. Elieser Núñez Eliesns08

Debajo de try se escriben todas las instrucciones para conectar con la base de datos, pero debajo de Catch ex As Exception se escribe código para que el programa devuelva un mensaje con el error que se produjo.

Descripción de código

datos.
datos.

La primera línea activa a la variable CONEc para que pueda recibir la conexión heredándole todos los procedimientos, propiedades y funciones de la clase ADODB.Connection; la segunda línea almacena la cadena de conexión, la cual lleva instrucciones clara del proveedor y ubicación de la base de datos con la que vamos a conectar. La tercer línea ejecuta la cadena de conexión, aquí se establece la conexión con la base de datos. La cuarta línea asigne el valor de verdadero ala variable estado, en señal de que la conexión ha sido exitosa.

Agregando un procedimiento para cerrar la conexión a la base de

Al procedimiento le llamaremos cerrar, y permitirá cerrar la conexión a la base de datos. Generalmente se usa en las rutinas de salida del proyecto.

Creando el procedimiento Sub Main Ningún procedimiento definido por el usuario es capaz de auto-
Creando el procedimiento Sub Main
Ningún procedimiento definido por el usuario es capaz de auto-
ejecutarse, es decir que para que su código sea analizado o
ejecutado el procedimiento debe de ser invocado.

Desde el procedimiento sub main(el cual más adelante será configurado para que sea la primer aplicación que corra al ejecutar el proyecto) llamamos al procedimiento conectar para que realice la conexión; si la conexión 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. 
 Clic derecho en el nombre del proyecto y luego hacemos clic
en propiedades.
 Aparece la siguiente ventana

En el combo tipo de aplicación seleccionamos aplicación de consola

La

de

automáticamente a objeto de inicio.

descripción

formulario

inicio

se

cambiara

Seleccione sub main y listo, debe quedar como la siguiente imagen.

NOTA. Si ejecutamos el proyecto, no establecerá la conexión, ya

 HAGA CLIC EN GUARDAR TODO  APARECE LA SIGUIENTE VENTANA  CAMBIE EL NOMBRE
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
ir
a
la
dirección
que
muestra
la
imagen debajo para

que la base de datos no se encuentra en la ruta especificada, hasta aquí aún no hemos guardado el proyecto, eso significa que aún no tiene estructura. Es justo lo que vamos hacer;

Puede

comprobar que se creó la estructura.

Es justo lo que vamos hacer; Puede comprobar que se creó la estructura. Elieser Núñez Eliesns08

Nota. Debe de copiar la base de datos (dbtes) en la siguiente dirección que muestra la imagen. Esto porque cuando se establece la conexión, es a este lugar que hace referencia para que busque la base de datos.

lugar que hace referencia para que busque la base de datos. Nota. Ejecute el proyecto, si

Nota. Ejecute el proyecto, si ha seguido los pasos correctamente y sus dedos no han fallado, debe de aparecer el formulario de modalidad, lógicamente vacío, pero si aparece significa que la conexión 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

APLICACIÓN Nº 1 (FRM-MODALIDAD)

Elaborar una aplicación que permita agregar, eliminar y

cuenta los siguientes

editar áreas o modalidades tomando en aspectos:

o Para

es obligatorio

introducir el código y nombre del área, sino debe de

generar un mensaje de error.

El código del botón OK debe de identificar si se trata

poder

agregar

un

registro

o

de un registro nuevo o simplemente es actualización. El de interfaz debe similar la la
de
un
registro
nuevo
o
simplemente
es
actualización.
El
de
interfaz
debe
similar
la
la IMagen
El
botón
Eliminar,
posibilita
la
del registro seleccionado en el datagridview1.

una

diseño

la

ser

a

figura

mostrada en

eliminación

Agregue los siguientes controles al formulario:

3 grupos de opciones(optiongroup)

2 etiquetas

2 cajas de texto

1 datagridview

En seguida proceda a establecer las propiedades requeridas:

Form1

Nombre

FrmModalidad

Text

Registro de Modalidades

OptionGroup1

Text

Text
OptionGroup2 Text OptionGroup3 Text Label1 Nombre Lblcodigo Text Codigo Label2 Nombre Lblnombre 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

 

Text

Ayuda

Button3

 
 

Nombre

BtnEliminar

Text

Eliminar

Button4

 
Nombre BtnSalir Text Salir El código asociado a la aplicación se muestra a continuación:
Nombre
BtnSalir
Text
Salir
El
código
asociado
a
la
aplicación
se
muestra
a
continuación:

Iniciamos declarando variables, la variable table es del tipo Recordset (conjunto de registros), podríamos decir que se trata de una tabla temporal que almacenara datos

provenientes de una consulta, pero sus valores solo se mantendrán en tiempo de ejecución.

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 después de ejecutar el formulario).

El siguiente código pertenece al botón BtnOK escrito en el evento click.
El siguiente código pertenece al botón BtnOK escrito en el evento
click.

Como puede observar esta codificación tiene muchos comentarios que describen la función de cada línea. Desde este botón podemos agregar una nueva modalidad como modificar una modalidad existente. Esto significa que si ingresa un código de modalidad existente y hace cambios en el nombre de la modalidad y luego pulsa en el botón Ok, se producirá una actualización.

Una vez pulsado el botón BtnOk, se realiza una consulta para comprobar si el código de modalidad ya existe o no. Si existe se dara una operación de actualización de lo contrario los datos serán insertados como nuevos.

El siguiente código que presentamos es para eliminar modalidades.
El siguiente código que presentamos es para eliminar modalidades.

Para eliminar una modalidad debe de seleccionarla en el datagridview. Y luego hacer clic en el botón eliminar. La primer sentencia de este código es para conocer el número de fila seleccionada, la segunda es para conocer el código de área de la fila seleccionada, luego la condición para confirmar si desea eliminar, si contesta que sí; realiza una consulta de eliminación usando como criterio el código de área, ejecuta la consulta y por ultima vuelve a llamar al método cargar.

El siguiente código es para cerrar la aplicación o formulario, me.dispose se utiliza para destruir los identificadores que se usan en la aplicación al momento de cerrarla, me.close cierra el formulario.

El código escrito en TXTMODALIDAD_KeyPress tiene la función 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 función es necesario escribir la instrucción que presentamos en la imagen debajo.

Ejecutemos la aplicación y hagamos las pruebas de escritorio necesarias para determinar el buen funcionamiento.
Ejecutemos la aplicación y hagamos las pruebas de escritorio
necesarias para determinar el buen funcionamiento.
APLICACIÓN NO. 2 (FRMCURSOS)
Elaborar una aplicación 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.

obligatorio

introducir todos los datos, sino debe de generar un mensaje de error. o El código del botón Agregar debe de identificar si se

o Para

poder

agregar

un

registro

es

trata de un registro nuevo o simplemente es una actualización.

o Para eliminar debe de seleccionar el registro dentro de datagridview y luego hacer clic en el botón eliminar y listo.

diseño  4 grupos de opciones(optiongroup)  5 etiquetas(label)  3 cajas de texto(TextBox) 
diseño
 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:

El

planteado para esta aplicación es

el siguiente.

Agregue los siguientes controles al formulario:

Form1

Nombre

FrmCursos

Texto

Registro de Cursos

Optiongroup1

Texto

Agregar

/

Actualizar

cursos

Optiongroup2

Texto

Texto

Optiongroup3

Texto

Texto

Optiongroup4

Texto

Texto
Label1 Nombre LblTitulo text Registro de Cursos Label2 Nombre Lblmodalidad text Codigo de Area: Label3
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

Text2

 
 

Nombre

Txtcurno

Text

 

Text3

 
 

Nombre

Txtcansec

Text

 
Combobox1 Nombre cbomodalidad Combobox2 Nombre Cbodescrip Items PRIMERO SEGUNDO TERCERO CUARTO QUINTO SEXTO
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

Para modificar ancho de columnas haga lo siguiente Aparece la siguiente imagen
Para modificar ancho de columnas haga lo siguiente
Aparece la siguiente imagen
modificar ancho de columnas haga lo siguiente Aparece la siguiente imagen Elieser Núñez Eliesns08 @ hotmail.com

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

Button4

 
 

Nombre

Btnayuda

Text

Ayuda

Button5

 
 

Nombre

BtnSalir

Text

Salir

El código asociado a la aplicación se muestra a continuación:
El
código
asociado
a
la
aplicación
se
muestra
a
continuación:

Como puede observar este código es muy similar al que usamos en la aplicación de modalidad, tiene muchos comentarios para una mejor comprensión del código. Cuando ejecutemos este formulario se lee el procedimiento cargar con el objetivo de depositar los nombres de las modalidades en el cbomodalidad. Es la función que cumple el procedimiento cargar.

“El viaje es mejor que la llegada”

Continuamos codificando

Este es otro procedimiento definido por el usuario, su función es depositar todos los cursos
Este es otro procedimiento definido por el usuario, su función 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 aplicación 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

Este código visualiza los cursos según la modalidad seleccionada, como podes ver, los comentarios sobre el código brindan una mejor comprensión de la función del mismo.

Este código tiene como objetivo mostrar la descripción de acuerdo al número de curso que se digite.

Complete las condiciones hasta el grado número 12.
Complete las condiciones hasta el grado número 12.

El siguiente código tiene como proposito agregar o actualizar información sobre los cursos,

El nombre de este control es Cbomodalidad La explicacion de este codigo es visible en
El nombre de este control es
Cbomodalidad
La explicacion de este codigo es visible en los comentarios asignados
al mismo.

El siguiente código sirve para eliminar cursos, para hacerlo debe de seleccionar el curso que desea eliminar en el datagridview1 y luego

hacer clic en el botón eliminar, continuación:

el código lo presentamos a

La primer linea declara la variable nn, luego en la segunda se almacena en la
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.

APLICACIÓN Nº 3 (FRMSECCIONES)

Elaborar una aplicación que permita agregar, eliminar y

editar secciones tomando en cuenta los siguientes aspectos:

o

o

o

Para poder crear una sección es obligatorio elegir modalidad, código curso.

El código del botón Crear permite agregar una nueva sección al curso seleccionado

Para edita una sección se realizan los cambios en el datagridview y se hace clic en el botón actualizar

o o
o
o

Cuando seleccionemos una modalidad debe desplegar los códigos de cursos de la modalidad seleccionada.

Cuando seleccionemos un código de curso debe desplegarse los datos del curso como el numero de curso, descripción y cantidad de secciones, estos controles deben de estar en solo lectura.

Agregue los siguientes controles al formulario:

5 grupos de opciones(optiongroup)

9 etiquetas(label)

2 cajas de texto(TextBox)

4 cuadros combinados (combobox)

Tres controles numéricos (numericUpdow)

Una cuadricula(datagridview)

4 botones

En seguida proceda a establecer las propiedades requeridas: Form1 Nombre FrmSecciones Texto Registro de Secciones
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

Código de curso

Label3

Texto

Numero de Curso

Label4

 

Texto

Descripcion

Label5

 
 

Texto

Cantidad Secciones

Label6

 
 

Texto

Año

Label7 Texto Seccion Label8 Texto Jornada Label9 Texto Limite Alumnos TextBox1 Nombre Txtcurno2 readonly true
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

NumericUpDown2

Nombre

NUDSEC

Maximun

100

Minimun

0

NumericUpDown3

Nombre NUDLIMITE Maximun 100 Minimun 0 Datagridview1 Nombre Datagridview1 Debe de agregar tres columnas (Seccion,
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 código asociado al evento es el siguiente.

El procedimiento cargar realiza una cónsulta de selección en la tabla de modalidades, luego deposita el resultado de la consulta en el combo Cbomodalidad.

Este procedimiento busca todos los códigos de cursos en la tabla de cursos según la
Este procedimiento busca todos los códigos de cursos en la tabla de
cursos según la modalidad seleccionada, primero busca el código de
área usando como parámetro de búsqueda el nombre del área.
Este código se aplica en el control CBOmodalidad.
El código que presentamos a continuación, realiza una consulta en la
tabla de cursos, para conocer los detalles del curso (no, descripción,
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

El siguiente código agrega secciones a la tabla de secciones.
El siguiente código agrega secciones a la tabla de secciones.
siguiente código agrega secciones a la tabla de secciones. El código que presentamos a continuación, permite

El código que presentamos a continuación, permite actualizar los cambios hechos en x fila del datagridview en la tabla de secciones.

El siguiente código sirve para eliminar una sección, para ello debe de seleccionarla en el
El siguiente código sirve para eliminar una sección, para ello debe de
seleccionarla en el datagridview y luego hacer clic en el botón
eliminar.

Bueno aquí tenemos el código necesario para registrar secciones, si puede codifique algunos controles para validad la tecla enter, esto se hace en el evento Keypress, también puede aplicar otros detalles, esto queda a su criterio.

Keypress, también puede aplicar otros detalles, esto queda a su criterio. Elieser Núñez Eliesns08 @ hotmail.com

APLICACIÓN Nº 4 (FRMALUMNOS)

Para construir esta aplicación debemos de agregar una nueva tabla a la base de datos dbtes asi que abramos la base de datos y agreguemos la siguiente tabla siguiendo la estructura que te muestro a continuación.

TABLA Alumnos

Nombre del Tipo Ancho Descripción Campo Alu_rne T 13 Registro Nacional Estudiantil Alu_nom T 20
Nombre del
Tipo
Ancho
Descripción
Campo
Alu_rne
T
13
Registro Nacional Estudiantil
Alu_nom
T
20
Nombres
Alu_ape
T
20
Apellidos
Alu_sex
T
1
Sexo
Alu_fnac
Fech
Fecha de Nacimiento
Cur_cod
T
3
Código de curso
Sec_no
Nume
Entero
Sección Numero
Alu_year
Nume
Entero
Año
Alu_tel
T
10
Teléfono
Alu_email
T
50
Correo electrónico
o

El campo principal es el que aparece resaltado con negrita, asígnele la llave en Access. Relacione la tabla alumnos con la tabla cursos. Guarde y salga de Access Elaborar una aplicación que permita agregar, eliminar, editar e imprimir listado de alumnos tomando en cuenta los siguientes aspectos:

Para poder agregar un alumno es obligatorio elegir modalidad, código curso y sección. Luego debe de llenar los campos rne, nombre, apellido, sexo, fecha.

o

El código del botón 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 botón actualizar.

o

o

Cuando seleccionemos una modalidad debe desplegar los códigos de cursos de la modalidad seleccionada.

Cuando seleccionemos un código de curso debe desplegarse los datos del curso como el número de curso, descripción estos controles deben de estar en solo lectura.

Cuando seleccionemos el número de sección debe de visualizar el límite de alumnos, la jornada y desplegar la cantidad de alumnos registrados en dicha sección; esta lista debe de visualizarse en el datagridview.

o

o o
o
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 botón Eliminar.

Desde aplicación obtendremos listado de alumnos visibles en pantalla y también de forma impresa, a través de los botones Vista Previa e Imprimir.

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 numéricos (numericUpdow)

Una cuadricula(datagridview)

 6 botones  1 statusstip En seguida proceda a establecer las propiedades requeridas: Form1
 6 botones
 1 statusstip
En seguida proceda a establecer las propiedades requeridas:
Form1
Nombre
FrmAlumnos
Texto
Registro de Alumnos
Optiongroup1
Texto
Optiongroup2
Texto
Optiongroup3
Texto
Optiongroup4
Texto
Label1

Texto

Modalidad

Label2

Texto

Código de curso

Label3

Texto

Numero de Curso

Label4

Texto

Descripción

Label5     Texto Seccion Label6     Texto Año Label7   Texto Limite
Label5     Texto Seccion Label6     Texto Año Label7   Texto Limite

Label5

 
 

Texto

Seccion

Label6

 
 

Texto

Año

Label7

 
Texto Limite alumnos Label8 Texto Jornada TextBox1 Nombre Txtcurno2 readonly true enabled False Combobox1
Texto
Limite alumnos
Label8
Texto
Jornada
TextBox1
Nombre
Txtcurno2
readonly
true
enabled
False
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
Nombre
NUDLIMITE
Enabled
False
Maskedtextbox1
Nombre
Mtxtrne
Mask
9999999999999
Maskedtextbox2
Nombre
Mtxtnombre
Mask
>LLLLLLLLLLLLLLLLLLLLLLLLL
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 código asociado a la aplicación lo iremos describiendo en partes, este primer código que aparece en la imagen debajo, tiene comentarios en cada línea de código para que tenga una mejor comprensión, el procedimiento cargar (definido por el usuario) se encarga de depositar los nombres de las modalidades en el combo de modalidad, ningún 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 continuación presentamos el siguiente código:

combo (cbomodalidad2), a continuación presentamos el siguiente código: Elieser Núñez Eliesns08 @ hotmail.com 44

El siguiente código se produce en el combo (cbomodalidad2) en el

evento SelectedIndexChanged (que se produce cuando seleccionamos un elemento del control mencionado). Lo que hace este código es que busca la modalidad seleccionada en la tabla de modalidades y luego compara el código de la modalidad de la tabla de modalidades con el código de modalidad de la tabla de cursos, para obtener los códigos de cursos, los cuales son depositados en el combo (cbocurcod2). Aquí el código:

El código que presentamos a continuación se produce en el combo (cbocurcod2), tiene como objetivo
El código que presentamos a continuación se produce en el combo
(cbocurcod2), tiene como objetivo visualizar el número de curso y la
descripción del mismo de acuerdo al código de curso seleccionado, el
código tiene los comentarios para una mejor comprensión.

El próximo código se escribe en el control numérico (NUDSEC) en el

evento valuechanged(se produce

con

cada

cambio

de

valor

en

el

control),

tiene

como

objetivo

mostrar

el

límite

de

alumnos

y

la

jornada de la sección seleccionada, así como visualizar todos los

alumnos que están matriculados en dicha sección. Para que entienda mejor el código me tome el tiempo de escribir comentarios en casi todas las líneas, así que espero le sea de mucha utilidad.

El procedimiento limpiar que presentamos a continuación, tiene como objetivo quitar los datos específicos del
El procedimiento limpiar que presentamos a continuación, tiene como
objetivo quitar los datos específicos del alumno de los controles que
se encuentra en el groupbox2.

El siguiente código se produce en el botón Add, tiene como objetivo

agregar registros de

datagridview.la explicación al código se refleja en los comentarios sobre líneas.

al

alumnos

a

la

tabla

de

alumnos

y

Este código permite eliminar registros de alumnos, para lograrlo bastara con seleccionar la fila en
Este código permite eliminar registros de alumnos, para lograrlo
bastara con seleccionar la fila en el datagridview y luego haciendo
clic en el botón Eliminar. Este código no permite que se eliminen
registros de a;os anteriores al actual. A parte de eliminar el
registro de la tabla de alumnos también lo elimina del datagridview.
El código que veremos a continuación permite actualizar o registrar los cambios que se realizan
El código que veremos a continuación 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, ubíquese en
la fila y columna donde se encuentra el nombre realice el cambio y
luego haga clic en el botón actualizar y listo. El código está muy
bien descrito.

Nos queda por programar el botón Vista Previa y el botón Imprimir, por ahora lo dejamos hasta aquí, ya que primero tenemos que diseñar el informe. Crear un conjunto de registros (dataset) y otras cosas que veremos a continuación. Si trabajas con visual estudio 2008, el cristal report viene integrado, si trabajas con versiones 2010 en adelante tendrás 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, después de descargar Sap Crystal Report 2010 instálelo, no ocupa ciencia para hacerlo, siga la lógica para lograrlo. Una vez instalado, abramos el proyecto que estamos trabajando y realicemos la siguiente configuración para poder utilizar el Crystal Report en versiones mayores a visual estudio 2008.

Crystal Report en versiones mayores a visual estudio 2008. Si tienes visual estudio 2010 como puedes

Si tienes visual estudio 2010 como puedes ver en la imagen no

aparecen ningún elemento relacionado con cristal report, si lees el mensaje que aparece en el
aparecen
ningún
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
cómo
hacer
para
mostrarlos.
Para lograrlo
 haz clic derecho sobre el
nombre del proyecto.
 Luego
en
la
opción
propiedades.
 En la ventana propiedades
haz clic
en
la ficha
Compilar.
 Haz clic en las opciones
de compilación avanzadas

 Haz clic en las opciones de compilación avanzadas  Luego cambiamos la versión de NET

Luego cambiamos la versión de NET Framework y seleccionamos “NET Framework 4”

 Por ultimo hacemos clic en aceptar y listo ya disponemos de los controles CRYSTAL

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 diseñar el reporte.
Hoy si disponemos de esta herramienta así que ya podemos empezar a
diseñar el reporte. Para ello es necesario seguir un proceso el cual
te muestro paso a paso a continuación:
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 opción Agregar

Luego clic en la opción nuevo elemento

Aparecerá la siguiente ventana

 En esta ventana seleccionaremos “Conjunto de datos”, tal como se observa en la imagen.
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á después de hacer clic en agregar, un conjunto de datos vacío, así que el siguiente paso es crear DataTable, para almacenar los datos que queremos visualizar en el informe.

Crear un DataTable (tabla de datos) en el DataSet

Ubícate en el Dataset

Haz clic derecho y selecciona la opción 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
 La estructura alumnos que podemos observar es la que
crearemos. Así debe de quedar al final, así que comencemos.
 Comenzaremos asignándole nombre al datatable, para ello
solo haz doble clic sobre la parte superior de la ventana
datatable y asígnale el nombre “alumnos”

Para agregar columnas al DataTable: Alumnos. Haz lo siguiente

Haz clic derecho sobre el Datatable: Alumnos

Luego selecciona la opción agregar

Después 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 demás columnas, tal como se observa en la estructura siguiente.

 En el explorador de soluciones, haz clic derecho sobre el nombre del proyecto. 
 En el explorador de soluciones, haz clic derecho sobre el
nombre del proyecto.
 Luego seleccionamos la opción Agregar
 Luego clic en la opción nuevo elemento
 Aparecerá la siguiente ventana

El campo nombre, código y teléfono son propios del instituto o colegio, modalidad, curso y sección para identificar donde está matriculado el alumno, los demás 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 aplicación que contiene los datos.

Seguro vamos avanzando muy bien, continuemos pues, el siguiente paso es agregar un nuevo elemento (Crystal Report), crearemos el diseño del reporte.

Creando el diseño del Informe (Crystal Report)

del reporte. Creando el diseño del Informe (Crystal Report)  En el panel de la izquierda

En el panel de la izquierda elige Reporting

Luego selecciona Crystal Report

Asígnale nombre en este caso digita “CRalumno”

Haz clic en Agregar

Aparecerá la ventana Galería de Crystal Report

 Selecciona la opción “como informe en blanco”  Haz clic en el botón aceptar
 Selecciona la opción “como informe en blanco”
 Haz clic en el botón aceptar
 Ahora si nos debe de aparecer la ventana diseño de informe.

Ya falta poco, el siguiente paso es diseñar el informe, es decir prepararlo tal cual deseamos que se imprima en pantalla o impresora. Así que manos a la obra. Ya verás cómo cada uno de los elementos que hemos ido creando se conjuntan para lograr el objetivo final; que es crear un reporte de alumnos por sección.

Una vez dentro del diseñador 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

asistente de base de datos  aparece la siguiente ventana  nos vamos donde dice datos

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

 lo que hacemos aquí es seleccionar la tabla de alumnos para disponer de sus
 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 botón 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 diseñador de informe para ir dándole 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.

Así que los campos que ubicaremos en la columna detalle son (rne, nombrea, apellido, sexo). Agrégalos. deben de quedar como lo veras en la siguiente imagen.

En la sección encabezado de informe. Colocaremos la siguiente información. Aquí debe de ir el
En la sección encabezado de informe. Colocaremos la siguiente
información. Aquí debe de ir el nombre del colegio, el código
y el número de teléfono, además agregaremos el título “Lista
de alumnos por sección”. Este título 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 diseñador de informe debe de
aparecer esta barra de herramienta.
La cual te permite modificar el tipo y tamaño de la fuente.
El encabezado del informe debe de quedarte más o menos así. Trata
de que sea igual o mejor.

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
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.
También utilice el objeto de línea, para dibujar un par de líneas
solo para mejorar la estética o presentación del informe.
En la sección Pie de página haremos que aparezca el número de
página: hazlo de la siguiente manera:
En el explorador de campos, selecciona campos especiales
Luego elegí el campo Numero de página y arrástralo hasta la
sección pie de página.

A la par del campo número de página, pon un objeto de texto y escribe “No. Pag. ”

Así quedaría el reporte después de agregar el pie de página.

En la sección pie de informe, puedes insertar un campo especial para mostrar la fecha
En la sección pie de informe, puedes insertar un campo especial para
mostrar la fecha en la que se está imprimiendo el informe.
Ya tenemos
el
informe
listo.
Guardemos
todos
los
cambios
en
haciendo
una
copia
de
seguridad de
problemita, da la casualidad que siempre aparecen.
Ya falta muy poco, todo lo que haremos ahora será desde el formulario
Agreguemos un nuevo formulario: asignémosle el nombre de FrmReporte,
la función que cumplirá este formulario será de visualizar el reporte
en pantalla, a este formulario le agregaremos un control de Crystal
Report que permite dicha función.

También puedes insertar un campo especial en la sección detalles antes del campo rne, para que enumere los alumnos que estas visualizando en el informe.es opcional al menos inténtalo.

el

proyecto, es más deberías de hacerlo cada 10 minutos, y recuerda ir

tu proyecto. Por cualquier

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 arrástralo al formulario.

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

Listo guardemos los cambios, ahora iremos al formulario de Alumnos (FrmAlumno). En el formulario de
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 botón Vista Previa y el Botón Imprimir. No lo
habíamos hecho antes, porque necesitábamos crear el reporte, todo el
proceso que acabamos de hacer. Ahora si comenzaremos con el botón
Vista Previa.
Este es el código que lleva el botón Vista Previa, tiene los comentarios necesarios para
Este es
el código
que
lleva
el
botón Vista Previa, tiene los
comentarios necesarios para su comprensión. Pero de forma general
podría decir que define una estructura idéntica 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 envía 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 botón Imprimir

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 número 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 solución, para solucionarlo haremos lo siguiente:
Tranquilo(a) tiene solución, para solucionarlo haremos lo siguiente:

En su proyecto abra el archivo app.config aparecerá la siguiente estructura de código:

Pues es aquí donde corregiremos el problema, agregando el siguiente código.
Pues es aquí donde corregiremos el problema, agregando el siguiente
código.

El código que debemos agregar es el que aparece dentro del rectángulo de color rojo. Guarde los cambios y ejecute de nuevo, seleccione una sección que tenga alumnos registrados y haga clic en el botón vista previa para poder visualizar el informe.

y haga clic en el botón vista previa para poder visualizar el informe. Elieser Núñez Eliesns08
y haga clic en el botón vista previa para poder visualizar el informe. Elieser Núñez Eliesns08
y haga clic en el botón vista previa para poder visualizar el informe. Elieser Núñez Eliesns08
Elieser Núñez Eliesns08 @ hotmail.com 64