Escolar Documentos
Profissional Documentos
Cultura Documentos
SUPERIOR TECNOLGICA
INSTITUTO TECNOLGICO SUPERIOR DE TAMAZUNCHALE
MANUAL TCNICO
SISTEMA DE CONTROL ESCOLAR UNITAM
PRESENTA
MARCELA ACOSTA VIDALES
NO. DE CONTROL
05ISC025
ASESOR
ING. GABINO MRQUEZ PREZ
TAMAZUNCHALE, S.L.P.
JUNIO 2012
ndice
1 Objetivo General y Especficos.........................................................................3
2 Resea...............................................................................................................4
3 Manual de Tcnico..5
4 Instalacin de Visual Studio 2005.6
5 Instalacin de MySql Server 5.0..14
6 Instalacion de MySql Tools For 5.0.25
7 Instalacin del conector ODBC 5.1 para MySql30
8 Modulos del Sistema.37
9 Modelos para el Desarrollo de Software41
10 Requerimientos Funcionales y No funcionales...48
11 Casos de Prueba..50
12 Tablas de la Base de Datos...64
13 Conexin a la Base de Datos71
14 Formulario Acceso...71
15 Formulario Principal74
16 Formulario Inscripciones78
17 Formulario Ver Materias86
18 Formulario Reinscripciones...87
19 Formulario Lista de Asistencia.102
20 Formulario Documentacin..108
21 Reporte de Entrega de Documentacin114
22 Formulario Calificaciones (Preparatoria)...116
23 Formulario Actas de Evaluacin.134
24 Formulario de Calificaciones...143
25 Formulario Bsqueda Alumno-Cardex..150
26 Formulario Materias..157
27 Formulario Docentes163
28 Formulario Seguimiento Datos del Alumno..168
29 Formulario Modificar Contrasea...174
30 Formulario Ajustes Grupo....176
31 Formulario Concentrado de Calificaciones...178
32 Formulario Plan de Estudios...187
33 Formulario Actas de Calificaciones por Materia..190
34 Formulario Registro de Calificaciones..193
Objetivo General
Dar a conocer el proceso de instalacin y configuracin de programas utilizados.
Explicar la programacin de cada uno de los formularios que componen el
Sistema de Control Escolar Unitam.
Objetivos Especficos
Resea
3
Manual Tcnico
Una vez activada la casilla daremos clic en la opcion de siguiente para continuar
con la instalacin.
Esta pantalla nos muestra las diferentes aplicaciones a instalar, dejaremos todas
las casillas activadas y le daremos clic en Instalar.
10
11
12
Esta pantalla se muestra al cargar por primera vez Visual Studio 2005
13
Al ejecutar la aplicacin nos mostrara la primera ventana donde nos seala las
aplicaciones y versiones del programa a instalar.
14
Este pantalla nos muestra el tipo de instalacin que seleccionamos asi como el
lugar donde se ubicaran los archivos a instalar le damos Install para continuar.
15
16
17
18
19
20
21
22
23
Esta pantalla nos muestra las aplicaciones ya instaladas le damos Finish para
finalizar la configuracin del servidor.
24
Esta es la primer pantalla que nos aparece al comenzar con la instalacin damos
clic en Next.
25
26
27
Nos vamos al menu de incio para verificar que se hayan intalado todas nuestras
aplicaciones.
28
Esta es la ventana que nos mostrara para verificar que efectivamente ya esta
funcionando correctamente nuestro servidor.
29
.
30
31
32
Mandara la siguiente ventana en la cual se tiene que llenar los datos que pide, en
la ventana de abajo se indica que datos debe colocar.
34
35
Nuevamente se da aceptar.
36
REA
SALIDAS
Lista de Asistencia
Constancias
DIRIGIDO A:
Docentes
Alumnos
inscripcin, Acta de
nacimiento,
Certificado de
Bachillerato y/o
Secundaria,
Certificado mdico,
Curp, Comprobante
de domicilio, 6 fotos,
Carta de conducta)
CONROL ESCOLAR
(Solicitud de
37
Mdulo de Calificaciones
ENTRADAS
RE
SALIDAS
DIRIGIDO A:
A
Listas de asistencia
Lista de calificaciones
Lista de Asistencia
Boletas
Docentes
Alumnos
38
por materia
(Ordinario, final,
extraordinario,
especial.)
CONTROL ESCOLAR
Parciales/Totales
Actas y concentrado de
(Firmado por el
calificaciones
Certificados
Rector) SEGE
Alumnos
Parciales/Totales
Una vez inscrito el alumno tendr que ir con el encargado del rea de Control
Escolar para dar de alta datos personales los cuales se almacenaran como un
historial personal.
Una vez insertado las calificaciones por semestre de los alumnos, se podrn
visualizar los promedios por parcial, final y general, manejando con esto las
estadsticas y el cardex de cada uno de los alumnos.
El alumno podr consultar su historial personal y acadmico, solo con presentarse
en el rea de Control Escolar y dar su nmero de control.
RE
SALIDAS
DIRIGIDO A:
Estadsticas(filtros)
Encargado de
A
Listas de asistencia
control escolar
Comprobante de
Cardex (historial
39
domicilio
Historial Mdico
Datos Personales
Escuela de
Procedencia
CONTROL ESCOLAR
acadmico)
40
ciclo de vida del software, de tal forma que el inicio de cada etapa debe esperar a
la finalizacin de la inmediatamente anterior.
Un ejemplo de una metodologa de desarrollo en cascada es:
1. Anlisis de requisitos
2. Diseo del Sistema
3. Diseo del Programa
4. Codificacin
5. Pruebas
6. Implantacin
7. Mantenimiento
Justificacin
Se decidi basarse en l modelo en cascada ya que es el ms completo porque
plantea el desarrollo de software dividindolo por etapas llevndose a cabo:
Anlisis de requisitos.- En esta etapa es donde analizaremos las necesidades del
o los usuarios finales que estn en contacto con el software a desarrollar, con esto
determinaremos los objetivos a cubrir.
Tambin se analizar la informacin que se maneja y su funcin para que no
exista redundancia en el manejo de los datos.
Esta parte es trascendental en el desarrollo del software puesto que de aqu
partir el desarrollo del mismo.
Diseo del sistema y del programa.- En esta etapa se separarn y organizarn los
diferentes elementos que va contener el sistema, obtenindose
lo que deba
hacer cada una de sus partes, as como la manera en que se combinan unas con
otras, de esto parten las diferentes relaciones que existirn en las tablas mediante
los campos clave.
41
Aqu le dar una estructura a los datos a la vez que se plantearn las interfaces
para comenzar con la siguiente etapa.
Codificacin.- Antes de comenzar con esta etapa elegiremos un lenguaje de
programacin en el cual se desarrollar el software adems de un gestor de base
de datos en donde se almacenar la informacin, una vez elegidos se comenzar
con la programacin.
Pruebas.- En esta etapa realizaremos las pruebas necesarias a los elementos ya
programados para detectar y corregir los posibles errores que lleguen a surgir.
Implantacin.- Esta es una de las ltimas etapas y se compondr bsicamente en
la instalacin del software terminado.
Mantenimiento.- Esta etapa se lleva a cabo cuando esta ya en uso el software,
aqu corregiremos algunos errores que llegaran a presentarse o realizaremos
mejoras al software.
42
Atributos
Los atributos son las propiedades que describen a cada entidad en un conjunto de
entidades.
Relacin
Describe cierta dependencia entre entidades o permite la asociacin de las
mismas.
Conjunto de relaciones
Consiste en una coleccin de relaciones de la misma naturaleza.
Claves
Es un subconjunto del conjunto de atributos comunes en una coleccin de
entidades, que permite identificar unvocamente cada una de las entidades
pertenecientes a dicha coleccin. Asimismo, permiten distinguir entre s las
relaciones de un conjunto de relaciones.
Diagrama entidad-relacin
Formalmente, los diagramas E-R son un lenguaje grfico para describir
conceptos. Informalmente, son simples dibujos o grficos que describen la
informacin que trata un sistema de informacin y el software que lo automatiza.
Bueno, ahora nos falta describir como se representa un modelo E-R
grficamente, la representacin es muy sencilla, se emplean smbolos, los cuales
son:
44
Smbolo
Representa
Justificacin
Una vez analizado los diferentes modelos de datos que se utilizan para el diseo
grfico de sistemas, decidimos utilizar el modelo entidad- relacin ya que en base
a sus diagramas se representan de una forma mucho ms completa el diseo de
las estructuras de datos y el manejo de la informacin.
45
Diagrama Entidad-Relacin
A continuacin se muestran algunos ejemplos de diagramas E-R utilizados en el
desarrollo del proyecto.
edad
nom_alumno
entrega
no_control
sexo
alumno
especialidad
acta_nac
no_control
fotografias
const_estudios
documentacin
certificado_sec
curp
comp_domicilio
bachillerato_sec
edad
nom_alumno
carta_conducta
El siguiente diagrama se
utilizado tambin para los
dems semestres y carreras
registro
no_control
sexo
alumno
especialidad
Administracin1
no_control
46
edad
nom_alumno
alta
no_control
sexo
alumno
especialidad
datos_alumno
no_control
47
Requerimientos Funcionales
Este sistema contar con los siguientes mdulos:
Inscripciones:
Funciones principales del mdulo:
1. La clave de acceso para ingresar a este mdulo ser nica, solo el
encargado del rea de control escolar tendr acceso al sistema.
2. La validacin ser mediante un nombre de usuario y contrasea.
Posteriormente se podr cambiar la contrasea.
3. Se necesitar una identificacin para el registro del alumno, la cual si es un
nuevo alumno se le asignar un nmero de control que la institucin otorga
desde el primer semestre.
4. Permitir el registro
48
Requerimientos No Funcionales
Los requerimientos no funcinales para el sistema son:
1. El sistema no estar disponible en red por la seguridad de la informacin,
tambin porque la Universidad no cuenta con una red local.
2. No se podrn crear cuentas de usuario en el sistema, solo el administrador
tendr acceso.
3. Los procesos de preinscripcin no estarn disponibles en el sistema.
49
Casos De Prueba
Arquitectura Tcnica
Cambiar contrasea (solo se podr modificar la contrasea) - Men ajustes
1
Escribir contrasea
Condicin
Si Campos llenos - Entonces
NO
Condicin
Si Datos Correctos - Entonces
Si
5a
5b
Si
6a
Continuar
6b
Si
No
7b
7a
No
Si
Datos incorrectos
No
Cancelar
8a
Confirmar contrasea
No
8b
Si
Condicin
Si Campos llenos - Entonces
No
Llene los campos
Condicin
Si contraseas iguales - Entonces
Si
10b
10a
Si
11a
No
11a
Guardar Datos
Corregir contrasea
50
Condicin
Si Cambiar contrasea - Entonces
Si
Llenar campo
Condicin
Si campo lleno - Entonces
2a
Si
Guardar
No
2a
2b
Cerrar
No
2a
Cancelar
51
Ingreso al sistema
FORMULARIO DE ACCESO AL SISTEMA
Proporcionar nombre de usuario y contrasea
Validar los datos
3
SI
Condicin
Si - Datos son correctos - Entonces
4
SI
NO
5a
Bienvenido al sistema SCE
5b
NO
6b
SI
Condicin
Si Intento Mayor que 3 - Entonces
6a
52
Inscripcin
1
3b
NO
Elija especialidad
SI
FORMULARIO INSCRIPCIONES
Alta de alumnos
Condicin
Si modificar - entonces
5b
NO
SI
6b
Condicin
6a
Si - Llenar campos, nombre, apellido paterno, apellido materno, fecha de nacimiento, sexo - entonces
NO
SI
7b
SI
7a
7 7a
Cancelar
Condicin
Si Materias- entonces
8a
NO
SI
Condicin
Si Guardar - entonces
9a
NO
SI
10b
10a
Cancelar
NO
Cerrar
Condicin
Si Informacin correcta - entonces
SI
11b
SI
Datos Guardados
NO
11a
Condicin
Si Corregir Datos entonces
53
Eliminar
Cancela
Reinscripcin
Condicin
Si - Llenar
2 campos, No. De control y elige semestre a cursar - entonces
FORMULARIO REINSCRIPCIONES
SI
Condicin
Si A presentado ms de 12 extraordinarios - entonces
NO
3b
NO
3b
SI
3a
SI
Condicin
Si No. De materias reprobadas >4 - entonces
NO
4
SI
Condicin
Si puede recursar - entonces
NO
4a
Condicin
Si modificar - entonces
SI
5b
SI
NO reprobadas
Muestra carga acadmica del semestre anterior y las materias
NO
6b
5a
6a
Cancelar
Se har una bsqueda en semestres anteriores Si hay materias reprobadas, se agregaran automticamente a la carga acadmica sino abra op
Condicin
Si Si datos son correctos - entonces
NO
10
Condicin
Si elementos de carga acadmica >8 - entonces
SI
11b
NO
11a
SI
12a
12b
Guardar
Cancelar
13a
54
Calificaciones
Condicin
Bienvenido al sistema SCE
Si Exportar Boleta- entonces
Menu calificaciones
c
FORMULARIO CALIFICACIONES
2
Condicin
Si - modificar - entonces
3a
3e
Condicin
Si - Eliminar- entonces
Condicin
Si - Boleta - entonces
Condicin
Si - Consulta - entonces
3b
3d
Condicin
3c
Condicin
Si - modificar - entonces
3a
Condicin
Si - Eliminar- entonces
Agregarla
Si Datos correctos entonces
4a
5a
5a
SI
NO
Condicin
Si Elegir que calificacin va a modificar - entonces
3b
SI
SI
Condicin
Si Si datos son correctos - entonces
SI
Condicin
NO
NO
Si Realmente desea eliminar los registros de este alumno - entonces
6a
Condicin
Si - Consulta - entonces
SI
Condicin
Si - Boleta - entonces
NO
Guardar
3d
Cancelar
5b
Cancelar
NO
SI
6b
NO
5a
3c
Guardar
Condicin
Si - Llenar campo No. De control - entonces
SI
5b
SI
NOMuestras
6b
5a
Cancelar
6a
55
Condicin
Si - Boleta - entonces
3d
Condicin
Si Guardar - entonces
SI
SI
3e
5a
Condicin
SI Exportar Boleta PDF- entonces
Si
Condicin
Si Imprimir - entonces
5b
NO
SI
SI
6b
NO
6a
Elegir impresora e imprimir
4b
Elegir formato y guardar Elegir formato y guardar Cerrar
4a
Cancelar
Cerrar
56
Lista de asistencia
1
Condicin
Si - elige carrera - entonces
LISTA DE ASISTENCIA
NO
SI
Podr elegir el semestre, ciclo escolar, clave de la materia, turno, grupo, catedrtico, y encargado
Cerrar
escolar
3b de control
3a
SI
Condicin
Si filtrar - entonces
4
Bsqueda
Condicin
Si Encuentra - entonces
SI
NO
4
NO
SI
Muestra Datos
Condicin
Si Imprimir - entonces
Condicin
Si - Elegir impresora - entonces
Cancelar
Regresar No. 3 o 3b
5
NO
SI
5a
5b
Condicin
Si Guardar - entonces
SI
65a
65a
NO
Imprimir
Cerrar
57
Documentacin
Documentacin
Condicin
Si navegar - entonces
SI
Condicin
Si Consultar - entonces
NO
SI
Llenar el campo No. De control
Condicin
Si campo lleno - entonces
Condicin
Si Modificar - entonces
NO
4a
4b
Modifica - Condicin
Si Modifica- entonces
NO
SI
Bsqueda
Condicin
Si Encuentra - entonces
SI
5b
5a
Condicin
Si Guarda - entonces
Llene campos
Cancelar
NO
SI
6a
7b
Cerrar
7b
NO
Bsqueda
Condicin
Si Todas las carreras- entonces
8b
8a
NO
SI
NO
Elija Para continuar
NO
SI
7a
9a
7a
NO
6a
Condicin
Si Reportes - entonces
SI
Bsqueda
Condicin
Si Elija carrera y Semestres- entonces
Cancelar
SI
NO
Bsqueda
Condicin
Si por carrera- entonces
6b
Guarda
6b
Muestra Datos
Condicin
Si Imprimir - entonces
Condicin
Si - Elegir impresora - entonces
Salir
9b
NO
SI
10a
10b
Condicin
Si Guardar - entonces
11a
11b
NO
Imprimir
Cerrar
58
Actas de Evaluacin
1
Actas de Evaluacin
2
SI
NO
Cerrar
3b
Podr elegir el semestre, ciclo escolar, clave de la materia, turno, grupo, catedrtico, y encargado de control escolar
Elegir tipo de3a
acta, acta de evaluacin final, Extraordinaria y especial
SI
Condicin
Si filtrar - entonces
4
SI
Bsqueda
Condicin
Si Encuentra - entonces
NO
4
NO
SI
Muestra Datos
Condicin
Si Imprimir - entonces
Condicin
Si - Elegir impresora - entonces
Cancelar
Regresar No. 3 o 3b
5
NO
SI
5a
5b
Condicin
Si Guardar - entonces
SI
65a
65a
NO
Imprimir
Cerrar
59
Actas Calificaciones
1
Actas de Evaluacin
2
SI
NO
Cerrar
3b
Podr elegir el semestre, ciclo escolar, clave de la materia, turno, grupo, catedrtico, y encargado de control escolar
3a
SI
Condicin
Si filtrar - entonces
4
SI
Bsqueda
Condicin
Si Encuentra - entonces
NO
4
NO
SI
Muestra Datos
Condicin
Si Imprimir - entonces
Condicin
Si - Elegir impresora - entonces
Cancelar
Regresar No. 3 o 3b
5
NO
SI
5a
5b
Condicin
Si Guardar - entonces
SI
65a
65a
NO
Imprimir
Cerrar
60
Materias
1
Materias
2
NO
SI
3a
Condicin
Si Consultar - entonces
SI
Condicin
Si Nuevo - entonces
3b
Cancelar
NO
NO
SI
Llenar los
campos clave de la materia,
nombre, semestre, crditos, seriacin, tipo de materia, nfasis y elige la ca
Condicin
Si4 campos llenos - entonces
4a
4b
NO
SI
Bsqueda
Condicin
Si Encuentra - entonces
NO
5b
5a
SI
Cancelar
5a
SI
Cancelar
6a
5b
Llene campos
NO
Condicin
Si Datos Correctos - entonces
6
4
Modifica - Condicin
Si Modifica- entonces
NO
7a
SI
Guarda
Condicin
Si Guarda - entonces
Condicin
Si Datos Correctos - entonces5
6a
SI
7a
6b
NO
8a
NO
7b
Cancelar
Corrige Datos
NO
SI
Guarda
Condicin
Si Guardar- entonces
Condicin
Si Eliminar- entonces
SI
8b
Datos Eliminados
7b
Cancelar
Corrige Datos
61
Docentes
1
Docentes
2
NO
SI
3a
Condicin
Si Consultar - entonces
SI
Condicin
Si Nuevo - entonces
3b
Cancelar
NO
NO
SI
Llenar los
campos clave de la materia,
nombre, semestre, crditos, seriacin, tipo de materia, nfasis y elige la ca
Condicin
Si4 campos llenos - entonces
4a
4b
NO
SI
Bsqueda
Condicin
Si Encuentra - entonces
NO
5b
5a
SI
Cancelar
5a
SI
Cancelar
6a
5b
Llene campos
NO
Condicin
Si Datos Correctos - entonces
6
4
Modifica - Condicin
Si Modifica- entonces
NO
7a
SI
Guarda
Condicin
Si Guarda - entonces
Condicin
Si Datos Correctos - entonces5
6a
SI
7a
6b
NO
8a
NO
7b
Cancelar
Corrige Datos
NO
SI
Guarda
Condicin
Si Guardar- entonces
Condicin
Si Eliminar- entonces
SI
8b
Datos Eliminados
7b
Cancelar
Corrige Datos
62
Seguimiento
1
Seguimiento
Cancelar
SI
4a
NO
4b
SI
5a
6a
Condicin
Si Consultar - entonces
SI
Guarda
3b
3a
Condicin
Si Datos Correctos - entonces
SI
SI
SI
Condicin
Si Guarda - entonces
Condicin
Si navegar - entonces
2
NO
Modifica - Condicin
Si Modifica- entonces
Podr generar curp
Bsqueda
Condicin
Si Encuentra - entonces
NO
5b
Llene campo
NO
5b
5a
NO
6a
Cancelar
6b
Cancelar
Corrige Datos
63
Acceso
Nombre
Descripcin
contrasena Almacena la contrasea del usuario
usuario
Almacena el nombre del usuario
cant_grupo
Almacena la cantidad de alumnos
permitidos por grupo
Tipo de dato
varchar
varchar
int
Tamao
6
10
10
Descripcin
Almacena el nmero de control del
alumno
Almacena el semestre
Almacena el ciclo escolar
Almacena la calificacin del primer
parcial de la primera materia
Almacena la calificacin del primer
parcial de la segunda materia
Almacena la calificacin del primer
parcial de la tercera materia
Almacena la calificacin del primer
parcial de la cuarta materia
Almacena la calificacin del primer
parcial de la quinta materia
Descripcin
Almacena la calificacin del primer
parcial de la sexta materia
Almacena la calificacin del primer
parcial de la sptima materia
Almacena la calificacin del primer
parcial de la octava materia
Almacena el promedio del primer
parcial
Almacena
la
calificacin
del
segundo parcial de la primera
materia
Almacena
la
calificacin
del
segundo parcial de la segunda
Tipo de dato
varchar
Tamao
10
int
varchar
varchar
1
10
3
varchar
varchar
varchar
varchar
Tipo de dato
varchar
Tamao
3
varchar
varchar
varchar
varchar
varchar
3
64
cal2p_3
cal2p_4
cal2p_5
cal2p_6
cal2p_7
cal2p_8
prom2p
calor_1
calor_2
Nombre
calor_3
calor_4
calor_5
calor_6
calor_7
calor_8
promor
promgral
prom1
prom2
prom3
prom4
prom5
prom6
materia
Almacena
la
calificacin
del
segundo parcial de la tercera
materia
Almacena
la
calificacin
del
segundo parcial de la cuarta materia
Almacena
la
calificacin
del
segundo parcial de la quinta materia
Almacena
la
calificacin
del
segundo parcial de la sexta materia
Almacena
la
calificacin
del
segundo parcial de la sptima
materia
Almacena
la
calificacin
del
segundo parcial de la octava materia
Almacena el promedio del segundo
parcial
Almacena la calificacin ordinaria de
la primera materia
Almacena la calificacin ordinaria de
la segunda materia
Descripcin
Almacena la calificacin ordinaria de
la tercera materia
Almacena la calificacin ordinaria de
la cuarta materia
Almacena la calificacin ordinaria de
la quinta materia
Almacena la calificacin ordinaria de
la sexta materia
Almacena la calificacin ordinaria de
la sptima materia
Almacena la calificacin ordinaria de
la octava materia
Almacena el promedio de las
calificaciones ordinarias
Almacena el promedio general
Almacena el promedio de la primera
materia
Almacena el promedio de la
segunda materia
Almacena el promedio de la tercera
materia
Almacena el promedio de la cuarta
materia
Almacena el promedio de la quinta
materia
Almacena el promedio de la sexta
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
Tipo de dato
varchar
Tamao
3
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
4
4
varchar
varchar
varchar
varchar
varchar
4
65
prom7
prom8
Nombre
ext1
ext2
ext3
ext4
ext5
ext6
ext7
ext8
clave_m1
clave_m2
Nombre
clave_m3
clave_m4
clave_m5
clave_m6
materia
Almacena el promedio de la sptima
materia
Almacena el promedio de la octava
materia
Descripcin
Almacena la primer calificacin final
redondeada y la modalidad (e
extraordinario u es especial)
Almacena la segunda calificacin
final redondeada y la modalidad (e
extraordinario u es especial)
Almacena la tercera calificacin final
redondeada y la modalidad (e
extraordinario u es especial)
Almacena la cuarta calificacin final
redondeada y la modalidad (e
extraordinario u es especial)
Almacena la quinta calificacin final
redondeada y la modalidad (e
extraordinario u es especial)
Almacena la sexta calificacin final
redondeada y la modalidad (e
extraordinario u es especial)
Almacena la sptima calificacin
final redondeada y la modalidad (e
extraordinario u es especial)
Almacena la octava calificacin final
redondeada y la modalidad (e
extraordinario u es especial)
Almacena la clave de la cuarta
materia
del
semestre
correspondiente
Almacena la clave de la cuarta
materia
del
semestre
correspondiente
Descripcin
Almacena la clave de la cuarta
materia
del
semestre
correspondiente
Almacena la clave de la cuarta
materia
del
semestre
correspondiente
Almacena la clave de la quinta
materia
del
semestre
correspondiente
Almacena la clave de la cuarta
materia
del
semestre
correspondiente
varchar
varchar
Tipo de dato
varchar
Tamao
3
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
Tipo de dato
varchar
Tamao
6
varchar
varchar
varchar
66
clave_m7
clave_m8
6
6
El formato de la tabla anterior se utiliza para las siguientes carreras ocupando una
por cada semestre:
CARRERA
LICENCIATURA EN ADMINISTRACION
LICENCIATURA EN COMUNICACIN Y P.
LICENCIATURA EN CONTADURIA
LICENCIATURA EN DERECHO
LICENCIATURA EN EDUCACION
LICENCIATURA EN SISTEMAS
PREPARATORIA
TABLAS
9
8
8
10
8
9
6
Actas
Descripcin
Tipo de
dato
Almacena el nmero de control del varchar
alumno
Almacena el nmero de acta
varchar
Almacena el nombre del tipo de acta varchar
Almacena la calificacin final en varchar
nmero
Almacena la calificacin final en letra varchar
Almacena el porcentaje de asistencia varchar
Almacena si acredito
varchar
Almacena si no acredito
varchar
Tamao
10
10
50
3
15
5
2
2
Nombre
no_control
alumno
parcial1
parcial2
global
final
acreditado
Semestre
Descripcin
Tipo de
dato
Almacena el nmero de control del varchar
alumno
Almacena el nombre del alumno
varchar
Almacena las calificaciones del
varchar
primer parcial
Almacena las calificaciones del
varchar
segundo parcial
Almacena las calificaciones globales varchar
Almacena las calificaciones finales
varchar
Almacena si est acreditado
varchar
Almacena el semestre
varchar
Tamao
10
60
6
6
6
6
5
3
Listas
Descripcin
Tipo de
dato
Almacena el nmero de control del varchar
alumno
Almacena el nmero de asistencia
varchar
Almacena el nombre del alumno
varchar
Tamao
10
10
60
Esta tabla almacena datos relacionados con la salud, direccin, nivel de estudios
entre otros datos que se obtendrn una vez inscrito el alumno en la institucin.
Nombre
no_control
fecha_nac
nombre
ape_p
ape_m
sexo
edad
tel
celular
curp
domicilio
colonia
municipio
datos_alumnos
Descripcin
Tipo de
dato
Almacena el nmero de control del varchar
alumno
Almacena la fecha de nacimiento
varchar
Almacena el nombre del alumno
varchar
Almacena el apellido paterno
varchar
Almacena el apellido materno
varchar
Almacena el sexo del alumno
varchar
Almacena la edad del alumno
int
Almacena el numero de telfono
varchar
Almacena el numero de celular
varchar
Almacena la curp del alumno
varchar
Almacena el domicilio del alumno
varchar
Almacena la colonia del alumno
varchar
Almacena el municipio del alumno
varchar
Tamao
10
20
30
20
20
10
3
20
45
45
45
60
45
68
estado
cod_postal
estado_civil
ult_nivel_ cur
area_estudio
nom_instituto
localidad_
instituto
municipio_
instituto
entidad_
instituto
nivel_ingresa
diagnostico_
problemas_
clinicos
teraputica_
empleado
dosis
varchar
varchar
varchar
varchar
varchar
varchar
varchar
30
10
15
45
25
45
25
varchar
30
varchar
30
varchar
varchar
25
150
60
45
La siguiente tabla almacena los datos para imprimir las boletas de los alumnos.
Nombre
nombre
cal1p
cal2p
calor
final
Boleta
Descripcin
Tipo de
dato
Almacena el nombre del alumno
varchar
Almacena la calificacin del 1er varchar
parcial.
Almacena la calificacin del segundo varchar
parcial.
Almacena la calificacin ordinaria
varchar
Almacena la calificacin final o varchar
promedio
Tamao
55
5
5
5
5
La tabla plan de estudios almacena los datos de los planes de estudios que
actualmente estn activos.
Nombre
Clave
nombre
plan_estudio
Descripcin
Tipo de
dato
Almacena la clave del plan de varchar
estudio.
Almacena nombre del plan de varchar
estudio.
Tamao
20
45
69
Esta tabla almacena los datos correspondientes a las materias que estn dentro
de un plan de estudio.
Nombre
no_materia
clave
nombre
carrera
semestre
creditos
seriacion
optativa
nfasis
plan_estudio
Materias
Descripcin
Tipo de
dato
Almacena el numero de materia
int
Almacena la clave de la materia
varchar
Almacena el nombre de la materia
varchar
Almacena la carrera a la que varchar
pertenece la materia
Almacena el semestre al que varchar
pertenece la materia
Almacena los crditos de la materia
varchar
Almacena la clave de la materia varchar
seriada
Almacena o activa la materia como varchar
optativa
Almacena el nfasis de la materia
varchar
Almacena el plan de estudio de la varchar
materia.
Tamao
10
10
90
60
5
5
10
45
45
45
Esta tabla almacena los datos correspondientes a los docentes que actualmente
trabajan en la universidad.
Nombre
id
nombre
ape_p
ape_m
profesion
f_nacimiento
domicilio
Docentes
Descripcin
Tipo de
dato
Almacena la clave del plan de varchar
estudio.
Almacena nombre del plan de varchar
estudio.
Almacena el apellido paterno del varchar
docente.
Almacena el apellido materno del varchar
docente.
Almacena la profesin del docente.
varchar
Almacena la fecha de nacimiento del varchar
docente.
Almacena el domicilio actual del varchar
docente.
Tamao
10
30
25
25
20
20
80
70
Formulario Acceso
El siguiente formulario es el que se muestra al usuario al iniciar el sistema y valida
el acceso mediante un nombre de usuario y contrasea.
Esta compuesto por:
Tipo
Form
Label
Label
PictureBox
TextBox
TextBox
Button
Button
Nombre
FrmAcceso
Label2
Label3
PictureBox1
txtUsu
txtPass
btnAceptar
btnCancelar
Descripcin
Formulario de Acceso al sistema
Muestra la palabra Usuario:
Muestra la palabra Contrasea:
Muestra el logo de la institucin
Muestra la caja de texto de Usuario
Muestra la caja de texto Contrasea
Muestra el botn Aceptar
Muestra el botn Cancelar
71
Handles
El siguiente bloque de cdigo estar manejado para el control de errores por esta
razn lo incluimos dentro del bloque Try.
Try
Utilizar el adaptador para llenar el dataset con una tabla y cerrar conexin.
oAdapter.Fill(oDataSet, "alumno") :
ModConexion.oConexion.Close()
MsgBox(ex.Message) : Finally
Formulario Principal
El siguiente formulario funcina como formulario principal y se utiliza para accesar
a los demas formularios.
Esta compuesto por:
73
Tipo
Form
ToolStrip
Nombre
FrmPrincipal
ToolStrip1
StatusStrip
StatusStrip1
ToolStripStatus
Label
ToolStripStatus
Label
ToolStripStatus
Label
ToolStripStatus
Label
ToolStripStatus
Label
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripStatus
Label1
tsslHora
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripMenItem
ToolStripStatus
Label2
ToolStripStatus
Label3
ToolStripStatus
Label4
tsmiMenArchivo
tsmiSalir
tsmiMenInscripciones
tsmiInscripciones
tsmiReinscripcin
tsmiListaAsistencia
tsmiDocumentacin
tsmiMen
Calificaciones
tsmiSubMen
Calificaciones
tsmiPreparatoria
tsmiAdministracin
tsmiContadura
tsmiComunicacin
tsmiDerecho
tsmiEducacin
tsmiSistemas
tsmiSubMenActas
Concentrados
tsmiActas
Calificaciones
tsmiCardex
tsmiMen
Seguimiento
tsmiMaterias
tsmiDocentes
tsmiDatosDelAlumno
tsmiMenAjustes
tsmiCambia
Contrasea
tsmiCantidad
AlumGrupo
Descripcin
Formulario principal
Muestra una barra colocada debajo del
men principal
Muestra la barra colocada en la parte de
abajo del formulario
Muestra la etiqueta Hora del Da
Muestra una etiqueta en donde se coloca la
hora
Muestra una etiqueta en donde se menciona
el nombre de la institucin
Muestra una etiqueta en donde se menciona
la pgina web
Muestra una etiqueta en donde se menciona
el nmero de telfono
Muestra el men Archivo
Muestra el submen cerrar
Muestra el men Inscripciones
Muestra el submen Inscripciones
Muestra el submen Reinscripcin
Muestra el submen Lista de Asistencia
Muestra el submen Documentacin
Muestra el men Calificaciones
Muestra el submen Calificaciones
Muestra el submen Preparatoria
Muestra el submen Administracin
Muestra el submen Contadura
Muestra el submen Comunicacin
Muestra el submen Derecho
Muestra el submen Educacin
Muestra el submen Sistemas
Muestra el submen Actas y Concentrados
Muestra el submen Actas de Calificaciones
Muestra el submen Cardex
Muestra el men Seguimiento y Control
Muestra el submen Materias
Muestra el submen Docentes
Muestra el submen Datos del alumno
Muestra el men Ajustes
Muestra el submen CambiaContrasea
Muestra el submen Cantidad de Alumnos x
Grupo
74
Esta parte de cdigo es para preguntar si el usuario realmente desee salir del
sistema.
Private Sub tsmiSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
tsmiSalir.Click
If MessageBox.Show("Realmente desea salir del sistema?", "Sistema de Control Escolar - Unitam",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then : End :
End If : End Sub
Private Sub FrmPrincipal_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Se declara una variable para mostrar la hora en la barra de estado del sistema.
Dim oTiempo As New Timer : oTiempo.Interval = 1000
AddHandler oTiempo.Tick, AddressOf PonerHoraActual : oTiempo.Start() : End Sub
75
76
Formulario Inscripciones
77
Tipo
Nombre
FrmInscripciones
Label6
Button
Label
Button
GroupBox
btnVerMaterias
Label2
btnCancelar
GroupBox2
MaskedTextBox
MaskedTextBox
Label
ComboBox
Label
TextBox
Button
Label
Button
Label
ComboBox
Datagrid
Button
Button
GroupBox
mtxCiclo
mtxNoControl
Label12
cbGrupo
Label1
txtCiclo
btnModicar
Label7
btnCerrar
Label8
cbEspec
dgNoControles
btnNuevo
btnGuardar
GroupBox1
DataTimePicker
dtpFechaNac
Label
Label
Label
TextBox
TextBox
Label
ComboBox
Label
TextBox
Label
TextBox
Label9
Label11
Label10
txtApep
txtApem
Label5
cbSexo
Label4
txtEdad
Label3
txtNombre
Descripcin
Formulario para inscripciones
Muestra el nombre de la Universidad y las
incripciones 1 semestre
Muestra el botn Materias
Muestra la etiqueta No. Control Registrados
Muestra el botn Cancelar
Muestra el grupo de objetos del apartado Datos
Escolares
Muestra el campo NoControl
Muestra la etiqueta Grupo
Muestra el combo Grupo
Muestra la etiqueta No. Control
Muestra la caja de texto Ciclo
Muestra el botn Modificar
Muestra la etiqueta Ciclo Escolar
Muestra el botn Cerrar
Muestra la etiqueta Especialidad
Muestra el combo Especialidad
Muestra el datagrid de No. Control
Muestra el botn Nuevo
Muestra el botn Guardar
Muestra el grupo de objetos del apartado Datos
Personales
Muestra el calendario para la fecha seleccionar la
fecha de nacimiento
Muestra la etiqueta Fecha de Nacimiento
Muestra la etiqueta Apellido Materno
Muestra la etiqueta Apellido Paterno
Muestra la caja de texto Apellido Paterno
Muestra la caja de texto Apellido Materno
Muestra la etiqueta Sexo
Muestra el combo Sexo
Muestra la etiqueta Edad
Muestra la caja de texto Edad
Muestra la etiqueta Nombre(s)
Muestra la caja de texto Nombre
78
Se coloca el siguiente cdigo en el evento load del formulario para validar que los
campos sean dados de alta en maysculas y el campo.
Private Sub FrmInscripciones_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
txtNombre.CharacterCasing = CharacterCasing.Upper
txtApep.CharacterCasing = CharacterCasing.Upper
txtApem.CharacterCasing = CharacterCasing.Upper
cbSexo.SelectedIndex = 0 : cbGrupo.SelectedIndex = 0
dtpFechaNac.Text = Date.Now.ToString("dd/MM/yyyy") : End Sub
Se activan los elementos para que comencemos con el llenado del formulario.
carrera = cbEspec.Text : txtNombre.Enabled = True : txtEdad.Enabled = True
cbSexo.Enabled = True : btnGuardar.Enabled = True
txtApep.Enabled = True : txtApem.Enabled = True
79
Ahora haremos la consulta para ver el nmero consecutivo para el nuevo nmero
de control del alumno a inscribir.
Try : oDataAdapter = New OdbcDataAdapter("Select no_control From alumnos WHERE no_control
LIKE '" & ncImcomp & "%'", ModConexion.oConexion)
oDataTable = New DataTable : oDataAdapter.Fill(oDataTable)
dgNoControles.DataSource = oDataTable
En los siguientes codigos se validan los espacios en blancos para las cajas de
texto, si estas existen el sistema mandara uno de los siguientes mensages.
ElseIf txtNombre.Text = "" Then
MessageBox.Show("Ingrese el nombre del Alumno", "Sistema de Control Escolar - Unitam")
txtNombre.Focus() : ElseIf txtApep.Text = "" Then
MessageBox.Show("Ingrese el Apellido Paterno", "Sistema de Control Escolar - Unitam")
txtApep.Focus() : ElseIf txtApem.Text = "" Then
MessageBox.Show("Ingrese el Apellido Materno", "Sistema de Control Escolar - Unitam")
txtApem.Focus() : ElseIf txtEdad.Text = "" Or txtEdad.Text = 0 Then
MessageBox.Show("Indique una fecha de nacimiento", "Sistema de Control Escolar - Unitam")
dtpFechaNac.Focus()
81
82
iResultados = oComand.ExecuteNonQuery
El siguiente cdigo es una funcin que checa el nmero de materias y obtiene sus
respectivas claves.
Sub InsertaClaves()
Select Case ire
Case 5 : m1 = oDtMateriasCarrera.Rows(0).Item(0) : m2 = oDtMateriasCarrera.Rows(1).Item(0)
m3 = oDtMateriasCarrera.Rows(2).Item(0) : m4 = oDtMateriasCarrera.Rows(3).Item(0)
m5 = oDtMateriasCarrera.Rows(4).Item(0)
campos = ", clave_m1, clave_m2, clave_m3, clave_m4, clave_m5"
claves = ",'" & m1 & "','" & m2 & "','" & m3 & "','" & m4 & "','" & m5 & "'"
Case 6 : m1 = oDtMateriasCarrera.Rows(0).Item(0) : m2 = oDtMateriasCarrera.Rows(1).Item(0)
m3 = oDtMateriasCarrera.Rows(2).Item(0) : m4 = oDtMateriasCarrera.Rows(3).Item(0)
m5 = oDtMateriasCarrera.Rows(4).Item(0) : m6 = oDtMateriasCarrera.Rows(5).Item(0)
campos = ", clave_m1, clave_m2, clave_m3, clave_m4, clave_m5, clave_m6"
claves = ",'" & m1 & "','" & m2 & "','" & m3 & "','" & m4 & "','" & m5 & "','" & m6 & "'"
Case 7 : m1 = oDtMateriasCarrera.Rows(0).Item(0) : m2 = oDtMateriasCarrera.Rows(1).Item(0)
m3 = oDtMateriasCarrera.Rows(2).Item(0) : m4 = oDtMateriasCarrera.Rows(3).Item(0)
m5 = oDtMateriasCarrera.Rows(4).Item(0) : m6 = oDtMateriasCarrera.Rows(5).Item(0)
m7 = oDtMateriasCarrera.Rows(6).Item(0)
campos = ", clave_m1, clave_m2, clave_m3, clave_m4, clave_m5, clave_m6, clave_m7"
claves = ",'" & m1 & "','" & m2 & "','" & m3 & "','" & m4 & "','" & m5 & "','" & m6 & "','" & m7 & "'"
Case 8 : m1 = oDtMateriasCarrera.Rows(0).Item(0) : m2 = oDtMateriasCarrera.Rows(1).Item(0)
83
m3 = oDtMateriasCarrera.Rows(2).Item(0) : m4 = oDtMateriasCarrera.Rows(3).Item(0)
m5 = oDtMateriasCarrera.Rows(4).Item(0) : m6 = oDtMateriasCarrera.Rows(5).Item(0)
m7 = oDtMateriasCarrera.Rows(6).Item(0) : m8 = oDtMateriasCarrera.Rows(7).Item(0)
campos = ", clave_m1, clave_m2, clave_m3, clave_m4, clave_m5, clave_m6, clave_m7, clave_m8"
claves = ",'" & m1 & "','" & m2 & "','" & m3 & "','" & m4 & "','" & m5 & "','" & m6 & "','" & m7 & "','" & m8 & "'" :
End Select : End Sub
Else
84
Se hacen validaciones sobre los combos indicado para que no deje teclear nada
solo seleccionar.
Private Sub cbSexo_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles cbSexo.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : btnGuardar.Focus() : End If
If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If : End Sub
Private Sub cbEspec_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles cbEspec.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If : End Sub
Private Sub cbGrupo_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles cbGrupo.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If : End Sub
Se hacen validaciones sobre las cajas de texto para que no deje espacios y que
no acepte signos ni nmeros.
Private Sub txtNoControl_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs)
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}") : End If
If Len(mtxtNoControl.Text) = 0 Then : If e.KeyChar = " " Then : e.KeyChar = Chr(0) : End If
End If : If e.KeyChar = ChrW(Keys.Space) Then : e.KeyChar = Chr(0) : End If
End Sub
Private Sub mtxtCiclo_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles mtxtCiclo.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If e.KeyChar = ChrW(Keys.Space) Then : e.KeyChar = Chr(0) : End If : End Sub
Private Sub mtxtNoControl_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles mtxtNoControl.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}") : End If
If e.KeyChar = ChrW(Keys.Space) Then : e.KeyChar = Chr(0) : End If : End Sub
85
Nombre
FrmVerMaterias
Label4
Label3
lbCarrera
Label2
Label1
btnCerrar
dgvMaterias
Descripcin
Formulario que muestra materias del primer semestre
Muestra en la etiqueta 1
Muestra en la eiqueta Semestre:
Muestra el valor del campo Carrera
Muestra en la etiqueta Lista Materias
Muestra en la etiqueta Carrera
Muestra el botn Cerrar
Muestra las materias
El siguiente cdigo genera las columnas Clave, Nombre y Creditos dentro del
Datagrid.
Private Sub FrmVerMaterias_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Try :
lbCarrera.Text = carrera : dgvMaterias.DataSource = oDtMateriasCarrera
dgvMaterias.Columns("clave").HeaderText = "Clave" : dgvMaterias.Columns("clave").Width = 50 :
dgvMaterias.Columns("nombre").HeaderText = "Nombre"
86
dgvMaterias.Columns("nombre").Width = 320
dgvMaterias.Columns("creditos").HeaderText = "Creditos"
dgvMaterias.Columns("creditos").Width = 53
dgvMaterias.CurrentCell.Selected = False
Catch exc As Exception : MessageBox.Show(exc.Message) : End Try : End Sub : End Class
Formulario Reinscripcin
El siguiente formulario se utiliza para reinscribir a un alumno.
Est compuesto por:
Tipo
Button
Nombre
FrmReinscripcione
s
BtnCarga
Label
Button
ListBox
Button
Button
GroupBox
Label
Label
Label
Button
Button
ListBox
Label
Button
Label
Label
Button
ListBox
Label10
btnCerrar
Listanollevo
Button3
BtnGuardar
GroupBox1
Label8
Label7
Label6
btnVerMaterias
btnAgregar
listaOptativas
Label9
btnBuscaMateria
Label12
Label13
btnQuitar
listanfasis
ListBox
Label
listaMaterias
Label4
Label
Label3
Label
GroupBox
Label
Button
Label
Label
ComboBox
Label
Label
Label17
GbAlumno
Label19
BtnAceptar
Label18
Label11
cbGrupo
Label12
Label1
MaskedTextBox
Button
MaskedTextBox
ComboBox
Label
Label
Button
Label
ListBox
CCiclo
BtnBuscar
NoControl
Cbsemestre
Label16
Label14
BtnModificar
lbTitulo
listaReprobadas
Form
Descripcin
Formulario de Reinscripciones
Muestra el botn Cargar Materias Reprobadas y No
Cursadas
Muestra la en la etiqueta Materias que No a Cursado
Muestra el botn Cerrar
Muestra las materias que no llevo
Muestra el botn QUITAR
Muestra el botn Reinscribir Alumno
Muestra el grupo Datos de la Materia
Muestra en la etiqueta nfasis
Muestra en la etiqueta Optativas
Muestra en la etiqueta Carga Academica
Muestra el botn Ver Materias
Muestra el botn Agregar
Muestra las materias optativas
Muestra en la etiqueta Nombre
Muestra el botn Buscar Materias
Muestra en la etiqueta Creditos
Muestra en la etiqueta Clave
Muestra el botn Quitar
Muestra la lista de los grupos de materias
consideradas como nfasis
Muestra la lista de materias a cursar
Muestra en la etiqueta Materias Reprobadas en el
semestre anterior
Muestra en la etiqueta Materias Cursadas en el
Semestre Anterior
Muestra en la etiqueta No. de extraordinarios:
Muestra el grupo Datos Alumno
Muestra en la etiqueta Grupo
Muestra el botn Aceptar
Muestra en la etiqueta Semestre
Muestra en la etiqueta No. de Control
Muestra el combo Grupo
Muestra en la etiqueta Nombre (s)
Muestra en la etiqueta Introduzca el Nmero de
Control del Alumno
Muestra la caja de texto Ciclo
Muestra el botn Buscar Materias
Muestra la caja de texto No. de Control
Muestra el combo Semestre
Muestra en la etiqueta Ciclo Escolar
Muestra en la etiqueta Especialidad:
Muestra el botn Buscar Materias
Muestra en la etiqueta Reinscripciones
Muestra la lista de materias reprobadas
87
DataGridView
Label
DGVMaterias
edad
88
Se realiza una busqueda sobre la tabla alumnos para obtener el nombre del
alumno.
BtnBuscar.Text = "Nueva Bsqueda" : NoControl.Enabled = False
Cbsemestre.Enabled = False
oDataAdapter = New OdbcDataAdapter("Select * From alumnos Where no_control='" +
NoControl.Text + "'", ModConexion.oConexion)
Dim ocom As OdbcCommandBuilder = New OdbcCommandBuilder(oDataAdapter)
Me.oDataSet = New DataSet : ModConexion.oConexion.Open()
Me.oDataAdapter.Fill(oDataSet, "alumnos") : ModConexion.oConexion.Close()
If oDataSet.Tables("alumnos").Rows.Count > 0 Then
oDataRow = oDataSet.Tables("alumnos").Rows(0)
Se realiza una consulta sobre la variable tabla para obtener las calificaciones del
semestre anterior.
oDataAdapter1 = New OdbcDataAdapter("Select * From " & tabla & " Where no_control='" +
NoControl.Text + "'", ModConexion.oConexion)
Dim ocom1 As OdbcCommandBuilder = New OdbcCommandBuilder(oDataAdapter1) :
oDataSet = New DataSet ModConexion.oConexion.Open()
Try : Me.oDataAdapter1.Fill(oDataSet, "nose")
Catch ex As Exception : MessageBox.Show(ex.Message)
Exit Sub : End Try : ModConexion.oConexion.Close()
If oDataSet.Tables("nose").Rows.Count > 0 Then
row = oDataSet.Tables("nose").Rows(0)
nombre.Text = oDataRow("nom_alumno")
especialidad.Text = oDataRow("especialidad")
ciclog = row("ciclo_escolar") : vgrupo = row("grupo") : grupo() : con = 0
La siguiente funcin se utiliza para realizar una busqueda y obtener los grupos
existentes del ciclo escolar del alumno.
Sub consultagrupos() : rest = Val(Cbsemestre.Text) 1 : elijetabla()
90
La siguiente funcin realiza una consulta para saber el lmite de alumnos por
grupo.
Sub cangrupos()
Dim xg As Integer = 0 : oDataAdapterCG = New OdbcDataAdapter("Select cant_grupo From acceso",
ModConexion.oConexion)
Dim ocom1 As OdbcCommandBuilder = New OdbcCommandBuilder(oDataAdapterCG)
oDatasetCG = New DataSet : ModConexion.oConexion.Open()
Me.oDataAdapterCG.Fill(oDatasetCG, "cantidad")
ModConexion.oConexion.Close() : If oDatasetCG.Tables("cantidad").Rows.Count > 0 Then
rowCG = oDatasetCG.Tables("cantidad").Rows(0) : End If : End Sub
Private Sub FrmInscripciones_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
If repetida = 0 Then
91
92
93
94
Next : Else
MessageBox.Show("LA MATERIA ES OBLIGATORIA, NO SE PUEDE QUITAR",
"REINSCRIPCION") :
End If : Else
MessageBox.Show("SELECCIONE LA MATERIA QUE DESEE QUITAR DE LA LISTA",
"REINSCRIPCION") : End If : Else
For in3 = 0 To pacontar 1 : Try
listaMaterias.SelectedIndex = in3 : listaMaterias.Items.RemoveAt(listaMaterias.SelectedIndex)
mitabla.Rows(in3).Delete() : pami3 = pami3 1 : f -= 1 : in3 -= 1
btnQuitar.Enabled = False : btnAgregar.Enabled = False
Catch ex As Exception : Exit For : End Try :
Next
ind = 0 : pami3 = 0 : btnQuitar.Enabled = False : listaMaterias.Items.Clear() : cont = cont - 1
End If : Else : If variable = 1 Then
If listaMaterias.SelectedIndex > ind - 1 Then
index = listaMaterias.SelectedIndex : 'If index >= ind Then
listaMaterias.Items.RemoveAt(index) : mitabla.Rows(index).Delete()
cont = 0 : pami3 = pami3 - 1
f -= 1 : 'Else : 'End If
Else : MessageBox.Show("LA MATERIA ES OBLIGATORIA, NO SE PUEDE QUITAR",
"REINSCRIPCION") : End If : Else : gg = ind + f
If listaMaterias.SelectedIndex > gg - 1 And variable = 2 Then
index = listaMaterias.SelectedIndex : 'If index > gg Then
listaMaterias.Items.RemoveAt(index) : mitabla.Rows(index).Delete()
pami3 = pami3 1 : pasaber1 -= 1 : 'End If : End If : End If
End If : listaOptativas.ClearSelected() : Listanollevo.ClearSelected() : End Sub
95
Se utiliza para regresar los valores a los elementos al estado inicial del formulario.
Sub limpia()
BtnCarga.Enabled = False : BtnGuardar.Enabled = False : cbGrupo.Enabled = False
cbGrupo.Text = "" : NoControl.Enabled = True : Cbsemestre.Enabled = True
Cbsemestre.SelectedIndex = 0 : BtnModificar.Enabled = False : BtnModificar.Text = "Modificar"
Label5.Text = "" : BtnBuscar.Text = "Buscar" : Label15.Text = "" : NoControl.Text = ""
nombre.Text = "" : especialidad.Text = "" : edad.Text = "" : CCiclo.Text = ""
listaReprobadas.Items.Clear() : dt.Rows.Clear() : listaMaterias.Items.Clear()
listaOptativas.Items.Clear() : listanfasis.Items.Clear() : CCiclo.Enabled = False
btnBuscaMateria.Enabled = False : dt.Rows.Clear() : nollevo.Rows.Clear()
Listanollevo.Items.Clear() : nollevo.Rows.Clear() : arreglo.Clear() : mitabla.Rows.Clear()
cbGrupo.Items.Clear() : btnAgregar.Enabled = False : btnQuitar.Enabled = False
btnVerMaterias.Enabled = False : NoControl.Focus() : Button3.Enabled = False
Button3.Visible = False : pasaber1 = 0 : pacontar = 0 : f = 0 : ind = 0
BtnAceptar.Enabled = False : End Sub
96
La siguiente funcin se utiliza para leer las claves y calificaciones de las materias
de un semestre anterior al seleccionado.
Sub leeclaves()
Dim letra1, nmero1 As String : Dim caracter1, num1, acumulador1 As Integer
con = 0 : dtc.Rows.Clear() : cm = 0 : dt.Rows.Clear() : For q = 1 To 14
Try : If Not IsDBNull(row("clave_m" & q)) And row("clave_m" & q) <> "" Then
cm += 1 : End If : Catch ex As Exception : Exit For : End Try
Next : k = 0 : r = 0 : j = 0 : h = 0 : nohay = 0
listaReprobadas.Items.Clear()
For b = 1 To cm
For i = 0 To oDataSet1.Tables("nombremat").Rows.Count - 1
oDataRow3 = oDataSet1.Tables("nombremat").Rows(i)
If Not IsDBNull(row("ext" & b)) Or IsDBNull(row("clave_m" & b)) Then
letra1 = "" : acumulador1 = 0 : caracter1 = 1 : letra1 = row("ext" & b)
caracter1 = Len(letra1) : For num1 = 1 To caracter1
nmero1 = Mid(letra1, num1, 1) : If Char.IsNumber(nmero1) Then
acumulador1 = acumulador1 & nmero1 : End If : Next
If oDataRow3("clave") = row("clave_m" & b) Then
dt.Rows.Add() : dt.Rows(k).Item(0) = row("clave_m" & b)
dt.Rows(k).Item(1) = oDataRow3("nombre")
dt.Rows(k).Item(2) = row("ext" & b) : h += 1
If Char.IsLetter(oDataRow3("nfasis")) Then
Label5.Text = oDataRow3("nfasis") : End If : k += 1
If especialidad.Text = "PREPARATORIA" Then
If acumulador1 < 6 Then : con = con + 1 : dtc.Rows.Add()
listaReprobadas.Items.Add(row("clave_m" & b) & Chr(9) & oDataRow3("nombre"))
dtc.Rows(r).Item(0) = row("clave_m" & b) : r += 1 : End If
Else : If acumulador1 < 7 Then 'Validar item del listbox
con = con + 1 : dtc.Rows.Add()
listaReprobadas.Items.Add(row("clave_m" & b) & Chr(9) & oDataRow3("nombre"))
dtc.Rows(r).Item(0) = row("clave_m" & b) : r += 1 : End If
End If : Else : nohay += 1 : End If : End If
Next : Next
If nohay = h Then : limpia() : MessageBox.Show("NO SE PUEDE INSCRIBIR,ESTA INSCRITO EN EL
SEMESTRE ANTERIOR PERO NO HAY PROMEDIOS", "Sistema de Control Escolar") : End If : End Sub
La siguiente funcin se utiliza para saber con que valor se va inicializar un for.
Sub parimpar() : n1 = 0
If Val(Cbsemestre.Text) = 2 Or Val(Cbsemestre.Text) = 4 Or Val(Cbsemestre.Text) = 6 Or
Val(Cbsemestre.Text) = 8 Or Val(Cbsemestre.Text) = 10 Then : n1 = 2
Else : n1 = 1 : End If : End Sub
La siguiente funcin busca materias anteriores que haya reprobado y tenga que
llevar en este semestre.
Sub pabuscarreprobadas() : If Val(Cbsemestre.Text) = 2 Then : Else : k = 0 : vr = 0
Dim l, mi1 As Integer : parimpar() : For l = n1 To Val(Cbsemestre.Text) - 1 Step 2
tabla1 = com & l : oDataAdapter1 = New OdbcDataAdapter("Select * From " & tabla1 & " Where
no_control='" + NoControl.Text + "'", ModConexion.oConexion)
Dim ocom1 As OdbcCommandBuilder = New OdbcCommandBuilder(oDataAdapter1)
oDataSet2 = New DataSet : ModConexion.oConexion.Open()
Me.oDataAdapter1.Fill(oDataSet2, "semsatras") : ModConexion.oConexion.Close()
row2 = oDataSet2.Tables("semsatras").Rows(0)
98
Se verifican las materias que no llevo por motivo de seriacin o por que la
reprob.
For i = 0 To oDataSet1.Tables("nombremat").Rows.Count - 1
oDataRow3 = oDataSet1.Tables("nombremat").Rows(i)
prueba = 0 : kk1 = 0 : p = 0 : For p = 0 To (arreglo.Count - 1)
If oDataRow3("clave") = arreglo(p) Then : prueba += 1 : End If : Next
For k1 = n1 To Val(Cbsemestre.Text) - 1 Step 2 : Try
If prueba = 0 And oDataRow3("semestre") = k1 And Not Char.IsLetter(oDataRow3("nfasis"))
And oDataRow3("optativas") <> "optativa" Then
99
La siguiente funcin se utiliza para actualizar los datos del alumno cuando este va
recursar el semestre.
Sub camposblancos()
Select Case cmm : Case 4 : c1 = oDt.Rows(0).Item(0) : c2 = oDt.Rows(1).Item(0)
c3 = oDt.Rows(2).Item(0) : c4 = oDt.Rows(3).Item(0) : campos =
"cal1p='',cal1p_1='',cal1p_2='',cal1p_3='',cal1p_4='',prom1p=0,cal2p_1='',cal2p_2='',cal2p_3='',cal2p_4='',pro
m2p=0" & _
",calor_1='',calor_2='',calor_3='',calor_4='',promor=0,promgral=0,prom1=0,prom2=0,prom3=0,prom4=0,prom
mat=0,ext1='',ext2='',ext3='',ext4='',clave_m1='" + c1 + "',clave_m2='" + c2 + "',clave_m3='" + c3 +
"',clave_m4='" + c4 + "'"
Case 5 : c1 = oDt.Rows(0).Item(0) : c2 = oDt.Rows(1).Item(0) : c3 = oDt.Rows(2).Item(0)
c4 = oDt.Rows(3).Item(0) : c5 = oDt.Rows(4).Item(0) : campos =
"cal1p_1='',cal1p_2='',cal1p_3='',cal1p_4='',cal1p_5='',prom1p=0,cal2p_1='',cal2p_2='',cal2p_3='',cal2p_4='',c
al2p_5='',prom2p=0,calor_1='',calor_2='',calor_3='',calor_4='',calor_5='',promor=0" & _
",promgral=0,prom1=0,prom2=0,prom3=0,prom4=0,prom5=0,prommat=0,ext1='',ext2='',ext3='',ext4='',ext5='',
clave_m1='" + c1 + "',clave_m2='" + c2 + "',clave_m3='" + c3 + "',clave_m4='" + c4 + "',clave_m5='" + c5 + "'"
Case 6 : c1 = oDt.Rows(0).Item(0) : c2 = oDt.Rows(1).Item(0)
c3 = oDt.Rows(2).Item(0) : c4 = oDt.Rows(3).Item(0) : c5 = oDt.Rows(4).Item(0)
c6 = oDt.Rows(5).Item(0) : campos = "cal1p_1='',cal1p_2='',cal1p_3='',cal1p_4
='',cal1p_5='',cal1p_6='',prom1p=0,cal2p_1='',cal2p_2='',cal2p_3='',cal2p_4='',cal2p_5='',cal2p_6='',prom2p=0
,calor_1='',calor_2='',calor_3=''" & _ : ",calor_3='',calor_4='',calor_5
='',calor_6='',promor=0,calor_4='',calor_5='',calor_6='',promor=0,promgral=0,prom1=0,prom2=0,prom3=0,pro
m4=0,prom5=0,prom6=0,prommat=0,ext1='',ext2='',ext3='',ext4='',ext5='',ext6='',clave_m1='" + c1 +
"',clave_m2='" + c2 + "',clave_m3='" + c3 + "',clave_m4='" + c4 + "',clave_m5='" + c5 + "',clave_m6='" + c6 +
"'"
Case 7 : c1 = oDt.Rows(0).Item(0) : c2 = oDt.Rows(1).Item(0) : c3 = oDt.Rows(2).Item(0)
c4 = oDt.Rows(3).Item(0) : c5 = oDt.Rows(4).Item(0) : c6 = oDt.Rows(5).Item(0)
c7 = oDt.Rows(6).Item(0) : campos = "cal1p_1='',cal1p_2='',cal1p_3='',cal1p_4
='',cal1p_5='',cal1p_6='',cal1p_7='',prom1p=0,cal2p_1='',cal2p_2='',cal2p_3='',cal2p_4='',cal2p_5='',cal2p_6=''
,cal2p_7='',prom2p=0,calor_1='',calor_2=''" & _ : ",promgral=0,prom1=0,prom2=
0,prom3=0,prom4=0,prom5=0,prom6=0,prom7=0,prommat=0,ext1='',ext2='',ext3='',ext4='',ext5='',ext6='',ext7
='',clave_m1='" + c1 + "',clave_m2='" + c2 + "',clave_m3='" + c3 + "',clave_m4='" + c4 + "',clave_m5='" + c5 +
"',clave_m6='" + c6 + "',clave_m7='" + c7 + "'"
Case 8 : c1 = oDt.Rows(0).Item(0) : c2 = oDt.Rows(1).Item(0) : c3 = oDt.Rows(2).Item(0)
c4 = oDt.Rows(3).Item(0) : c5 = oDt.Rows(4).Item(0) : c6 = oDt.Rows(5).Item(0)
c7 = oDt.Rows(6).Item(0) : c8 = oDt.Rows(7).Item(0) : campos =
"cal1p_1='',cal1p_2='',cal1p_3='',cal1p_4='',cal1p_5='',cal1p_6='',cal1p_7='',cal1p_8='',prom1p=0,cal2p_1='',c
al2p_2='',cal2p_3='',cal2p_4='',cal2p_5='',cal2p_6='',cal2p_7='',cal2p_8='',prom2p=0,calor_1='',calor_2='',calo
r_3='',calor_4=''" & _
",calor_5='',calor_6='',calor_7='',calor_8='',promor=0,promgral=0,prom1=0,prom2=0,prom3=0,prom4=0,prom5
=0,prom6=0,prom7=0,prom8=0,prommat=0,ext1='',ext2='',ext3='',ext4='',ext5='',ext6='',ext7='',ext8='',clave_m
1='" + c1 + "',clave_m2='" + c2 + "',clave_m3='" + c3 + "',clave_m4='" + c4 + "',clave_m5='" + c5 +
"',clave_m6='" + c6 + "',clave_m7='" + c7 + "',clave_m8='" + c8 + "'"
End Select : End Sub
100
101
Nombre
FrmListasdeAsistencia
s
gboxDatosDoc
Label1
Descripcin
Muestra el Formulario de Listas de Asistencia
cbControlEscolar
Label8
cbTurno
Label9
cbGrupo
Label10
cbCatedrticos
dgvListaAsistencia
Nmero
Nocontrol
Nombre
btnCerrar
btnCancelar
btnVisorReporte
btnFiltro
Lbtitulo
gboxMateria
cbClavesMat
Label5
txtMateria
Label7
gboxCarrera
cbCarrera
Label2
Label4
cbSemestre
Label6
cbCicloEscolar
102
Funcin que se utiliza para obtener los ciclos escolares para que nada mas
aparescan una vez los que esten repetidos.
Private Sub FiltraDatos() : cbCicloEscolar.Items.Clear() : Especialidad()
oDaCiclos = New OdbcDataAdapter("Select * from " & tabla & cbSemestre.Text & " ",
ModConexion.oConexion) : oDsCiclos = New DataSet : Try
oDaCiclos.Fill(oDsCiclos, "ciclos") : Catch ex As Exception :MessageBox.Show(ex.Message)
Exit Sub : End Try
If oDsCiclos.Tables("ciclos").Rows.Count > 0 Then
For i = 0 To oDsCiclos.Tables("ciclos").Rows.Count 1 : x = 0
oDrCiclos = oDsCiclos.Tables("ciclos").Rows(i) : If i = 0 Then
cbCicloEscolar.Items.Add(oDrCiclos("ciclo_escolar"))
cbCicloEscolar.Text = oDrCiclos("ciclo_escolar") : Else
For c = 0 To cbCicloEscolar.Items.Count - 1
If cbCicloEscolar.Items(c).ToString = oDrCiclos("ciclo_escolar") Then : x += 1
End If : Next : If x = 0 Then
cbCicloEscolar.Items.Add(oDrCiclos("ciclo_escolar")) : End If
End If : Next : End If : ax = 1 : End Sub
103
104
Se hacen validaciones sobre el combo indicado para que no deje meter espacios
ni caracteres solo que permita seleccionar.
Private Sub cbTurno_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles cbTurno.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If : End Sub
Ahora se realiza una consulta para obtener el nombre del alumno de la tabla
alumnos.
oDaAlumno = New OdbcDataAdapter("Select nom_alumno from alumnos where no_control= '" +
oDrActas("no_control") + "'", ModConexion.oConexion)
oDsAlumno = New DataSet : oDaAlumno.Fill(oDsAlumno, "alumno")
If oDsAlumno.Tables("alumno").Rows.Count > 0 Then
dgvListaAsistencia.Rows.Add()
oDrAlumno = oDsAlumno.Tables("alumno").Rows(0)
dgvListaAsistencia.Item(0, cont).Value = y + 1
dgvListaAsistencia.Item(1, cont).Value = oDrActas("no_control")
dgvListaAsistencia.Item(2, cont).Value = oDrAlumno("nom_alumno")
105
cont += 1 : Else
MessageBox.Show("No se encontraron datos del No. de Control - " & oDrActas("no_control"),
"Sistema de Control Escolar") : btnVisorReporte.Enabled = False
End If : Next : oDsAlumno.Tables("alumno").Rows.Clear() : Else
dgvListaAsistencia.Rows.Clear() : End If : End If : End Sub
106
pvValoresParametros.Add(parNomMat)
oRptPrueba.DataDefinition.ParameterFields("asignatura").ApplyCurrentValues(pvValoresParametro) :
pvValoresParametros.Add(parTurno) : oRptPrueba.DataDefinition.ParameterFields ("turno")
.ApplyCurrentValues(pvValoresParametros) : pvValoresParametros.Add(parGrupo)
oRptPrueba.DataDefinition.ParameterFields("grupo").ApplyCurrentValues(pvValoresParametros) :
pvValoresParametros.Add(parCated) : oRptPrueba.DataDefinition.ParameterFields
("Catedrtico").ApplyCurrentValues(pvValoresParametros) : pvValoresParametros.Add( parConEs) :
oRptPrueba.DataDefinition.ParameterFields("controlescolar").ApplyCurrentValues (pvValoresParametros)
Funcin que se utiliza para igualar los nmeros del semestre seleccionado a
nmeros romanos.
Private Sub LetrasSemestre() : If cbSemestre.Text = "1" Then : semletras = "I"
ElseIf cbSemestre.Text = "2" Then : semletras = "II"
ElseIf cbSemestre.Text = "3" Then : semletras = "III"
ElseIf cbSemestre.Text = "4" Then : semletras = "IV"
ElseIf cbSemestre.Text = "5" Then : semletras = "V"
ElseIf cbSemestre.Text = "6" Then : semletras = "VI"
ElseIf cbSemestre.Text = "7" Then : semletras = "VII"
ElseIf cbSemestre.Text = "8" Then : semletras = "VIII"
ElseIf cbSemestre.Text = "9" Then : semletras = "IX"
ElseIf cbSemestre.Text = "10" Then : semletras = "X"
ElseIf cbSemestre.Text = "11" Then : semletras = "XI"
ElseIf cbSemestre.Text = "12" Then : semletras = "XII" : End If : End Sub
Funcin que se utiliza para igualar los nmeros insertados como mes a su
correspondiente mes pero mostrado en letras.
Sub LetrasCicloEscolar()
Dim mes1, mes2, ao1, ao2 As String : If vb.Left(cbCicloEscolar.Text, 2) = "07" Then
mes1 = "JULIO" : ElseIf vb.Left(cbCicloEscolar.Text, 2) = "08" Then
mes1 = "AGOSTO" : ElseIf vb.Left(cbCicloEscolar.Text, 2) = "09" Then
mes1 = "SEPTIEMBRE" : ElseIf vb.Left(cbCicloEscolar.Text, 2) = "01" Then
mes1 = "ENERO" : ElseIf vb.Left(cbCicloEscolar.Text, 2) = "02" Then
mes1 = "FEBRERO" : End If : If Mid(cbCicloEscolar.Text, 8, 2) = "01" Then
mes2 = "ENERO" : ElseIf Mid(cbCicloEscolar.Text, 8, 2) = "12" Then
mes2 = "DICIEMBRE" : ElseIf Mid(cbCicloEscolar.Text, 8, 2) = "06" Then
mes2 = "JUNIO" : ElseIf Mid(cbCicloEscolar.Text, 8, 2) = "07" Then
mes2 = "JULIO" : End If : ao1 = Mid(cbCicloEscolar.Text, 3, 4)
ao2 = vb.Right(cbCicloEscolar.Text, 4) : If ao1 = ao2 Then
letrasCiclo = mes1 & " - " & mes2 & " " & ao2 : Else
letrasCiclo = mes1 & " " & ao1 & " - " & mes2 & " " & ao2 : End If
End Sub : End Clas
107
Formulario Documentacin
Este es el formulario que se muestra para llevar el control de la documentacin
que entrega el alumno al inscribirse.
Esta compuesto por:
Tipo
Form
Button
GroupBox
Nombre
FrmDocumentacin
btnCancelar
GroupBox3
Label
Button
Button
Button
Button
Label
GroupBox
lbNumRegistro
btnAnterior
btnSiguiente
btnPrimero
btnUltimo
lbTitulo
GroupBox2
Label
Label
MaskedTextBo
x
Label
Label
Label2
Label3
mtxtNoControl
Label
lbEspecialidad
Label
Label
Label1
lbEdad
Button
Button
Button
Button
GroupBox
btnBuscar
btnModifcar
btnCerrar
btnGuardar
GroupBox1
CheckBox
CheckBox
CheckBox
chbComprobanteDo
m
chbCurp
chbConducta
CheckBox
CheckBox
chbFotos
chbConstancia
CheckBox
chbCertificadoBach
CheckBox
chbCertificadoSec
CheckBox
chbActa
Label5
lbNombre
Descripcin
Formulario de Documentacin
Muestra el botn Cancelar
Muestra en el grupo de objetos del apartado
Controles
Muestra la etiqueta numRegistro
Muestra el botn Anterior
Muestra el botn Siguiente
Muestra el botn Primero
Muestra el botn Ultimo
Muestra la etiqueta con el nombre de la institucin
Muestra el grupo de objetos del apartado Datos del
Alumno
Muestra la etiqueta Nombre(s)
Muestra la etiqueta Especialidad
Muestra el No. de Control
Muestra la etiqueta Edad
Muestra la etiqueta donde se va a mostrar el nombre
del alumno
Muestra la etiqueta donde se va a mostrar la
especilidad del alumno
Muestra la etiqueta No. de Control
Muestra la etiqueta donde se va a mostrar la edad del
alumno
Muestra el botn Buscar
Muestra el botn Modificar
Muestra el botn Cerrar
Muestra el botn Guardar
Muestra el grupo de objetos del apartado
Documentacin
Muestra la casilla de verificacin del Comprobante de
Domicilio
Muestra la casilla de verificacin de la Curp
Muestra la casilla de verificacin de la carta de buena
conducta
Muestra la casilla de verificacin de las fotos
Muestra la casilla de verificacin de la cosntancia de
estudios
Muestra la casilla de verificacin del certificado de
bachillerato
Muestra la casilla de verificacin del cetificado de
secundaria
Muestra la casilla de verificacin del acta de
nacimiento
108
109
110
End Sub
112
113
Tipo
Nombre
FrmFiltroDocs
TextBox
CheckBox
Label1
Button
Button
GroupBox
ComboBox
Label
Label
ComboBox
txtObservacon
cbxObservacon
Label1
btnImprimir
btnSalir
GroupBox
cbCarrera
lbCarrera
lbTipoFiltro
cbFiltro
Descripcin
Muestra el Formulario de los Documentos
Entregados
Muestra el area de texto para observaciones
Muestra el cuadro de verificacin de observaciones
Muestra el nombre del formulario
Muestra el botn Imprimir
Muestra el botn Salir
Muestra el grupo Datos del Filtrado
Muestra el combo carrera
Muestra en la etiqueta Carrera
Muestra enla etiqueta Tipo de Busqueda
Muestra el combo del tipo de buqueda
114
Realiza validaciones sobre el combo cbFiltro para indicar el valor del indice 0 y
modificar sus propiedades.
Private Sub cbFiltro_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cbFiltro.SelectedIndexChanged
If cbFiltro.SelectedIndex = 0 Then : cbCarrera.Enabled = False
cbCarrera.Text = "Elija una carrera o especialidad" : Else : cbCarrera.Enabled = True
End If : End Sub
115
Formulario Calificaciones
(Preparatoria)
El siguiente formulario es el que se muestra para dar de alta las calificaciones en
el rea de Preparatoria.
Esta compuesto por:
Tipo
Form
Label
Label
Button
Button
Button
Button
Button
Button
Button
Button
Button
GroupBox
Label
Label
GroupBox
Label
Button
Button
Button
Button
DataGridView
Nombre
FrmCal_
Preparatoria
lbUnitam
lbTitulo
btnExportar
btnImprimir
btnEliminar
btnConsultas
btnCerrar
btnCancelar
btnModificar
btnGuardar
btnAgregar
gboxPromedio
lbPromedioGral
lbPromedio
gboxControles
lbReg
btnSiguiente
btnUltimo
btnPrimero
btnAnterior
dgvCalPrepa
Descripcin
Formulario para Calificaciones en Preparatoria
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
GroupBox
Materia
P1
P2
Ordinario
Final
Ext
gboxControl
ComboBox
ComboBox
Label
Label
ComboBox
Label
Label
GroupBox
cbGrupo
cbSemestre
lbSem
Label12
cbCicloEscolar
lbCiclo
lbCarrera
gboxDaos
116
GroupBox
Label
MaskedTextBox
Label
Label
Label
Label
GroupBox1
lbNControl
mNoControl
lbEdad
lbNombre
lbTEdad
lbNom
117
Dim sumac, total, promg, sum1, sum2, pro1, pro2, promf As Double
Se igualan las variables a cero para checar las selecciones de algunos combos.
wa = 0 : cons = 0
mDtMaterias.Columns.Add(cNom)
Consulta para sacar todos los alumnos en esa carrera, semestre, ciclo escolar y
en ese grupo y los carga a un dataset.
Sub FiltroCalificaciones()
oDaCalifica = New OdbcDataAdapter("Select * from preparatoria" & cbSemestre.Text & " where
ciclo_escolar='" & cbCicloEscolar.Text & "' and grupo='" & cbGrupo.Text & "'", ModConexion.oConexion) :
oDsCalifica = New DataSet
Try : oDaCalifica.Fill(oDsCalifica, "califica") :
Catch ex As Exception
MessageBox.Show(ex.Message) : Exit Sub : End Try
118
Realiza una consulta para obtener informacin del alumno de la tabla alumnos .
Sub CargarDatosAlumno() : oDrCalifica = oDsCalifica.Tables("califica").Rows(pos)
noControl = oDrCalifica("no_control")
oDaAlumno = New OdbcDataAdapter("Select * from alumnos where no_control= '" + noControl + "'",
ModConexion.oConexion)
oDsAlumno = New DataSet : oDaAlumno.Fill(oDsAlumno, "alumno")
If oDsAlumno.Tables("alumno").Rows.Count > 0 Then
oDrAlumno = oDsAlumno.Tables("alumno").Rows(0) : mNoControl.Text = noControl
lbNombre.Text = oDrAlumno("nom_alumno") : lbEdad.Text = oDrAlumno("edad")
lbReg.Text = "Registro: " & pos + 1 & " de " & oDsCalifica.Tables("califica").Rows.Count
NmeroMaterias() : If dgvCalPreparatoria.Rows.Count > 0 Then
dgvCalPreparatoria.CurrentCell.Selected = False : End If :
Else MessageBox.Show("No se
encontraron datos de este nmero de control: " & noControl, "Sistema de Control Escolar") : End If
End Sub
Obtiene el nmero de de materias que lleva el alumno y sus claves para agregar
de acuerdo al nmero de materias que se llevan en ese semestre.
Sub NmeroMaterias() : Dim q As Integer : noMat = 0 : For q = 1 To 12
Try : If Not IsDBNull(oDrCalifica("clave_m" & q)) And oDrCalifica("clave_m" & q) <> "" Then
Variable que incrementa para saber el nmero de materias que cursa el alumno.
noMat += 1 :
End If :
Catch ex As Exception :
Exit For :
s=0
Se recorre otro for desde cero hasta el la ultima fila del oDataset3 menos uno.
For q = 0 To oDsMaterias.Tables("materias").Rows.Count 1
oDrMat = oDsMaterias.Tables("materias").Rows(q)
Se compara que las claves sean igual al de las materias con el de las claves de
las calificaciones.
If oDrMat("clave") = oDrCalifica("clave_m" & b) Then
Aqu guardamos las claves y los nombres de las materias que cursa el alumno en
este semestre.
mDtMaterias.Rows.Add() : mDtMaterias.Rows(s).Item(0) = UCase(oDrMat("nombre"))
mDtMaterias.Rows(s).Item(1) = oDrMat("clave") : s += 1 : End If : Next : Next
CargaCalificaciones() : End Sub : Sub CargaCalificaciones() : posi = 0
119
For i = 0 To noMat 1
Sino entonces las hacemos visibles y mostramos el promedio gral del alumno.
lbPromedio.Visible = True : lbPromedioGral.Visible = True
lbPromedioGral.Text = oDrCalifica("promgral") : End If : Next
RecorreGridView() : If asp <> 0 Then
btnAgregar.Enabled = True : btnImprimir.Enabled = False : btnExportar.Enabled = False
Else
btnAgregar.Enabled = False : btnImprimir.Enabled = True : btnExportar.Enabled = True
End If : End Sub : Sub RecorreGridView() :
asp = 0
For i = 0 To dgvCalPreparatoria.Rows.Count - 3
asp = c
asp = c :
End If :
Next i
Checamos si asp es diferente de 0 entonces salimos del For y nos quedamos con
el valor del la columna.
If asp <> 0 Then :
Exit For :
End If :
Se realizan validaciones sobre el combo cbGrupo para que no deje escribir sobre
el combo.
Private Sub cbGrupo_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles cbGrupo.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If : End Sub
122
Declaramos una variable que obtiene el valor o dato que actualmente se ingresa o
edita.
Dim validar As TextBox = CType(e.Control, TextBox)
AddHandler validar.KeyPress, AddressOf validar_Keypress
End Sub
Esta es una funcin para hacer la suma de las calificaciones de algun parcial y
obtener su promedio.
Private Function promParcial(ByVal nColumna As String, ByVal Dgv As DataGridView) As Double
Try :
sumac = 0 : total = 0
MsgBox(ex.Message.ToString)
123
End If
Este es otra funcin que nos sirve para seleccionar de acuerdo al caso el nmero
de materias que se muestran para igualar sus calificaciones a unas variables y
crear una instruccion para guardarlos a la Bd's.
Sub instSQL() : Select Case noMat : Case 4
c1 = dgvCalPreparatoria.Rows(0).Cells(colMo).Value() : c2 =
dgvCalPreparatoria.Rows(1).Cells(colMo).Value()
c3 = dgvCalPreparatoria.Rows(2).Cells(colMo).Value() : c4 =
dgvCalPreparatoria.Rows(3).Cells(colMo).Value()
proPar = Format(promParcial(colMo, dgvCalPreparatoria), "f").ToString
cadenaSQl = "cal" & pp & "_1='" & c1 & "', cal" & pp & "_2='" & c2 & "', cal" & pp & "_3='" & c3 & "',
cal" & pp & "_4='" & c4 & "', prom" & pp & "='" & proPar & "'"
Case 5 : c1 = dgvCalPreparatoria.Rows(0).Cells(colMo).Value() : c2 =
dgvCalPreparatoria.Rows(1).Cells(colMo).Value()
c3 = dgvCalPreparatoria.Rows(2).Cells(colMo).Value() : c4 =
dgvCalPreparatoria.Rows(3).Cells(colMo).Value()
c5 = dgvCalPreparatoria.Rows(4).Cells(colMo).Value()
proPar = Format(promParcial(colMo, dgvCalPreparatoria), "f").ToString
cadenaSQl = "cal" & pp & "_1='" & c1 & "', cal" & pp & "_2='" & c2 & "', cal" & pp & "_3='" & c3 & "',
cal" & pp & "_4='" & c4 & "', cal" & pp & "_5='" & c5 & "', prom" & pp & "='" & proPar & "'"
Case 6 : c1 = dgvCalPreparatoria.Rows(0).Cells(colMo).Value() : c2 =
dgvCalPreparatoria.Rows(1).Cells(colMo).Value()
c3 = dgvCalPreparatoria.Rows(2).Cells(colMo).Value() : c4 =
dgvCalPreparatoria.Rows(3).Cells(colMo).Value()
c5 = dgvCalPreparatoria.Rows(4).Cells(colMo).Value() : c6 =
dgvCalPreparatoria.Rows(5).Cells(colMo).Value()
proPar = Format(promParcial(colMo, dgvCalPreparatoria), "f").ToString
cadenaSQl = "cal" & pp & "_1='" & c1 & "', cal" & pp & "_2='" & c2 & "', cal" & pp & "_3='" & c3 & "',
cal" & pp & "_4='" & c4 & "', cal" & pp & "_5='" & c5 & "', cal" & pp & "_6='" & c6 & "', prom" & pp & "='" &
proPar & "'"
124
Case 7 : c1 = dgvCalPreparatoria.Rows(0).Cells(colMo).Value() : c2 =
dgvCalPreparatoria.Rows(1).Cells(colMo).Value()
c3 = dgvCalPreparatoria.Rows(2).Cells(colMo).Value() : c4 =
dgvCalPreparatoria.Rows(3).Cells(colMo).Value()
c5 = dgvCalPreparatoria.Rows(4).Cells(colMo).Value() : c6 =
dgvCalPreparatoria.Rows(5).Cells(colMo).Value()
c7 = dgvCalPreparatoria.Rows(6).Cells(colMo).Value()
proPar = Format(promParcial(colMo, dgvCalPreparatoria), "f").ToString
cadenaSQl = "cal" & pp & "_1='" & c1 & "', cal" & pp & "_2='" & c2 & "', cal" & pp & "_3='" & c3 & "',
cal" & pp & "_4='" & c4 & "', cal" & pp & "_5='" & c5 & "', cal" & pp & "_6='" & c6 & "', cal" & pp & "_7='" & c7 &
"', prom" & pp & "='" & proPar & "'"
Case 8 :
c1 = dgvCalPreparatoria.Rows(0).Cells(colMo).Value() : c2 =
dgvCalPreparatoria.Rows(1).Cells(colMo).Value()
c3 = dgvCalPreparatoria.Rows(2).Cells(colMo).Value() : c4 =
dgvCalPreparatoria.Rows(3).Cells(colMo).Value()
c5 = dgvCalPreparatoria.Rows(4).Cells(colMo).Value() : c6 =
dgvCalPreparatoria.Rows(5).Cells(colMo).Value()
c7 = dgvCalPreparatoria.Rows(6).Cells(colMo).Value() : c8 =
dgvCalPreparatoria.Rows(7).Cells(colMo).Value()
proPar = Format(promParcial(colMo, dgvCalPreparatoria), "f").ToString
cadenaSQl = "cal" & pp & "_1='" & c1 & "', cal" & pp & "_2='" & c2 & "', cal" & pp & "_3='" & c3 & "',
cal" & pp & "_4='" & c4 & "', cal" & pp & "_5='" & c5 & "', cal" & pp & "_6='" & c6 & "', cal" & pp & "_7='" & c7 &
"', cal" & pp & "_8='" & c8 & "', prom" & pp & "='" & proPar & "'"
End Select : End Sub
Este es una funcin que nos sirve para seleccionar de acuerdo al caso el nmero
da materias que se muestran para igualar los promedios a unas variables y crear
una instruccion para guardarlos a la Bd's.
Sub cadSql() : Select Case noMat : Case 4
pr1 = dgvCalPreparatoria.Rows(0).Cells(5).Value() : pr2 = dgvCalPreparatoria.Rows(1).Cells(5).Value()
pr3 = dgvCalPreparatoria.Rows(2).Cells(5).Value() : pr4 = dgvCalPreparatoria.Rows(3).Cells(5).Value()
adPromExtras = "ext1='" & pr1 & "', ext2='" & pr2 & "', ext3='" & pr3 & "', ext4='" & pr4 & "'"
c1 = dgvCalPreparatoria.Rows(0).Cells(4).Value() : c2 = dgvCalPreparatoria.Rows(1).Cells(4).Value()
c3 = dgvCalPreparatoria.Rows(2).Cells(4).Value() : c4 = dgvCalPreparatoria.Rows(3).Cells(4).Value()
instruccionSql = "prom1=" & c1 & " ,prom2=" & c2 & " ,prom3=" & c3 & " ,prom4=" & c4
Case 5 : pr1 = dgvCalPreparatoria.Rows(0).Cells(5).Value() : pr2 =
dgvCalPreparatoria.Rows(1).Cells(5).Value()
pr3 = dgvCalPreparatoria.Rows(2).Cells(5).Value() : pr4 = dgvCalPreparatoria.Rows(3).Cells(5).Value()
pr5 = dgvCalPreparatoria.Rows(4).Cells(5).Value()
cadPromExtras = "ext1='" & pr1 & "', ext2='" & pr2 & "', ext3='" & pr3 & "', ext4='" & pr4 & "', ext5='" & pr5 & "'"
c1 = dgvCalPreparatoria.Rows(0).Cells(4).Value() : c2 = dgvCalPreparatoria.Rows(1).Cells(4).Value()
c3 = dgvCalPreparatoria.Rows(2).Cells(4).Value() : c4 = dgvCalPreparatoria.Rows(3).Cells(4).Value()
c5 = dgvCalPreparatoria.Rows(4).Cells(4).Value()
instruccionSql = "prom1=" & c1 & " ,prom2=" & c2 & " ,prom3=" & c3 & " ,prom4=" & c4 & " , prom5=" & c5
Case 6 : pr1 = dgvCalPreparatoria.Rows(0).Cells(5).Value() : pr2 =
dgvCalPreparatoria.Rows(1).Cells(5).Value()
pr3 = dgvCalPreparatoria.Rows(2).Cells(5).Value() : pr4 = dgvCalPreparatoria.Rows(3).Cells(5).Value()
pr5 = dgvCalPreparatoria.Rows(4).Cells(5).Value() : pr6 = dgvCalPreparatoria.Rows(5).Cells(5).Value()
cadPromExtras = "ext1='" & pr1 & "', ext2='" & pr2 & "', ext3='" & pr3 & "', ext4='" & pr4 & "', ext5='" & pr5 & "',
ext6='" & pr6 & "'"
c1 = dgvCalPreparatoria.Rows(0).Cells(4).Value() : c2 = dgvCalPreparatoria.Rows(1).Cells(4).Value()
c3 = dgvCalPreparatoria.Rows(2).Cells(4).Value() : c4 = dgvCalPreparatoria.Rows(3).Cells(4).Value()
c5 = dgvCalPreparatoria.Rows(4).Cells(4).Value() : c6 = dgvCalPreparatoria.Rows(5).Cells(4).Value()
instruccionSql = "prom1=" & c1 & " ,prom2=" & c2 & " ,prom3=" & c3 & " ,prom4=" & c4 & " , prom5=" & c5 &
", prom6=" & c6
Case 7 : pr1 = dgvCalPreparatoria.Rows(0).Cells(5).Value() : pr2 =
dgvCalPreparatoria.Rows(1).Cells(5).Value()
pr3 = dgvCalPreparatoria.Rows(2).Cells(5).Value() : pr4 = dgvCalPreparatoria.Rows(3).Cells(5).Value()
pr5 = dgvCalPreparatoria.Rows(4).Cells(5).Value() : pr6 = dgvCalPreparatoria.Rows(5).Cells(5).Value()
pr7 = dgvCalPreparatoria.Rows(6).Cells(5).Value()
cadPromExtras = "ext1='" & pr1 & "', ext2='" & pr2 & "', ext3='" & pr3 & "', ext4='" & pr4 & "', ext5='" & pr5 & "',
ext6='" & pr6 & "', ext7='" & pr7 & "'"
c1 = dgvCalPreparatoria.Rows(0).Cells(4).Value() : c2 = dgvCalPreparatoria.Rows(1).Cells(4).Value()
c3 = dgvCalPreparatoria.Rows(2).Cells(4).Value() : c4 = dgvCalPreparatoria.Rows(3).Cells(4).Value()
c5 = dgvCalPreparatoria.Rows(4).Cells(4).Value() : c6 = dgvCalPreparatoria.Rows(5).Cells(4).Value()
c7 = dgvCalPreparatoria.Rows(6).Cells(4).Value()
125
instruccionSql = "prom1=" & c1 & " ,prom2=" & c2 & " ,prom3=" & c3 & " ,prom4=" & c4 & " , prom5=" & c5 &
", prom6=" & c6 & ", prom7=" & c7
Case 8 : pr1 = dgvCalPreparatoria.Rows(0).Cells(5).Value() : pr2 =
dgvCalPreparatoria.Rows(1).Cells(5).Value()
pr3 = dgvCalPreparatoria.Rows(2).Cells(5).Value() : pr4 = dgvCalPreparatoria.Rows(3).Cells(5).Value()
pr5 = dgvCalPreparatoria.Rows(4).Cells(5).Value() : pr6 = dgvCalPreparatoria.Rows(5).Cells(5).Value()
pr7 = dgvCalPreparatoria.Rows(6).Cells(5).Value() : pr8 = dgvCalPreparatoria.Rows(7).Cells(5).Value()
cadPromExtras = "ext1='" & pr1 & "', ext2='" & pr2 & "', ext3='" & pr3 & "', ext4='" & pr4 & "', ext5='" & pr5 &
"', ext6='" & pr6 & "', ext7='" & pr7 & "', ext8='" & pr8 & "'"
c1 = dgvCalPreparatoria.Rows(0).Cells(4).Value() : c2 = dgvCalPreparatoria.Rows(1).Cells(4).Value()
c3 = dgvCalPreparatoria.Rows(2).Cells(4).Value() : c4 = dgvCalPreparatoria.Rows(3).Cells(4).Value()
c5 = dgvCalPreparatoria.Rows(4).Cells(4).Value() : c6 = dgvCalPreparatoria.Rows(5).Cells(4).Value()
c7 = dgvCalPreparatoria.Rows(6).Cells(4).Value() : c8 = dgvCalPreparatoria.Rows(7).Cells(4).Value()
instruccionSql = "prom1=" & c1 & " ,prom2=" & c2 & " ,prom3=" & c3 & " ,prom4=" & c4 & " , prom5=" & c5 &
", prom6=" & c6 & ", prom7=" & c7 & ", prom8=" & c8
End Select : End Sub
Funcin que sirve para obtener alguna materia que se esta recursando y
cambiarle sus calificaciones.
Sub bClavesAtras() : Dim rt, sa, pc As Integer
Dim cadClave, actCalif, c1p, c2p, cor, cpp, cxt As String
If cbSemestre.Text >= 3 Then : sa = cbSemestre.Text - 2
Hacemos una consulta y sacamos todos los datos algun semestre pasado para
checar sus materias.
ModConexion.oConexion.Open()
AdapterMa = New OdbcDataAdapter("Select * From preparatoria" & sa & " where no_control='" &
mNoControl.Text & "'", ModConexion.oConexion)
oDsMa = New DataSet : AdapterMa.Fill(oDsMa, "calificaciones")
ModConexion.oConexion.Close() : rowMa = oDsMa.Tables("calificaciones").Rows(rt) : pc = 0
Se recorre desde 1 hasta que se produzca algun error, aunke aqu indicamos
hasta 15.
For pc = 1 To 15
126
127
dgvCalPreparatoria.CurrentCell.Selected = False
128
colum = dgvCalPreparatoria.CurrentCell.ColumnIndex
Se recorre las filas de la columna para ver que no sea nulo y se colorean las
celdas.
For i = 0 To dgvCalPreparatoria.Rows.Count - 2
If Not IsDBNull(dgvCalPreparatoria.Item(colum, i).Value) Then : ch += 1
End If : Next i
For i = 0 To dgvCalPreparatoria.Rows.Count 2 : If ch > 0 Then
dgvCalPreparatoria.Item(colum, i).ReadOnly = False
dgvCalPreparatoria.Item(colum, i).Style.BackColor = Color.LightGreen
End If :
Next i
129
Sino entonces quiere decir que no hay calificaciones a modificar en esta columna.
MessageBox.Show("Esta columna no tiene calificaciones, por favor seleccione otra que si los
tenga", "Sistema de Control Escolar - Unitam") : End If : Else
Sino quiere decir que la celda seleccionada no pertenece alguna de las columnas
de calificaciones.
btnGuardar.Enabled = False : MessageBox.Show("Esta columna no puede ser modificada, por
favor seleccione otra", "Sistema de Control Escolar - Unitam") : End If :
Else
Sino indicamos que seleccione alguna celda de alguna columna para modificar
calificaciones.
btnGuardar.Enabled = False : MessageBox.Show("Seleccione una celda de la columna que desee
modificar", "Sistema de Control Escolar - Unitam") : End If
Else : MessageBox.Show("No hay datos para modificar", "Sistema de Control Escolar")
End If : End Sub
Se realiza una consulta para checar que el alumno si este cursando ese semestre
y si no manda un mensaje.
oDaCon = New OdbcDataAdapter("Select * From preparatoria" & cbSemestre.Text & " where
no_control='" & mNoControl.Text & "'", ModConexion.oConexion)
oDsCalifica = New DataSet
Try : oDaCon.Fill(oDsCalifica, "califica") : Catch ex As Exception
130
Se realiza una consulta para sacar todos los datos en ese ciclo escolar y grupo
que se esta indicando en el formulario.
oDaCon = New OdbcDataAdapter("Select * From preparatoria" & cbSemestre.Text & "
where ciclo_escolar='" & oDrCalifica("ciclo_escolar") & "' and grupo='" & oDrCalifica("grupo") & "'",
ModConexion.oConexion)
oDsCalifica = New DataSet : oDaCon.Fill(oDsCalifica, "califica")
Dim r2, para2 As Integer : para2 = 0
For r2 = 0 To oDsCalifica.Tables("califica").Rows.Count - 1
oDrCalifica = oDsCalifica.Tables("califica").Rows(r2)
If oDrCalifica("no_control") = mNoControl.Text Then : pos = r2
para2 = 1 : End If : Next
131
pvValoresParametros.Add(parCarrera)
oRptPrueba.DataDefinition.ParameterFields("carrera").ApplyCurrentValues(pvValoresParametros)
pvValoresParametros.Add(parNoControl)
oRptPrueba.DataDefinition.ParameterFields("nocontrol").ApplyCurrentValues(pvValoresParametros)
pvValoresParametros.Add(parNombre)
oRptPrueba.DataDefinition.ParameterFields("nombre").ApplyCurrentValues(pvValoresParametros)
pvValoresParametros.Add(parCiclo)
oRptPrueba.DataDefinition.ParameterFields("ciclo").ApplyCurrentValues(pvValoresParametros)
pvValoresParametros.Add(parSem)
oRptPrueba.DataDefinition.ParameterFields("semestre").ApplyCurrentValues(pvValoresParametros)
pvValoresParametros.Add(parP1)
oRptPrueba.DataDefinition.ParameterFields("promp1").ApplyCurrentValues(pvValoresParametros)
pvValoresParametros.Add(parP2)
oRptPrueba.DataDefinition.ParameterFields("promp2").ApplyCurrentValues(pvValoresParametros)
pvValoresParametros.Add(parOr)
oRptPrueba.DataDefinition.ParameterFields("promor").ApplyCurrentValues(pvValoresParametros)
pvValoresParametros.Add(parGral)
oRptPrueba.DataDefinition.ParameterFields("promgral").ApplyCurrentValues(pvValoresParametros)
End Sub
133
Nombre
FrmActasEvalFi
_
Ex_es
lbTitulo
dgvActas
Num
Descripcin
Formulario para generar las Actas de Evaluacin
Nocontrol
Nombre
Cal_num
Cal_letra
Asistencia
Acred_si
Muestra la columna Si
Acred_no
Muestra la columna No
btnCerrar
btnCancelar
gboxDatosDoc
cbNoActa
lbNoActa
Label1
cbControlEscola
r
Label8
cbTurno
Label9
dtpFecha
cbTipoActa
Label3
Label11
cbGrupo
Label10
cbCatedrticos
gboxMateria
cbClavesMat
Label5
txtMateria
Label7
gboxCarrera
cbCarrera
Label2
Label4
cbSemestre
Label6
cbCicloEscolar
134
Button
Button
btnVisorReporte
btnFiltro
Se inicializa la clase.
Public Class FrmActasEvalFi_Ex_es
Se declara una funcin que realiza una consulta sobre la tabla docentes e iguala
su profesin a caracteres abreviados.
Sub CargaDocentes()
oDaDocent = New OdbcDataAdapter("Select * from docentes", ModConexion.oConexion)
oDsDocent = New DataSet : oDaDocent.Fill(oDsDocent, "docent") '<>
If oDsDocent.Tables("docent").Rows.Count > 0 Then
For k = 0 To oDsDocent.Tables("docent").Rows.Count - 1
oDrDoc = oDsDocent.Tables("docent").Rows(k)
If oDrDoc("profesin") = "LICENCIADO(A)" Then : profesin = "LIC."
ElseIf oDrDoc("profesin") = "PSICOLOGO(A)" Then : profesin = "PSI."
ElseIf oDrDoc("profesin") = "INGENIERO" Then : profesin = "ING."
ElseIf oDrDoc("profesin") = "ARQUITECTO(A)" Then : profesin = "ARQ."
ElseIf oDrDoc("profesin") = "DOCTOR(A)" Then : profesin = "DR."
135
Funcin que se utiliza para obtener los ciclos escolares para que nada mas
aparescaran una vez los que esten repetidos.
Private Sub FiltraDatos()
cbCicloEscolar.Items.Clear() : Especialidad()
oDaCiclos = New OdbcDataAdapter("Select * from " & tabla & cbSemestre.Text & " ",
ModConexion.oConexion) : oDsCiclos = New DataSet
Try : oDaCiclos.Fill(oDsCiclos, "ciclos") : Catch ex As Exception
MessageBox.Show(ex.Message) : Exit Sub
End Try
If oDsCiclos.Tables("ciclos").Rows.Count > 0 Then
For i = 0 To oDsCiclos.Tables("ciclos").Rows.Count 1 : x = 0
oDrCiclos = oDsCiclos.Tables("ciclos").Rows(i)
If i = 0 Then : cbCicloEscolar.Items.Add(oDrCiclos("ciclo_escolar"))
cbCicloEscolar.Text = oDrCiclos("ciclo_escolar")
Else : For c = 0 To cbCicloEscolar.Items.Count - 1
If cbCicloEscolar.Items(c).ToString = oDrCiclos("ciclo_escolar") Then
x += 1 : End If
Next
If x = 0 Then : cbCicloEscolar.Items.Add(oDrCiclos("ciclo_escolar"))
End If : End If : Next : End If : ax = 1
End Sub
136
Se hacen validaciones sobre los campo indicado para que no deje meter espacios
ni caracteres solo que permita seleccionar.
Private Sub txtMateria_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtMateria.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If
End Sub
Private Sub cbTipoActa_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles cbTipoActa.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If
End Sub
Private Sub cbControlEscolar_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles cbControlEscolar.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If
End Sub
137
La siguiente funcin valida y marca los alumnos que han acreditado la materia.
Sub MarcaAcreditados()
If selcar = "prepa" Then : If Char.IsNumber(calnew) Then
If calnew >= 6 Then : acredSi = "X" : acredNo = ""
Else : acredSi = "" : acredNo = "X"
End If
Else : acredSi = "" : acredNo = "X" : End If
ElseIf selcar = "lic" Then : If Char.IsNumber(calnew) Then
If calnew >= 7 Then : acredSi = "X" : acredNo = ""
Else : acredSi = "" : acredNo = "X" : End If
Else : acredSi = "" : acredNo = "X" : End If : End If
End Sub
Funcin que se utiliza para igualar los nmeros insertados como mes a su
correspondiente mes pero mostrado en letras.
Private Sub LetrasFecha()
Dim dia, mes, ao, fval As String : fval = Mid(dtpFecha.Text, 4, 2)
138
Ahora se realiza una consulta para obtener el nombre del alumno de la tabla
alumnos.
oDaAlumno = New OdbcDataAdapter("Select nom_alumno from alumnos where no_control= '" +
oDrActas("no_control") + "'", ModConexion.oConexion)
oDsAlumno = New DataSet : oDaAlumno.Fill(oDsAlumno, "alumno")
If oDsAlumno.Tables("alumno").Rows.Count > 0 Then
btnFiltro.Enabled = True : btnVisorReporte.Enabled = True
btnCancelar.Enabled = True : oDrAlumno = oDsAlumno.Tables("alumno").Rows(0)
If cbTipoActa.SelectedIndex = 0 Then 'Acta de Evaluacin Final
SabeCalificacion() : filtro = "nopasa" : If selcar = "prepa" Then
If tipocal = "extra" Then : calnew = "5" : filtro = "pasa"
ElseIf tipocal = "especial" Then : calnew = "5"
filtro = "pasa" : ElseIf tipocal = "final" Then
If numVal < 6 Then : calnew = numVal : filtro = "pasa"
Else : calnew = numVal : filtro = "pasa" : End If
End If
ElseIf selcar = "lic" Then : If tipocal = "extra" Then : calnew = "6"
filtro = "pasa" : ElseIf tipocal = "especial" Then
calnew = "6" : filtro = "pasa" : ElseIf tipocal = "final" Then
If numVal < 7 Then : calnew = numVal : filtro = "pasa"
Else : calnew = numVal : filtro = "pasa" : End If
End If : End If
If filtro = "pasa" Then : dgvActas.Rows.Add()
dgvActas.Item(0, cont).Value = cont + 1
dgvActas.Item(1, cont).Value = oDrActas("no_control")
dgvActas.Item(2, cont).Value = oDrAlumno("nom_alumno")
dgvActas.Item(3, cont).Value = calnew : NmerosLetras()
dgvActas.Item(4, cont).Value = nletras : dgvActas.Item(5, cont).Value = "100%"
MarcaAcreditados() : If Not acredSi = "" Then : nacred += 1 : End If
If Not acredNo = "" Then : nregu += 1 : End If
dgvActas.Item(6, cont).Value = acredSi
dgvActas.Item(7, cont).Value = acredNo : cont += 1
End If
139
140
141
142
Nombre
FrmActas
Evaluacin
gboxDatosDoc
Label1
cbControlEscolar
Label8
Label10
cbCatedrticos
cbTurno
dgvActasCalificacion
Num
Descripcin
Formulario para generar las Actas de
Calificaciones
Muestra el grupo Datos del Documento
Muestra en la etiqueta Encargado de Control
Escolar
Muestra el combo Control Escolar
Muestra en la etiqueta Turno:
Muestra en la etiqueta Catedrtico
Muestra el combo Catedrticos
Muestra el combo Turno
Muestra el resultado despues de filtrar los datos
Muestra la columna No.
Nocontrol
Nombre
Par1
Par2
Global
Calfinal
Ext
Esp
final
btnCerrar
BtnCancelar
BtnVisorReporte
BtnFiltro
lbTitulo
gboxMateria
cbClavesMat
Label5
txtMateria
Label7
gboxCarrera
Label12
143
ComboBox
ComboBox
Label
Label
ComboBox
Label
ComboBox
cbGrupo
cbCarrera
Label2
Label4
cbSemestre
Label6
cbCicloEscolar
Se inicializa la clase.
Public Class FrmActasEvaluacin
Funcin que se utiliza para obtener los ciclos escolares para que nada mas
aparescarn una vez los que esten repetidos.
Private Sub FiltraDatos() : cbCicloEscolar.Items.Clear() : Especialidad()
144
oDaCiclos = New OdbcDataAdapter("Select * from " & tabla & cbSemestre.Text & " ",
ModConexion.oConexion) : oDsCiclos = New DataSet
Try : oDaCiclos.Fill(oDsCiclos, "ciclos") : Catch ex As Exception
MessageBox.Show(ex.Message) :
Exit Sub : End Try
If oDsCiclos.Tables("ciclos").Rows.Count > 0 Then
For i = 0 To oDsCiclos.Tables("ciclos").Rows.Count - 1
x = 0 : oDrCiclos = oDsCiclos.Tables("ciclos").Rows(i)
If i = 0 Then : cbCicloEscolar.Items.Add(oDrCiclos("ciclo_escolar"))
cbCicloEscolar.Text = oDrCiclos("ciclo_escolar") : Else
For c = 0 To cbCicloEscolar.Items.Count - 1
If cbCicloEscolar.Items(c).ToString = oDrCiclos("ciclo_escolar") Then : x += 1
End If : Next
If x = 0 Then : cbCicloEscolar.Items.Add(oDrCiclos("ciclo_escolar")) : End If
End If : Next : End If : ax = 1
End Sub
145
z += 1 : End If : Next
If z = 0 Then
If Not IsDBNull(oDrClaves("clave_m" & pi)) Then
If Not oDrClaves("clave_m" & pi) = "" Then
cbClavesMat.Items.Add(oDrClaves("clave_m" & pi)) : End If
End If : End If : End If : Catch ex As Exception : Exit For
End Try : Next : Next : End If : If cbClavesMat.Text = "" Then
btnFiltro.Enabled = False : btnVisorReporte.Enabled = False
Else : btnFiltro.Enabled = True : End If : End Sub
Se recorre todas las claves para buscar y sacar la calificacion referente a esa
materia.
For ci = 1 To 15 : Try : If oDrActas("clave_m" & ci) = cbClavesMat.Text Then
c1p = oDrActas("cal1p_" & ci) : c2p = oDrActas("cal2p_" & ci)
co = oDrActas("calor_" & ci) : calf = oDrActas("prom" & ci)
calext = oDrActas("ext" & ci) : Exit For : End If : Catch ex As Exception
Exit For : End Try : Next : tc = Len(calext)
For ti = 1 To tc : cc = Mid(calext, ti, 1) : If Char.IsNumber(cc) Then : ta += 1 : End If
Next
Ahora se realiza una consulta para obtener el nombre del alumno de la tabla
alumnos.
oDaAlumno = New OdbcDataAdapter("Select nom_alumno from alumnos where no_control= '" +
oDrActas("no_control") + "'", ModConexion.oConexion)
oDsAlumno = New DataSet : oDaAlumno.Fill(oDsAlumno, "alumno")
If oDsAlumno.Tables("alumno").Rows.Count > 0 Then
dgvActasCalificaciones.Rows.Add()
oDrAlumno = oDsAlumno.Tables("alumno").Rows(0) : SacaCalificacion()
dgvActasCalificaciones.Item(0, cont).Value = y + 1
dgvActasCalificaciones.Item(1, cont).Value = oDrActas("no_control")
dgvActasCalificaciones.Item(2, cont).Value = oDrAlumno("nom_alumno")
dgvActasCalificaciones.Item(3, cont).Value = c1p
dgvActasCalificaciones.Item(4, cont).Value = c2p
dgvActasCalificaciones.Item(5, cont).Value = co
dgvActasCalificaciones.Item(6, cont).Value = calf
dgvActasCalificaciones.Item(7, cont).Value = mcex
dgvActasCalificaciones.Item(8, cont).Value = mces
dgvActasCalificaciones.Item(9, cont).Value = mcf : cont += 1
Else : MessageBox.Show("No se encontraron datos del No. de Control - " &
oDrActas("no_control"), "Sistema de Control Escolar")
btnVisorReporte.Enabled = False : End If : Next
oDsAlumno.Tables("alumno").Rows.Clear() : Else
dgvActasCalificaciones.Rows.Clear() : End If : End If
End Sub
147
148
"values ('" & num & "','" & ncontrol & "','" & nomalumno & "','" & cal1p & "','" & cal2p & "','" & calor
& "','" & calfinal & "','" & caext & "','" & caesp & "','" & cafinal & "')"
Dim oComand As New OdbcCommand(iSQl, ModConexion.oConexion)
res = oComand.ExecuteNonQuery : Next : ModConexion.oConexion.Close()
Funcin que se utiliza para igualar los nmeros insertados como mes a su
correspondiente mes pero mostrado en letras.
Sub LetrasCicloEscolar()
Dim mes1, mes2, ao1, ao2 As String : If vb.Left(cbCicloEscolar.Text, 2) = "07" Then
mes1 = "JULIO" : ElseIf vb.Left(cbCicloEscolar.Text, 2) = "08" Then
mes1 = "AGOSTO" : ElseIf vb.Left(cbCicloEscolar.Text, 2) = "09" Then
mes1 = "SEPTIEMBRE" : ElseIf vb.Left(cbCicloEscolar.Text, 2) = "01" Then
mes1 = "ENERO" : ElseIf vb.Left(cbCicloEscolar.Text, 2) = "02" Then
mes1 = "FEBRERO" : End If
If Mid(cbCicloEscolar.Text, 8, 2) = "01" Then
mes2 = "ENERO" : ElseIf Mid(cbCicloEscolar.Text, 8, 2) = "12" Then
mes2 = "DICIEMBRE" : ElseIf Mid(cbCicloEscolar.Text, 8, 2) = "06" Then
mes2 = "JUNIO" : ElseIf Mid(cbCicloEscolar.Text, 8, 2) = "07" Then
mes2 = "JULIO" : End If
ao1 = Mid(cbCicloEscolar.Text, 3, 4) : ao2 = vb.Right(cbCicloEscolar.Text, 4)
If ao1 = ao2 Then : letrasCiclo = mes1 & " - " & mes2 & " " & ao2
149
Else : letrasCiclo = mes1 & " " & ao1 & " - " & mes2 & " " & ao2 : End If
End Sub
Funcin que se utiliza para igualar los nmeros del semestre seleccionado a
nmeros romanos.
Private Sub LetrasSemestre()
If cbSemestre.Text = "1" Then : semletras = "I" : ElseIf cbSemestre.Text = "2" Then : semletras = "II"
ElseIf cbSemestre.Text = "3" Then : semletras = "III"
ElseIf cbSemestre.Text = "4" Then : semletras = "IV"
ElseIf cbSemestre.Text = "5" Then : semletras = "V"
ElseIf cbSemestre.Text = "6" Then : semletras = "VI"
ElseIf cbSemestre.Text = "7" Then : semletras = "VII"
ElseIf cbSemestre.Text = "8" Then : semletras = "VIII"
ElseIf cbSemestre.Text = "9" Then : semletras = "IX"
ElseIf cbSemestre.Text = "10" Then : semletras = "X"
ElseIf cbSemestre.Text = "11" Then : semletras = "XI"
ElseIf cbSemestre.Text = "12" Then : semletras = "XII" : End If : End Sub
Private Sub dgvActasCalificaciones_EditingControlShowing(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles
dgvActasCalificaciones.EditingControlShowing
Declaramos una variable que obtiene el valor o dato que actualmente se ingresa o
edita.
Dim validar As TextBox = CType(e.Control, TextBox)
AddHandler validar.KeyPress, AddressOf validar_Keypress
End Sub
Private Sub validar_Keypress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs)
Nombre
FrmFiltroAlumno
Cardex
btnCerrar
btnIrCardex
dgvFiltroAlumno
Nocontrol
Descripcin
Formulario para realizar la bsqueda del alumno
y generar su cardex
Muestra el botn Cerrar
Muestra el botn Ver Cardex
Muestra el resultado despues de filtrar los datos
Muestra la columna No. de Control
Nombre
Carrera
150
TextBoxColum
n
GroupBox
Label
TextBox
ComboBox
Label
gboxAlumno
Label2
txtFiltro
CbFiltro
lbFiltro
Se inicializa la clase.
Public Class FrmFiltroAlumnoCardex
Dim oDataAdapter As OdbcDataAdapter : Dim oDaSetAl As DataSet
Dim oDaFila As DataRow
151
End Try :
End Sub
Formulario Cardex
El siguiente formulario muestra el resultado de la bsqueda realizada en el
formulario Bsqueda-Alumno-Cardex.
Est compuesto por:
Tipo
Form
Button
Button
GroupBox
Label
Label
Label
Label
Label
Nombre
FrmCardexAlumno
btnCerrar
btnReporte
gboxAlumno
lbCarrera
Label3
lbNombre
Label2
lbNoControl
Descripcin
Formulario que muestra el cardex del alumno
Muestra el botn Cerrar
Muestra el botn Reporte
Muetra el grupo Datos del alumno
Muestra la carrera
Muestra en la etiqueta Carrera:
Muestra el nombre del alumno
Muestra en la etiqueta Nombre:
Muestra el No. Control
152
Label
Label
DataGridView
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
Label1
LbTitulo
dgvCardex
Clave
Materia
Parcial1
Parcial2
Ordinario
Final
Extra
Especial
Finalgral
Recursar
Semestre
Se inicializa la clase.
Public Class FrmCardexAlumno
153
Se realiza otra consulta a partir del valor de la variable tabla y del nmero de
control.
oDataAd = New OdbcDataAdapter("select * from " & tabla & i & " where no_control='" &
lbNoControl.Text & "'", ModConexion.oConexion) : oDaSet = New DataSet
Try : oDataAd.Fill(oDaSet, "cardex")
oDaRow = oDaSet.Tables("cardex").Rows(0) : Catch ex As Exception
cquedo = I : Exit For
End Try : If oDaSet.Tables("cardex").Rows.Count > 0 Then
AgregaMaterias() :
End If
Next
For z = cquedo To 15 : Dim opt, opCon As Integer : Dim clv, nomM As String
opt = 0 : opCon = 0 : For c = 0 To oDsMaterias.Tables("materias").Rows.Count - 1
oDrMatQuedo = oDsMaterias.Tables("materias").Rows(c)
If z = oDrMatQuedo("semestre") Then : clv = oDrMatQuedo("clave")
nomM = UCase(oDrMatQuedo("nombre")) : If oDrMatQuedo("optativa") <> "" Then
opCon = 1 : End If : If opt = 0 Then : If opCon = 1 Then
opt = +1 : optNum += 1 : LetSemOpta() : clv = ""
nomM = "OPTATIVA " & lsopt : End If
dgvCardex.Rows.Add()
Funcin que se utiliza para igualar los nmeros del semestre seleccionado a
nmeros romanos.
Sub LetSemOpta()
If optNum = 1 Then : lsopt = "I" : ElseIf optNum = 2 Then : lsopt = "II"
ElseIf optNum = 3 Then : lsopt = "III" : ElseIf optNum = 4 Then : lsopt = "IV"
ElseIf optNum = 5 Then : lsopt = "V" : ElseIf optNum = 6 Then : lsopt = "VI"
ElseIf optNum = 7 Then : lsopt = "VII" : ElseIf optNum = 8 Then : lsopt = "VIII"
End If
End Sub
154
Se recorre todas las claves para buscar y sacar la calificacin referente a esa
materia.
If Not IsDBNull(oDaRow("ext" & b)) Then
tc = Len(oDaRow("ext" & b)) : For ti = 1 To tc
cc = Mid(oDaRow("ext" & b), ti, 1) : If Char.IsNumber(cc) Then : ta += 1 : End If
Next
155
tabla
156
"values('" & no & "','" & clave & "','" & materia & "','" & p1 & "','" & p2 & "','" & ord & "','" & final & "','" & extra &
"','" & esp & "','" & finalgral & "','" & recursa & "','" & sem & "')"
Dim oComand As New OdbcCommand(iSql, ModConexion.oConexion)
res = oComand.ExecuteNonQuery : Next : ModConexion.oConexion.Close()
Dim pvValoresParametros As New ParameterValues()
Dim parCar, parNoControl, parAlumno, parClaveCar As New ParameterDiscreteValue()
Formulario Materias
El siguiente formulario permite dar de alta materias.
Est compuesto por:
Tipo
Form
Label
Button
Button
Button
Button
Button
Button
GroupBox
Label
Button
Button
Button
Button
Button
GroupBox
ComboBox
ComboBox
Label
Nombre
FrmCapMaterias
lbTitulo
btnEliminar
btnConsultas
btnCerrar
btnModificar
btnGuardar
btnCancelar
GroupBox2
lbNumRegistro
btnAnterior
btnSiguiente
btnPrimero
btnUltimo
btnNuevo
GroupBox1
CbSeriacin
cbOptativa
Label10
TextBox
Label
TextBox
ComboBox
ComboBox
Label
Label
TextBox
Label
txtnfasis
Label8
txtClave
cbCarrera
cbSemestre
Label7
Label1
txtCreditos
Label4
Descripcin
Formulario que permite dar de alta materias
Muestra el nombre del formulario
Muestra el botn Eliminar
Muestra el botn Consultar
Muestra el botn Cerrar
Muestra el botn Modificar
Muestra el botn Guardar
Muestra el botn Cancelar
Muestra el grupo Controles
Muestra en la etiqueta numRegistro
Muestra el botn Anterior
Muestra el botn Siguiente
Muestra el botn Primero
Muestra el botn Ultimo
Muestra el botn Nuevo
Muestra el grupo Datos de la Materia
Muestra el combo Seriacin
Muestra el combo Optativa
Muestra en la etiqueta Escriba el nombre del
nfasis
Muestra la caja de texto nfasis
Muestra en la etiqueta nfasis:
Muestra la caja de texto Clave
Muestra el combo Carrera
Muestra el combo Semestre
Muestra en la etiqueta Tipo de Materia:
Muestra en la etiqueta Clave Materia:
Muestra la caja de texto Creditos
Muestra en la etiqueta Carrera:
157
Label
TextBox
Label
Label
Label
Label6
txtNombre
Label2
Label3
Label5
Se inicializa la clase.
Public Class FrmCapMaterias
Se
validan los campos para que los datos insertados se muestren en
maysculas.
Private Sub FrmCapMaterias_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Cargar() : txtClave.CharacterCasing = CharacterCasing.Upper
End Sub : Sub Cargar()
Funcin que sirve para consultar todas las materias y mostrar la que se encuentra
en 1ra posicin.
Try : oDa = New OdbcDataAdapter("select * From materias Order By carrera",
ModConexion.oConexion)
oDs = New DataSet : ModConexion.oConexion.Open()
oDa.Fill(oDs, "materias") :
ModConexion.oConexion.Close()
pos = 0 : CargarDatos() : Catch exc As Exception : MessageBox.Show(exc.Message)
End Try : End Sub
Esta funcin muestra los datos en las cajas de texto, en la posicin que se indica.
Private Sub CargarDatos() : Try : oDr = oDs.Tables("materias").Rows(pos)
txtClave.Text = oDr("clave") : cbCarrera.Text = oDr("carrera")
txtNombre.Text = oDr("nombre") : cbSemestre.Text = oDr("semestre")
txtCreditos.Text = oDr("creditos") : If IsDBNull(oDr("seriacin")) Then
cbSeriacin.Text = "Ninguno" : ElseIf oDr("seriacin") = "" Then
cbSeriacin.Text = "Ninguno" : Else : cbSeriacin.Text = oDr("seriacin") : End If
158
Se valida para que el campo que se indica no acepte espacios, nmeros y signos.
Private Sub txtClave_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtClave.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If
If Not Char.IsLetter(e.KeyChar) And (e.KeyChar = ChrW(Keys.Back)) = False _
And Not e.KeyChar = ChrW(Keys.Space) And Not Char.IsNumber(e.KeyChar) Then
e.KeyChar = Chr(0) : End If : If Len(txtClave.Text) = 0 Then : If e.KeyChar = " " Then
e.KeyChar = Chr(0) : End If : End If
End Sub
159
Se valida para que el campo que se indica no acepte espacios, signos ni letras
solo nmeros.
Private Sub txtCreditos_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtCreditos.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If e.KeyChar.IsNumber(e.KeyChar) Then : e.Handled = False
ElseIf e.KeyChar.IsControl(e.KeyChar) Then : e.Handled = False
Else : e.Handled = True : End If : If e.KeyChar = ChrW(Keys.Space) = True Then
e.KeyChar = Chr(0) : End If
End Sub
Se valida para que el campo que se indica no acepte espacios, nmeros y signos.
Private Sub txtnfasis_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles txtnfasis.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If Len(txtnfasis.Text) = 0 Then : If e.KeyChar = " " Then : e.KeyChar = Chr(0)
End If : End If : If Not e.KeyChar = "." Then :
e.KeyChar = Chr(0)
End If : If Not Char.IsLetter(e.KeyChar) And (e.KeyChar = ChrW(Keys.Back)) = False And Not
e.KeyChar = ChrW(Keys.Space) Then : e.KeyChar = Chr(0) : End If : End Sub
160
161
162
MessageBox.Show("Los datos del registro: " & pos + 1 & " han sido eliminados", "Sistema de Control
Escolar - Unitam", MessageBoxButentonces.OK, MessageBoxIcon.Information) : Cargar() : End If : End
Sub : End Class
Formulario Docentes
El siguiente formulario permite dar de alta docentes.
Est compuesto por:
Tipo
Form
Label
Button
Button
Button
Button
Button
Button
GroupBox
Label
Button
Button
Button
Button
Button
GroupBox
TextBox
Label
Label
DateTimePicker
Nombre
FrmDocentes
lbTitulo
btnEliminar
btnConsultas
btnCerrar
btnModificar
btnGuardar
btnCancelar
GroupBox2
lbNumRegistro
btnAnterior
btnSiguiente
btnPrimero
btnUltimo
btnNuevo
GroupBox1
txtDomicilio
Label6
lbEdad
dtpFechaNac
Label
ComboBox
TextBox
Label
TextBox
Label
TextBox
Label
TextBox
TextBox
Label
Label
Label4
cbProfesin
txtApe_m
Label3
txtEdad
Label8
txtId
Label1
txtApe_p
txtNombre
Label2
Label5
Descripcin
Formulario que permite dar de alta docentes
Muestra el nombre del formulario
Muestra el botn Eliminar
Muestra el botn Consultar
Muestra el botn Cerrar
Muestra el botn Modificar
Muestra el botn Guardar
Muestra el botn Cancelar
Muestra el grupo Controles
Muestra en la etiqueta numRegistro
Muestra el botn Anterior
Muestra el botn Siguiente
Muestra el botn Primero
Muestra el botn Ultimo
Muestra el botn Nuevo
Muestra el grupo Datos de la Materia
Muestra el campo de texto Domicilio
Muestra en la etiqueta Domicilio:
Muestra en la etiqueta Edad:
Muestra el calendario para seleccionar la
fecha de nacimiento
Muestra en la etiqueta Fecha de Nacimiento
Muestra el combo Profesin
Muestra la caja de texto Apellido Materno
Muestra en la etiqueta Apellido Materno:
Muestra la caja de texto Edad
Muestra en la etiqueta Profesin:
Muestra la caja de texto Id
Muestra en la etiqueta Id:
Muestra la caja de texto Apellido Paterno
Muestra la caja de texto Nombre
Muestra en la etiqueta Nombre (s)
Muestra en la etiqueta Apellido Paterno
163
Se
validan los campos para que los datos insertados se muestren en
maysculas.
Private Sub FrmDocentes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
txtId.CharacterCasing = CharacterCasing.Upper : txtNombre.CharacterCasing = CharacterCasing.Upper
txtApe_p.CharacterCasing = CharacterCasing.Upper : txtApe_m.CharacterCasing =
CharacterCasing.Upper
txtDomicilio.CharacterCasing = CharacterCasing.Upper
Cargar()
End Sub
Funcin que sirve para consultar todas las materias y mostrar la que se
encuentra en 1ra posicin.
Sub Cargar()
Try : oDaDocentes = New OdbcDataAdapter("select * from docentes", ModConexion.oConexion)
oDsDocentes = New DataSet : ModConexion.oConexion.Open()
oDaDocentes.Fill(oDsDocentes, "docentes")
ModConexion.oConexion.Close()
If oDsDocentes.Tables("docentes").Rows.Count > 0 Then
If oDsDocentes.Tables("docentes").Rows.Count >= 2 Then
HabilitaControles() : Else : DeshabilitaControles() : End If
pos = 0 : CargarDatos() : Else
lbNumRegistro.Text = "No se encontraron registros"
LimpiaTxt() : DeshabilitaControles() : btnModificar.Enabled = False
btnConsultas.Enabled = False : btnEliminar.Enabled = False
End If : Catch exc As Exception : MessageBox.Show(exc.Message)
End Try : End Sub
La siguiente funcin muestra los datos en las cajas de texto, en la posicin que se
indica.
Private Sub CargarDatos() : Try
oDrdocentes = oDsDocentes.Tables("docentes").Rows(pos)
txtId.Text = oDrdocentes("id") : txtNombre.Text = oDrdocentes("nombre")
txtApe_p.Text = oDrdocentes("ape_p") : txtApe_m.Text = oDrdocentes("ape_m")
cbProfesin.Text = oDrdocentes("profesin")
dtpFechaNac.Text = oDrdocentes("f_nacimiento")
txtDomicilio.Text = oDrdocentes("domicilio")
lbNumRegistro.Text = "Registro: " & pos + 1 & " de " & oDsDocentes.Tables("docentes").Rows.Count :
Catch exc As Exception
MessageBox.Show(exc.Message) : End Try
164
End Sub
165
167
Tipo
Nombre
FrmSeguimiento
Label
Button
Button
Button
Button
Button
Button
Button
Button
Button
GroupBox
TextBox
TextBox
Label
Label
Label9
btnCerrar
BtnGenerar
BtnCancelar
BtnConsulta
BtnUltimo
BtnAdelante
BtnAtras
BtnPrimero
BtnModificar
GroupBox4
txtTerapeutica
txtClinico
Label29
Label2
Button
GroupBox
ComboBox
ComboBox
Label
Label
ComboBox
ComboBox
Label
Label
Label
TextBox
Label
TextBox
Label
TextBox
Label
GroupBox
BtnGuardar
GroupBox2
CbNivel_ingreso
CbArea
Label28
Label21
CbEntidad
CbMunicipio_ins
Label20
Label19
Label18
TxtLocalidad
Label17
TxtNombre_ins
Label16
TxtUltimo_nivel
Label15
GroupBox1
Descripcin
Formulario que permite obtener datos del alumno
inscrito
Muestra el nombre del formulario
Muestra el botn Cerrar
Muestra el botn Generar Curp
Muestra el botn Cancelar
Muestra el botn Consulta
Muestra el botn Ultimo
Muestra el botn Adelante
Muestra el botn Atrs
Muestra el botn Primero
Muestra el botn Modificar
Muestra el grupo Datos Clnicos
Muestra la caja d texto teraputica
Muestra la caja de texto problemas clnicos
Muestra en la etiqueta Teraputica Empleada
Muestra en la etiqueta Diagnstico o Problemas
Clnicos
Muestra el botn Guardar
Muestra el grupo Datos Acadmicos
Muestra el combo Nivel de ingreso
Muestra el combo Area
Muestra en la etiqueta Nivel de ingreso:
Muestra en la etiqueta Area de estudio
Muestra el combo entidad
Muestra el combo Municipio
Muestra en la etiqueta Entidad
Muestra en la etiqueta Municipio
Muestra en la etiqueta Localidad
Muestra la caja de texto Localidad
Muestra en la etiqueta (Nombre de la institucin)
Muestra la caja de texto Nombre de la Institucin
Muestra en la etiqueta Datos de la institucin
Muestra la caja de texto Ultimo Nivel que curs
Muestra en la etiqueta Ultimo Nivel Cursado
Muestra el grupo Datos Personales
168
Label
MaskedTextBox
MaskedTextBox
Label
MaskedTextBox
TextBox
Label
MaskedTextBox
Label
Label
Button
Label
Label
ComboBox
ComboBox
Label
Label
TextBox
Label
TextBox
Label
Label
ComboBox
Label
Label
Label
Label
Label7
TxtCP
TxtTelefono
Label22
mskCelular
TxtCurp
Label5
NoControl
Label4
Label3
BtnBuscar
Label14
Label13
CboEstado
CbMunicipio
Label12
Label11
TxtColonia
Label10
TxtDomicilio
Label8
Label6
Cbestado_civil
Sexo
Edad
LBLNOMBRE
nombre
169
170
cargardatos()
171
nombre.Text = oDataRow("nombre") & " " & oDataRow("ap_p") & " " & oDataRow("ap_m")
La siguiente funcin se utiliza para sacar las dos letras del estado.
Sub estado()
If CbEstado.Text = "AGUASCALIENTES" Then : est = "AS"
ElseIf CbEstado.Text = "BAJA CALIFORNIA" Then : est = "BC"
ElseIf CbEstado.Text = "BAJA CALIFORNIA SUR" Then : est = "BS"
ElseIf CbEstado.Text = "CAMPECHE" Then : est = "CC"
ElseIf CbEstado.Text = "CHIAPAS" Then : est = "CS"
ElseIf CbEstado.Text = "CHIHUAHUA" Then : est = "CH"
ElseIf CbEstado.Text = "COAHUILA" Then : est = "CL"
ElseIf CbEstado.Text = "COLIMA" Then : est = "CM"
ElseIf CbEstado.Text = "DISTRITO FEDERAL" Then : est = "DF"
ElseIf CbEstado.Text = "DURANGO" Then : est = "DG"
ElseIf CbEstado.Text = "GUANAJUATO" Then : est = "GT"
ElseIf CbEstado.Text = "GUERRERO" Then : est = "GR"
ElseIf CbEstado.Text = "HIDALGO" Then : est = "HG"
ElseIf CbEstado.Text = "JALISCO" Then : est = "JC"
ElseIf CbEstado.Text = "MEXICO" Then : est = "MC"
ElseIf CbEstado.Text = "MICHOACAN" Then : est = "MN"
ElseIf CbEstado.Text = "MORELOS" Then : est = "MS"
ElseIf CbEstado.Text = "NAYARIT" Then : est = "NT"
ElseIf CbEstado.Text = "NUEVO LEON" Then : est = "NL"
ElseIf CbEstado.Text = "OAXACA" Then : est = "OC"
ElseIf CbEstado.Text = "PUEBLA" Then : est = "PL"
ElseIf CbEstado.Text = "QUERETARO" Then : est = "QT"
ElseIf CbEstado.Text = "QUINTANA ROO" Then : est = "QR"
ElseIf CbEstado.Text = "SAN LUIS POTOSI" Then : est = "SP"
ElseIf CbEstado.Text = "SINALOA" Then : est = "SL"
ElseIf CbEstado.Text = "SONORA" Then : est = "SR"
ElseIf CbEstado.Text = "TABASCO" Then : est = "TC"
ElseIf CbEstado.Text = "TAMAULIPAS" Then : est = "TS"
173
Tipo
Nombre
FrmModificaPass
Label
Button
Button
GroupBox
Button
Label
Label
TextBox
lbTitulo
btnCancelar
btnCerrar
GroupBox2
btnGuardar
Label4
Label3
txtConfirmaPass
TextBox
txtNuevoPass
GroupBox
Button
TextBox
Label
TexBox
Label
GroupBox1
btnContinuar
txtPassword
Label1
txtUsuario
Label2
Descripcin
Formulario
que
permite
cambiar
la
contrasea del administrador.
Muestra el titulo del formulario
Muestra el botn Cancelar
Muestra el botn Cerrar
Muestra el grupo Datos Nueva Contrasea
Muestra el botn Guardar
Muestra la etiqueta Confirmar Contrasea
Muestra la etiqueta Nueva Contrasea
Muestra el cuadro de texto Confirma
Contrasea
Muestra el cuadro de texto Nueva
Contrasea
Muestra el grupo Datos del usuario
Muestra el botn Continuar
Muestra el cuadro de texto Contrasea
Muestra en la etiqueta Nombre del Usuario:
Muestra el cuadro de texto Usuario
Muestra en la etiqueta Cotrasea:
174
175
Nombre
FrmAjustesGrupo
Button
Button
Label
btnCancelar
btnCerrar
Label1
Button
TextBox
btnModificar
txCantGrupo
Descripcin
Formulario que permite dar de alta la cantidad alumnos
por grupo
Muestra el botn Cancelar
Muestra el botn Cerrar
Muestra la etiqueta Cantidad de alumnos x grupo
permitidos
Muestra el botn Modificar
Muestra el cuadro de texto Cantidad x Grupo
176
Se inicializa la clase.
Public Class FrmAjustesGrupo.
La siguiente funcin realiza una busqueda en la tabla acceso y obtiene el valor del
campo catn_grupo.
Sub CargaCantidadGrupo() : adapter = New OdbcDataAdapter("select cant_grupo from acceso",
ModConexion.oConexion) : dset = New DataSet
adapter.Fill(dset, "grupo") : If dset.Tables("grupo").Rows.Count > 0 Then
row = dset.Tables("grupo").Rows(0) : txtCantGrupo.Text = row("cant_grupo")
End If : End Sub
Nombre
FrmConcentrado
s
btnSalir
Label9
btnImprimir
btnFiltrar
Label5
Label
Label3
Label
DataGridView
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
Label1
dgvConcentrado
No_control
Formulario
de
Calificaciones
Muestra el botn Salir
Muestra en la etiqueta Datos Alumno
Muestra el botn Imprimir
Muestra el botn Filtrar
Muestra en la etiqueta Calificacion
Especial
Muestra en la etiqueta Calificacion
Extraordinaria
Muestra en la etiqueta Calificacion Final
Muestra las calificaciones
Muestra la columna no. control
Alumno
Sexo
Form
Descripcin
de
Concentrado
178
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
DataGridView
TextBoxColumn
Cf1
Muestra la calificacion 1
Cf2
Muestra la calificacion 2
Cf3
Muestra la calificacion 3
Cf4
Muestra la calificacion 4
Cf5
Muestra la calificacion 5
Cf6
Muestra la calificacion 6
Cf7
Muestra la calificacion 7
Cf8
Muestra la calificacion 8
Promfinal
Cext1
Cext2
Cext3
Cext4
Cext5
Cext6
Cext7
Cext8
Cesp1
Cesp2
Cesp3
Cesp4
Cesp5
Cesp6
Cesp7
DataGridView
TextBoxColumn
Label
GroupBox
Label
ComboBox
Label
ComboBox
ComboBox
Label
Label
ComboBox
Label
ComboBox
Cesp8
lbTitulo
gboxCarrera
Label8
cbTurno
Label12
cbGrupo
cbCarrera
Label2
Label4
cbSemestre
Label6
cbCicloEscolar
Se inicializa la clase.
Public Class FrmConcentrados
Funcin que se utiliza para obtener los ciclos escolares para que nada mas
aparescan una vez los que esten repetidos.
Private Sub FiltraDatos() : cbCicloEscolar.Items.Clear() : Especialidad()
180
oDaCiclos = New OdbcDataAdapter("Select * from " & tabla & cbSemestre.Text & " ",
ModConexion.oConexion) : oDsCiclos = New DataSet : Try
oDaCiclos.Fill(oDsCiclos, "ciclos") : Catch ex As Exception
MessageBox.Show(ex.Message) : Exit Sub : End Try
If oDsCiclos.Tables("ciclos").Rows.Count > 0 Then
For i = 0 To oDsCiclos.Tables("ciclos").Rows.Count 1 : x = 0
oDrCiclos = oDsCiclos.Tables("ciclos").Rows(i) : If i = 0 Then
cbCicloEscolar.Items.Add(oDrCiclos("ciclo_escolar"))
cbCicloEscolar.Text = oDrCiclos("ciclo_escolar") : Else
For c = 0 To cbCicloEscolar.Items.Count - 1
If cbCicloEscolar.Items(c).ToString = oDrCiclos("ciclo_escolar") Then : x += 1
End If : Next : If x = 0 Then : cbCicloEscolar.Items.Add(oDrCiclos("ciclo_escolar"))
End If : End If : Next : End If : ax = 1 : CargarGrupos() : End Sub
181
182
183
184
Dim pcf1, pcf2, pcf3, pcf4, pcf5, pcf6, pcf7, pcf8 As New ParameterDiscreteValue()
La siguiente funcin valida los ciclos escolares para extraer el mes marcado en
nmero y mostrarlo en letra.
186
Extraemos los aos y concatenamos las variables para formar el ciclo escolar en
letras.
ao1 = Mid(cbCicloEscolar.Text, 3, 4) : ao2 = vb.Right(cbCicloEscolar.Text, 4)
If ao1 = ao2 Then : letrasCiclo = mes1 & " - " & mes2 & " " & ao2
Else : letrasCiclo = mes1 & " " & ao1 & " - " & mes2 & " " & ao2
End If : End Sub
plan_estudio",
Aqui pasamos los valores seleccionados actualmente dentro del grid a unas cajas
de texto.
Private Sub dgvPlanEstudio_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Handles dgvPlanEstudio.CurrentCellChanged
Try : If bnd = 1 Then
txtClave.Text = oDsPlan.Tables("plan").Rows(dgvPlanEstudio.CurrentCell.RowIndex)(0)
txtNombre.Text = oDsPlan.Tables("plan").Rows(dgvPlanEstudio.CurrentCell.RowIndex)(1)
End If : Catch exc As Exception : MessageBox.Show(exc.Message)
End Try : End Sub
188
189
190
Se validan el combos para que no deje escribir sobre el objeto y solo deje
seleccionar.
Private
Sub
cbSemestre_KeyPress(ByVal
sender
As
Object,
ByVal
System.Windows.Forms.KeyPressEventArgs) Handles cbSemestre.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If : End Sub
Private
Sub
cbCicloEscolar_KeyPress(ByVal
sender
As
Object,
ByVal
System.Windows.Forms.KeyPressEventArgs) Handles cbCicloEscolar.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If : End Sub
As
As
191
Private
Sub
cbGrupo_KeyPress(ByVal
sender
As
Object,
ByVal
System.Windows.Forms.KeyPressEventArgs) Handles cbGrupo.KeyPress
If e.KeyChar = ChrW(Keys.Enter) Then : e.Handled = True : SendKeys.Send("{TAB}")
End If : If InStr(1, "", e.KeyChar) = 0 Then : e.KeyChar = "" : End If : End Sub
As
Funcin para obtener el numero de materias que llevan los alumnos del ciclo
escolar y grupo que se haya selecciondo.
Sub NumeroMaterias() : Especialidad()
oDaAsignaturas = New OdbcDataAdapter("Select * from " & tabla & cbSemestre.Text & " where
ciclo_escolar='" & cbCicloEscolar.Text & "' and grupo='" & cbGrupo.Text & "'", ModConexion.oConexion) :
oDsAsignaturas = New DataSet
Try : oDaAsignaturas.Fill(oDsAsignaturas, "asignaturas") '<>
oDrAsignaturas = oDsAsignaturas.Tables("asignaturas").Rows(0)
Catch ex As Exception : MessageBox.Show(ex.Message) : Exit Sub : End Try
Dim q As Integer : noMat = 0 : For q = 1 To 12 : Try
If Not IsDBNull(oDrAsignaturas("clave_m" & q)) And oDrAsignaturas("clave_m" & q) <> "" Then
'Variable que incrementa para saber el numero de materias que cursa el alumno
noMat += 1 : End If : Catch ex As Exception : Exit For : End Try : Next
Comparamos que las claves sean igual al de las materias con el de las claves de
las calificaciones.
If oDrMat("clave") = oDrAsignaturas("clave_m" & b) Then
dgvAsignaturas.Rows.Add() : dgvAsignaturas.Item(0, s).Value = oDrMat("clave")
dgvAsignaturas.Item(1, s).Value = UCase(oDrMat("nombre")) : s += 1
End If : Next : Next
If dgvAsignaturas.RowCount > 0 Then : dgvAsignaturas.CurrentCell.Selected = False
btnProcesarCalificaciones.Enabled = True : Else
btnProcesarCalificaciones.Enabled = False : End If : End Sub
192
Pasamos los valores a las variables publicas que van a ser las que se van a
ocupar en el siguiente formulario.
carreraRC = cbCarrera.Text : semestreRC = cbSemestre.Text
cicloescolarRC = cbCicloEscolar.Text : grupoRC = cbGrupo.Text
claveRC = dgvAsignaturas.Item(0, fila).Value
materiaRC = dgvAsignaturas.Item(1, fila).Value : noMatRC = fila + 1
'Instanciamos el formulario al para indicar que nos mande a ella
Dim registroCal As New FrmRegistroCalificaciones : registroCal.ShowDialog()
End If :
Else : MessageBox.Show("Realice el filtro para seleccionar una materia", "Atencin",
MessageBoxButtons.OK, MessageBoxIcon.Information) : End If
End Sub : End Class
193
Recorremos todas las claves para buscar y sacar la calificacion referente a esa
materia.
For ci = 1 To 15 : Try : If oDrCalificacion("clave_m" & ci) = claveRC Then
c1p = oDrCalificacion("cal1p_" & ci) : c2p = oDrCalificacion("cal2p_" & ci)
co = oDrCalificacion("calor_" & ci) : promMat = oDrCalificacion("prom" & ci)
calf = oDrCalificacion("ext" & ci) : Exit For : End If : Catch ex As Exception
Exit For : End Try : Next : End Sub
Sub tablaCarrera() : If carreraRC = "PREPARATORIA" Then : tablita = "preparatoria"
ElseIf carreraRC = "LICENCIATURA EN ADMINISTRACION" Then : tablita = "administracion"
ElseIf carreraRC = "LICENCIATURA EN DERECHO" Then : tablita = "derecho"
ElseIf carreraRC = "LICENCIATURA EN SISTEMAS COMPUTACIONALES" Then : tablita = "sistemas"
ElseIf carreraRC = "LICENCIATURA EN CONTADURIA" Then : tablita = "contaduria"
ElseIf carreraRC = "LICENCIATURA EN CIENCIAS DE LA EDUCACION SUPERIOR" Then
tablita = "educacion" : ElseIf carreraRC = "LICENCIATURA EN COMUNICACION Y PERIODISMO"
Then : tablita = "comunicacion" : End If : End Sub
Sub ChecaColumnaVacia() : colV = 0
For c = 2 To 4 : For i = 0 To dgvCalificaciones.Rows.Count 1
194
195
Recorremos desde la posicion 1 que es 1er parcial hasta 2, que es 2do parcial.
For x = 2 To 3 : If Not Char.IsLetter(dgvCalificaciones.Item(x, i).Value) Then
sum1 = sum1 + CDbl(dgvCalificaciones.Item(x, i).Value) : End If : Next
Funcin para sacar los redondear los promedios finales de cada materia y sacar
el promedio general.
Private Sub promExtrasPromGral()
Dim v, red As Integer :
promg = 0 : sum2 = 0 : Dim pSql, gNoControl As String
For v = 0 To dgvCalificaciones.Rows.Count - 1
gNoControl = dgvCalificaciones.Item(0, v).Value
red = Math.Round((CType(dgvCalificaciones.Rows(v).Cells(5).Value(), Double)),
MidpointRounding.AwayFromZero) : dgvCalificaciones.Rows(v).Cells(6).Value() = red
sum2 = sum2 + CDbl(dgvCalificaciones.Rows(v).Cells(6).Value())
pSql = "Update " & tablita & semestreRC & " Set ext" & noMatRC & "='" & red & "' Where no_control='"
+ gNoControl + "' and ciclo_escolar='" & cicloescolarRC & "' and grupo='" & grupoRC & "'" : Dim oComando
As New OdbcCommand(pSql, ModConexion.oConexion)
ModConexion.oConexion.Open() : Dim iRes As Integer = oComando.ExecuteNonQuery()
ModConexion.oConexion.Close() : Next : End Sub
Funcin para validar las calificaciones finales y checar que los numeros sean
correctos.
Private Sub ValidandoCalificacionFinal() : calBuenoX = 0 : sum2 = 0
Dim tk, bb, cnum, s, le, lr As Integer
For i As Integer = 0 To dgvCalificaciones.RowCount - 1
tk = 0 : bb = 0 : cnum = 0 : s = 0 : le = 0 : lr = 0 : posNum = 0
tk = Len(dgvCalificaciones.Item(colMo, i).Value) : For bb = 1 To tk
Dim cad As String : cad = Mid(dgvCalificaciones.Item(colMo, i).Value, bb, 1)
If Not Char.IsLetter(cad) Then : cnum += 1
posNum = bb : End If : If cad = "S" Then : s += 1
End If : If cad = "E" Then : le += 1 : posEx = bb
End If : If cad = "R" Then : lr += 1 :
End If : Next
If tk = cnum And cnum >= 1 Then : calBuenoX += 1
sum2 = sum2 + CDbl(dgvCalificaciones.Rows(i).Cells(5).Value())
ElseIf cnum >= 1 And s = 0 And le = 1 And lr = 0 And posNum = 1 And posEx = 2 Then '8E
196
197
Recorremos las filas de la columna para ver que no sea nulo y coloremoa las
celdas.
For i = 0 To dgvCalificaciones.Rows.Count - 1
If Not IsDBNull(dgvCalificaciones.Item(colum, i).Value) Then : ch += 1
End If : Next i
For i = 0 To dgvCalificaciones.Rows.Count 1 : If ch > 0 Then
dgvCalificaciones.Item(colum, i).ReadOnly = False
dgvCalificaciones.Item(colum, i).Style.BackColor = Color.LightGreen
End If : Next i
Sino entonces quiere decir que no hay calificaciones a modificar en esta columna.
MessageBox.Show("Esta columna no tiene calificaciones, por favor seleccione otra que si
los tenga", "Sistema de Control Escolar - Unitam") : End If : Else
198
Sino quiere decir que la celda seleccionada no pertenece alguna de las columnas
de calificaciones.
btnGuardar.Enabled = False : MessageBox.Show("Esta columna no puede ser modificada, por
favor seleccione otra", "Sistema de Control Escolar - Unitam") : End If
Else
Sino indicamos que seleccione alguna celda de alguna columna para modificar
calificaciones.
btnGuardar.Enabled = False : MessageBox.Show("Seleccione una celda de la columna que desee
modificar", "Sistema de Control Escolar - Unitam") : End If : Else
MessageBox.Show("No hay datos para modificar", "Sistema de Control Escolar")
End If : End Sub
End Class
199