252
UNIVERSIDAD TÉCNICA DE MANABÍ Facultad de Ciencias Informáticas TESIS DE GRADO Previa a la Obtención del Título de: TECNÓLOGO PROGRAMADOR TEMA: Desarrollar un Sistema Informático de Ingreso de Matriculas y Control de Notas para la Escuela Fiscal Mixta “Portete de Tarqui” de la Parroquia Colón, Ciudad de Portoviejo” AUTOR: José Gabriel Macias Zambrano DIRECTOR DE TESIS: Ing. Iraida Santana Portoviejo - Manabí - Ecuador 2010

Libro Tesis escuela

Embed Size (px)

Citation preview

Page 1: Libro Tesis escuela

UNIVERSIDAD TÉCNICA DE MANABÍ

Facultad de Ciencias Informáticas

TESIS DE GRADO

Previa a la Obtención del Título de:

TECNÓLOGO PROGRAMADOR

TEMA:

“Desarrollar un Sistema Informático de Ingreso de Matriculas y

Control de Notas para la Escuela Fiscal Mixta “Portete de

Tarqui” de la Parroquia Colón, Ciudad de Portoviejo”

AUTOR:

José Gabriel Macias Zambrano

DIRECTOR DE TESIS:

Ing. Iraida Santana

Portoviejo - Manabí - Ecuador

2010

Page 2: Libro Tesis escuela

2

ÍNDICE GENERAL

PÁGUINAS PRELIMINARES

CERTIFICACIÓN I

APROBACIÓN II

DECLARACIÓN DE AUTORÍA III

AGRADECIMIENTO IV

DEDICATORIA V

RESUMEN EJECUTIVO VI

EXECUTIVE SUMMARY VII

INTRODUCCIÓN

CAPÍTULO I

1.1. JUSTIFICACIÓN . 2

1.2. PLANTEAMIENTO DEL PROBLEMA 3

1.3. FORMULACIÓN DEL PROBLEMA 3

1.4. DELIMITACIÓN DEL PROBLEMA 4

1.5. OBJETIVOS 4

1.5.1. OBJETIVO GENERAL 4

1.5.2. OBJETIVO ESPECÍFICO 4

1.6. BENEFICIARIOS 5

1.6.1. DIRECTOS 5

1.6.2. INDIRECTOS 5

CAPÍTULO II

2.1. MARCO CONCEPTUAL 6

2.1.1. MARCO REFERENCIAL 6

2.2. MARCO TEÓRICO 8

CAPÍTULO III

3.1. DISEÑO METODOLÓGICO 18

3.1.1. MÉTODOS 18

Page 3: Libro Tesis escuela

3

3.1.2. TÉCNICAS 18

3.1.3. INSTRUMENTOS 18

3.2. RECURSOS 19

3.2.1. RECURSOS HUMANOS 19

3.2.2. RECURSOS MATERIALES 19

3.2.3. RECURSOS TECNOLÓGICOS 19

3.2.4. RECURSOS TÉCNICOS 19

3.2.5. RECURSOS INSTITUCIONALES 20

3.2.6. RECURSOS ECONÓMICOS 20

3.3. PRESUPUESTO 21

CAPÍTULO IV

4.1. CONCLUSIONES 22

4.2. RECOMENDACIONES 22

CAPITULO V

5.1. DESCRIPCIÓN GENERAL DEL SISTEMA 24

5.2. DETERMINACIÓN DE REQUERIMIENTOS 25

5.3. RELACIONES EXISTENTES DE LA BASE DE DATO 26

5.4. DISEÑOS DE MODULOS 27

5.5. CRONOGRAMA VALORADO 28

BIBLIOGRAFÍA 29

Page 4: Libro Tesis escuela

4

CERTIFICACIÓN

Ing. Iraida Santana, certifica que la presente tesis ha sido elaborada por el Sr. José

Gabriel Macias Zambrano; bajo mi dirección, control y seguimiento. El presente

trabajo reúne los requisitos de una investigación y programación concluida

mediante el esfuerzo, dedicación y constancia; tanto en parte teórica, investigativa

y practica, lo que permite otorgar su originalidad.

Para constancia y validez, firmo el documento.

Atentamente,

Ing. Iraida Santana

DIRECTORA DE TESIS

Page 5: Libro Tesis escuela

5

UNIVERSIDAD TÉCNICA DE MANABÍ

FACULTAD DE CIENCIAS INFORMÁTICAS

ESCUELA DE COMPUTACIÓN

TEMA:

“Desarrollar un Sistema Informático de Ingreso de Matriculas y

Control de Notas para la Escuela Fiscal Mixta “Portete de Tarqui” de

la Parroquia Colón, Ciudad de Portoviejo”

TESIS DE GRADO

Sometida a consideración del Tribunal de Revisión y Sustentación,

legalizada por el Honorable Consejo Directivo como requisito previo

a la obtención del Titulo de:

TECNÓLOGO PROGRAMADOR

APROBADA POR:

Ing. Mercedes Cedeño Palma Ing. Rosa Inés Rivadeneira

Ing. Christian Torres Moran

Page 6: Libro Tesis escuela

6

DECLARACIÓN DE AUTORÍA

José Gabriel Macias Zambrano, declaró que la presente tesis constituye requisito

previo la obtención del título de Tecnólogo Programador bajo la supervisión de la

Ing. Iraida Santana

Autorizó al centro de información de la Universidad para que el presente trabajo

se convierta en un documento de lectura, de acuerdo a los requisitos establecidos

por la institución. Finalmente expresó que el presente trabajo investigativo ha sido

de mi autoría, razón por la cual cedo los derechos a la Universidad Técnica de

Manabí.

José Macias

Autor

Page 7: Libro Tesis escuela

7

AGRADECIMIENTO

Primeramente agradezco; dios por darme la vida, el que está sobre todo y ante

todo ya que nunca me desampara en ningún momento, también un eterno

agradecimiento a esta prestigiosa universidad la cual abre sus puertas a jóvenes

como nosotros, preparándonos para un futuro competitivo y formándonos como

personas de bien.

En la vida hay momentos de cambios donde hay que tomar decisiones y

emprender nuevos propósitos. Yo estoy en ese instante de cambio, evolución,

aprendizaje y superación gracias a mis padres, mi esposa y la empresa en la que

laboro merecedores de mi agradecimiento, ellos que me brindaron todo el apoyo y

la paciencia necesaria para culminar mi carrera.

Page 8: Libro Tesis escuela

8

DEDICATORIA

Dedico este proyecto de tesis a Dios, a mis padres y mi esposa e hijo. A Dios

porque ha estado conmigo a cada paso que doy, cuidándome y dándome fortaleza

para continuar, a mis padres, quienes a lo largo de mi vida han velado por mi

bienestar y educación siendo mi apoyo en todo momento, a mi esposa y mi hijo

que han depositado su entera confianza en cada reto que se me presentaba sin

dudar ni un solo momento en mi inteligencia y capacidad. Es por eso que quiero

que sepan y tengan siempre presente que no hay obstáculo capaz de imponerse; si

queremos podemos llegar más lejos, si queremos podemos llegar más alto, si

queremos podemos hacer lo que sea solo hay que proponérselo.

Es por ellos que soy lo que soy ahora. Los amo con mi vida.

Page 9: Libro Tesis escuela

9

RESUMEN EJECUTIVO

En la actualidad todas las instituciones públicas o privadas no pueden prescindir

de los adelantos tecnológicos, la informática se ha vuelto una herramienta

indispensable para el desarrollo y servicio a la comunidad.

Toda la información recopilada que sirvió como argumento para respaldar este

programa, se basa en cinco años de observaciones a los problemas vividos a diario

en está escuela por la falta de un sistema basado en un software de fácil manejo, el

que dará un cambio total a la atención en este lugar que presta tanto servicios a la

comunidad de Portoviejo.

Este sistema será un soporte indispensable para la administración de la

información de está escuela.

Dicho programa informático desarrollado en la siguiente tesis cumple con las

características de normatividad en aplicaciones de escritorio. Posee además

factibilidad justificada en su totalidad y respaldada económicamente, cuyo detalle

están en el presente informe.

Page 10: Libro Tesis escuela

10

EXECUTIVE SUMMARY

As of the present moment all public or private institutions can not do without

technological advances, information technology has become an indispensable tool

for development and community service.

All compiled information that was useful for arguendo backing this program, is

based on five years of observations to the problems enjoyed every day in the

school is in favor of the lack of a system based in a user-friendly software, the one

that will give a total change to attention in this place that gives help so much to

Portoviejo's community.

This system will be an indispensable support for the administration of the

information of the school is .

Saying programs information-technology developed in the following thesis he

fulfills normatividad's characteristics in applications of desk. He possesses besides

feasibility justified completely and backed economically, whose detail they are in

the present report.

Page 11: Libro Tesis escuela

11

INTRODUCCIÓN

Desde su aparición los sistemas informáticos se han convertido en una herramienta

valiosa en el campo empresarial gracias a su fácil manejo, a su seguridad mediante su

clave de acceso y por su gran capacidad de almacenamiento de datos.

Los registros de toda la información que generan en la Escuela Fiscal Mixta

“Portete de Tarqui”, se recopilan y se organizan de forma automática sujeta sin

errores, reduciendo espacio de acuerdo al nivel de almacenamiento de dichos

documentos y sin pérdida de tiempo.

Ante los problemas que tenia la Escuela, se planteó como propuesta realizar una

base de datos que permitiera obtener, el registro y control de las matriculas y notas

para gestionar los datos de la información de una forma rápida, fácil, adecuada, en

orden y actualizada que conlleve a un mejoramiento educacional brindando un

mejor rendimiento y desempeño en las actividades que se realiza, conociendo

nuevas opciones y oportunidades al ser implementado el sistema como alternativa

de solución y todo esto fue realizado dando resultados excelentes para el bien de la

institución y de la comunidad.

Este sistema informático es una herramienta de apoyo eficiente, que permite

automatizar y obtener datos exactos, además es muy importante y trascendental, en el

contexto socioeconómico y político, esto permite tener mayor facilidad para el

manejo de la información.

Page 12: Libro Tesis escuela

12

CAPÍTULO I

1.1. JUSTIFICACIÓN

Después de haber realizado las investigaciones en la Escuela Fiscal Mixta

"Portete de Tarqui" se determinó que con el aumento de estudiantes en los

últimos años se registró una gran cantidad de información por parte del

departamento de secretaría estos procesos se realizaban sin mecanismos adecuados

que agilicen, garanticen y organicen la información de manera segura sin riesgo de

perdida o alteración de la información de los estudiantes, por está razón se

consideró que el desarrollo del Sistema Informático es de fundamental

importancia para la institución Educativa, logrando brindar servicios modernos y

actualizados a quienes lo soliciten.

La implementación del sistema se la planteo a la Escuela con la finalidad de

mejorar sus servicios para el mismo plantel educativo y brindar la información de

una forma rápida moderna y actualizada que conlleve a un mejoramiento

institucional y así elevar estándares de calidad. Durante el tiempo de estudios

realizados se han asimilado los conocimientos impartidos por excelentes

catedráticos; su dedicación por formar estudiantes emprendedores y capacitados

para vencer nuevos retos, no ha sido en vano, ya que se venció uno de ellos, que es

la finalización de esté proyecto que sirvió de sostén a ideales afines.

Con la culminación del sistema se ahorro tiempo y dinero; y al ingresar la

información se evitó la realización de reportes y cálculos manuales. La finalización

Page 13: Libro Tesis escuela

13

del proyecto servio como guía para los estudiantes aportando nuevos

conocimientos respecto a los sistemas informáticos.

1.2. PLANTEAMIENTO DEL PROBLEMA

Los procesos que se realizan en la Escuela Fiscal Mixta “Portete de Tarqui” son

muy rápidos, reduciendo espacio, perdida de la información y la pérdida de tiempo

al momento de realizar el proceso de forma manual, ya que tienen los medios

necesario para apresurar el trabajo por está razón se implementó el sistema

informático.

En está Institución Educativa resulto productivo, ya que se evitó la aglomeración

y acumulación de los datos de las matriculas y notas, y así se brindó una mejor

atención, se realizan ajustes satisfactorios que son beneficiosos para la institución

y la comunidad.

1.3. FORMULACIÓN DEL PROBLEMA

¿Cómo incide la implementación de un Sistema Informático de ingreso de

Matriculas y control de Notas para la Escuela Fiscal Mixta “Portete de Tarqui”?

Page 14: Libro Tesis escuela

14

1.4. DELIMITACIÓN DEL PROBLEMA

La presente tesis se llevo a cabo en la Escuela Fiscal Mixta "Portete de Tarqui",

ubicado en la Parroquia Colón de la ciudad de Portoviejo provincia de Manabí en el

periodo 2009 - 2010.

1.5. OBJETIVOS

1.5.1. OBJETIVO GENERAL

Mejorar los procesos mediante la implementación de un sistema informático para

llevar los registros de Matriculas y control de Notas para la Escuela Fiscal Mixta

"Portete de Tarqui", de la Parroquia Colón de la ciudad de Portoviejo provincia de

Manabí.

1.5.2. OBJETIVO ESPECÍFICO

Crear registros que contengan los datos de los estudiantes

Obtener en orden y actualizada la información de datos personales de los

estudiantes

Controlar el ingreso de las notas de los trimestres

Controlar de manera eficaz las inscripciones de matriculas para

cada uno de los estudiantes

Capacitar al personal en el manejo de la nueva información que

presentará el sistema

Tener un mejor control en la organización de los documentos

Page 15: Libro Tesis escuela

15

Permitir la obtención inmediata de reportes de matriculas y notas

1.6. BENEFICIARIOS

1.6.1. DIRECTOS

Al implementar esté sistema informático los beneficiarios directos serán las personas que

acuden a la Escuela Fiscal Mixta Portete de Tarqui.

1.6.2. INDIRECTOS

La comunidad de la parroquia Colón de la ciudad de Portoviejo.

Page 16: Libro Tesis escuela

16

CAPÍTULO II

2.1. MARCO CONCEPTUAL

2.1.1. MARCO REFERENCIAL

HISTORIA

La informática se está introduciendo en nuestra actividad diaria de un modo

vertiginoso y está siendo una necesidad conocerla y utilizarla bien como usuario o

como profesionales.

Lo primero que se debe plantear una persona interesada en esta materia y que se

quiera introducir en el mundo de la informática es conocer en que consiste está

ciencia tecnológica y en que campos de acción se puede aplicar.

Para ello es que se propone la investigación del presente proyecto de tesis y que

tiene que ver con la Escuela Fiscal Mixta "Portete de Tarqui" de la Ciudad de

Portoviejo, que fue creada como municipal el 2 de Mayo de 1950, iniciándose con 120

alumnos en ambos sexos.

En la actualidad cuenta con un local propio moderno y funcional, ubicado en la

vía Pachinche y 2 de Mayo, en el recinto el Cady de la parroquia Colón, Ciudad

de Portoviejo, y cuenta con 250 alumnos entre niñas y niños, que oscilan de los 4 a

los 14 años de edad, los mismos que en su mayoría son de escasos recursos

Page 17: Libro Tesis escuela

17

económicos. Su actual Director es el Lcdo. Humberto Palacios Saltos, contando

con 10 profesores, 1 conserje.

Lo que nos da la idea de la importancia que reviste la modernización de sus

controles de ingresos y calificaciones, tarea fácil de llevar a la practica porque se

cuenta con las herramientas tecnológicas necesarias para este cometido y que

redundará en beneficio de sus estudiantes y una forma más ágil y eficiente de servir

a los mismos y a la colectividad Manabita.

Estos cambios que proponemos modificaran sustancialmente la distribución del

trabajo, el uso del tiempo y la agilidad de los procesos, ahorro de dinero y materiales

de oficina, como también un ahorro en el capital de trabajo que va a posibilitar su

traslado en inversión tecnológica para la mejora de la calidad de los mismos.

Las exigencias actuales exigen directores de escuelas, profesores, trabajadores

administrativos y de servicios junto a alumnos y padres de familias, capaces de

generar iniciativas, tomar decisiones, conocimiento global e integral, visión

estratégica, habituados al trabajo en equipo abiertos a los cambios y dispuestos a

transitar los caminos más innovadores para cumplir los objetivos trazados y a través

de esta investigación poder llevarla a la realidad.

Este es el siglo del alto desarrollo científico y tecnológico es al mismo tiempo el

siglo en el cual las brechas mantiene contradicciones inmensas sin precedentes ya

que el valor del conocimiento no beneficia a la mayoría de la población.

Page 18: Libro Tesis escuela

18

Lo correcto seria que la técnica tenga sentido contribuyendo al desarrollo humano, que

incide directamente sobre los perfiles de desempeño de las personas y las

organizaciones en los procesos ocupacionales, para permitir armonizar la

incorporación de herramientas técnicas modernas, teniendo como eje la solución de

problemas para mejorar la calidad de vida de la población.

Este sistema a implementar determinará los elementos básicos necesarios para poder

desarrollar un software que mejore los procesos, utilizando códigos que darán

mayor realce y presentación a las interfaces del usuario, las que pueden ser

descargadas de paginas Web, dedicadas a la difusión de información sobre Visual

Basic y otros lenguajes pero siempre ajustándose a las necesidades de esta

institución educativa.

Bajo estos escenarios diremos que esta propuesta esta relacionada íntimamente con la

mejora continua de la atención de sus usuarios (padres de familia), como también a la

satisfacción de los objetivos de la escuela, rebasando el concepto de innovación en base

a mejorar incorporando tecnología de punta, que abarca por el momento solo estas

áreas y procesos.

2.2. MARCO TEÓRICO

"Cualquier conjunto de datos organizados para su almacenamiento en la memoria

de un ordenador o computadora, diseñado para facilitar su mantenimiento y acceso

de una forma estándar. La información se organiza en campos y registros. Un

Page 19: Libro Tesis escuela

19

campo se refiere a un tipo o atributo dé información, Y un registro, a toda la

información sobre un individuo.

Los datos pueden aparecer en forma de texto, números, gráficos, sonido o vídeo.

Normalmente las bases de datos presentan la posibilidad de consultar datos, bien

los de un registro o los de una serie de registros que cumplan una condición”. 1

"Desde su aparición en la década de 1950, estas aplicaciones se han hecho

imprescindibles para las sociedades industriales. La primera base de datos para

PC data de 1980; era el dBase II, desarrollado por el ingeniero estadounidense

Wayne Ratliff. Desde entonces, su evolución ha seguido paralela a la que ha

experimentado el software, y hoy existen desde bases de datos para una utilización

personal hasta bases de datos corporativas, soportadas por grandes sistemas

informáticos”. 2

Normalmente las bases de datos presentan la posibilidad de consultar datos, bien

los de un registro o los de una serie de registros que cumplan una condición.

Visual Basic

"El lenguaje de programación BASIC (Beginner's All purpose Simholic Instruction

Code) se creó en el año 1964 como una herramienta destinada a principiantes,

buscando una forma sencilla de realizar programas, empleando un lenguaje similar

1 MICROSOFT VISUAL Basic 6.0

2 MENTOR ENCICLOPEDIA TEMÁTICA ESTUDIANTIL OCÉANO (1997)

Page 20: Libro Tesis escuela

20

al que se utiliza en la vida cotidiana y con instrucciones muy sencillas. Teniendo

en cuenta el año de su creación, este lenguaje cubría la mayoría de las necesidades

para la ejecución de programas.

Hay que tener en cuenta que las maquinas existentes en esa época estrenaban los

transistores como elementos de conmutación, los ciclos de trabajo llegaron a la

inimaginable cifra de 10.000 x seg. y la memoria en palabras de unos pocos K's en

toroides de ferrita”. 3

Programación Visual Basic

La mayoría de aplicaciones Windows, así como otros programas, emplean una

Interfaz Gráfica de Usuario (GUI), consistente en una o más pantallas llenas de

objetos, menús, botones, líneas, cuadros de edición etc, todos inactivos hasta que

el usuario provoca un evento al hacer clic con el ratón sobre un botón, barra de

menús, en la formas, o un comando de tecla o de voz. Una vez que el evento

ocurre, el usuario espera que cada objeto realice su función y se comporte de una

manera confiable.

Este requerimiento de confiabilidad y predecibilidad es el que hace que la

programación orientada a objetos y manejada por eventos sea perfecta para el

desarrollo de aplicaciones Windows. Visual Basic proporciona un ambiente de

desarrollo donde el trabajo tales como objetos y eventos llega a ser un proceso

directo, y lo más importante, bien estructurado.

3 Manual de Visual Basic,www.canalvisualbasic.net

Page 21: Libro Tesis escuela

21

Eventos

Son las acciones que se producen y que nos interesan identificar para establecer

algún tipo de respuesta por parte del objeto.

Propiedades

Es un atributo nominal de un objeto de programación. Las propiedades definen las

características del objeto, tales como tamaño, color, longitud, diámetro, o algunas

veces, la manera en la cual se comporta el objeto, por ejemplo si un cuadro de

texto aceptará líneas de texto múltiples o sencillas.

Métodos

Una descripción completa de un objeto, no se limita a sus propiedades, debe

comprender una definición de lo que hace.

Variables

Una variable es una ubicación de almacenamiento temporal con nombre que se

encuentra en memoria. Una variable es capaz de contener un cierto tipo de datos

que pueden modificarse durante la ejecución del programa.

Las variables en Visual Basic, deben limitarse a 255 caracteres, empezar con un

carácter alfabético y no pueden contener un punto. Tampoco se pueden usar

Page 22: Libro Tesis escuela

22

nombres de variables, las palabras reservadas como por ejemplo: Sub, End o

Function.

Constantes

Como su palabra lo dice es Información que no varía hace más fácil la

comprensión del código y permite modificar un valor en un solo lugar no ocupa

espacio extra.

Alcances de las variables

El alcance de las variables se refiere al área del programa en las cuales es visible

la variable; es decir en áreas del proyecto tendremos disponible las variables. Las

variables declaradas dentro de funciones o procedimientos, serán de alcance local.

Estas variables son reinicializadas cada vez que se ejecuta el procedimiento. Las

variables de nivel de formulario, estarán disponibles para todos los

procedimientos del formulario.

Vectores y Matrices

Para declarar matrices debemos colocar entre paréntesis el número de elementos de

los que constará a continuación del nombre de la variable. De esta forma tenemos un

vector de 10 elementos identificados del O al 9. Podemos obligar a que el primer

elemento de una matriz tenga el índice con valor 1.

Page 23: Libro Tesis escuela

23

Operadores

La tabla siguiente muestra un conjunto de operadores comunes que soporta

Visual Basic para utilizarlos en programación:

Funciones

Es un procedimiento que realiza una tarea específica dentro de un programa y al final

se obtiene un valor de retorno. Una función se define en un modulo que inicia con

la instrucción Function y termina con la instrucción End Function

Conexión a una Base de Datos

El Control de Datos (Data) es un control integrado para conectar una aplicación

Visual Basic con una fuente de datos que se selecciona. Los controles de dalos

proporcionan una forma visual y fácil para navegar por los campos, registros y

tablas de una o más Bases de Datos. También se usan para enlazar algunos

controles, como cuadros de texto, etiquetas, cuadros de dibujo, etc. con los

campos de tablas que se seleccionan en su base de datos. Una vez que un control,

como un cuadro de texto, está asociado a un campo en particular, cualquier cambio

en el contenido del cuadro de texto se registra automáticamente en el campo

asociado. En pocas palabras, los controles de datos asociados permitirán que se

creen aplicaciones de acceso de datos que requieran muy poca o ninguna

codificación.” 4

4 Manual de Visual Basic

Page 24: Libro Tesis escuela

24

Data Grid

Gran parte de la información por que trata los programas informáticos, se presentan en

forma de cuadrículas de columnas y filas, como las que se pueden halar en una hoja

de cálculo. El control de DATA GRID es un nuevo control en VISUAL BASIC 6.0, le

permite desplegar datos desde una base de datos en formato de cuadrículas. El control

DATA GRID está diseñada para utilizarse en los nuevos objetivos de DATOS

ACTIVES x (ADO).5

Formularios

Es un contenedor en el que están todos los demás controles (etiquetas, cuadros de

textos e imágenes) que conforman la interfaz del usuario de un programa, la

mayoría de programas usan unas series de formularios.6

Formularios MDI

MDI significan interfaz de documentos múltiples, que es el término utilizado por

MICROSOFT para un entorno de ventas en donde una de ellas, denominado

contenedor MDI o parte MDI, contiene muchas otras ventanas, denominadas

normalmente formularios hijos.7

5JEFF SPOTTS, Brian Spelt. Visual Basic. Edición Especial, 1999

6 JEFF SPOTTS, Brian Spler. Visual Basic. Edición Especial, 1999

7 JEFF SPOTTS, Brian Spler. Visual Basic. Edición Especial, 1999

Page 25: Libro Tesis escuela

25

Consultas

Es un programa gestor de base de datos, tiene que ocuparse de buscar rápidamente

los datos de un registro que nosotros queramos consultar, y presentarlo en pantalla.

Esta es una de las principales ventanas de estos programas, pues el tiempo que

interviene en localizar una información es infinitamente menor que el que emplearía

una persona para buscar esta información manualmente en un enorme fichero. Las

consultas sirven para recoger datos de las tablas para una mejor comprensión del

Usuario.8

Lenguaje de Consulta SQL

Hace algunos años apareció un sistema de gestión de Base de Datos que se ha

convertido en un estándar en la gestión de datos.

SQL.- Son las iníciales de Structured Query Languaje (Consulta mediante lenguaje

estructurado).

En la gestión de datos, es necesario utilizar un lenguaje fácil, sencillo de manejar y

rápido.

El SQL ofrece ampliamente dichos opciones mediante consultas generales bajo

determinados parámetros que se especifican.

8 MICROSOFT CORPORATION. Manual del Usuario Access. Mc Graw-Hill, 1994

Page 26: Libro Tesis escuela

26

En realidad es un selector de datos que se conecta con la Base de datos que se le

indique y se mueve uno a uno por todos los registros filtrando y analizando los datos

para encontrar lo que se necesite.9

El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos

normalizado, utilizado por el motor de base de datos de Microsoft Jet. SQL se

utiliza para crear objetos QueryDef, como el argumento de origen del método

OpenRecordSet y como la propiedad RecordSource del control de datos. También

se puede utilizar con el método Execute para crear y manipular directamente las

bases de datos Jet y crear consultas SQL de paso a través para manipular bases de

datos remotas cliente - servidor."

Componentes del SQL

El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de

agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y

manipular las bases de datos.

Comandos

Existen dos tipos de comandos SQL:

Los DLL que permiten crear y definir nuevas bases de datos, campos e

índices.

Los DML que permiten generar consultas para ordenar, filtrar y extraer datos

de la base de datos.10

9 Manual de Visual Basic y SQL, www.canalvisualbasic.net

Page 27: Libro Tesis escuela

27

Base de Datos

Se define a una Base de Datos como un fichero en el cual se almacena información

de cualquier tipo.

En dicho fichero la información se almacena en campos, por ejemplo, se puede

almacenar el nombre y el apellido de las personas de modo separado, de esta forma

se obtiene del fichero todos los nombres o todos los apellidos, ya sea de forma

separada como de forma conjunta.

"Aunque en realidad se debe tener en cuenta, que una base de datos, tal y como se la

conoce, no es solo el fichero en donde se guardan los datos, sino que en dicho

fichero se encuentra la estructura de los datos, o sea, para saber que longitud tiene

cada campo, es necesario saber como se llama el campo y que longitud en

caracteres tiene, así como el tipo de datos que se almacenan en dicho campo, por

que guarda desde letras a números e incluso otros datos no sofisticados, esto

depende de la estructura de la base de datos y del sistema que se utilice para saber

cual es dicha estructura."11

10

Manual de Visual Basic, www.canalvisualbasic.net 11

MICROSOFT CORPORATION. Manual del Usuario Access. Me Graw-Hill, 1994

Page 28: Libro Tesis escuela

28

CAPÍTULO III

3.1. DISEÑO METODOLÓGICO

3.1.1. MÉTODOS

Los métodos que se utilizaron en está investigación son los siguientes:

No experimental.-Como su nombre lo indica esté método se utilizó para el

desarrollo del proyecto de investigación a estudiar; del cual no se llevó a

cabo ninguna clase de prueba

Inductivo.- La forma de trabajar con esté método es inducir y centrar con

respecto a la investigación que se realizó mostrando características y

propiedades bajó una observación para hacer conocer razones y hechos

particulares en una forma general

Bibliográfico.- Ayudó a recabar información para la investigación, para

ello se consultó en libros, documentos de archivos, folletos y páginas Web.

3.1.2. TÉCNICAS

Observación

Entrevista

3.1.3. INSTRUMENTOS

Formulario de Entrevista

Page 29: Libro Tesis escuela

29

Fichas Bibliográficas

3.2. RECURSOS

3.2.1. HUMANOS

Miembros de la Escuela Fiscal Mixta "Portete de Tarqui"

Director de Tesis

Autor del Proyecto

José Gabriel Macías Zambrano

3.2.2. MATERIALES

Textos

Papel bond

CD's

Materiales de oficina (esfero, lápiz, borrador, carpetas, clips, perforadora,

grapadora, papel copia)

3.2.3. TECNOLÓGICOS

Gestor de Base de Datos ACCESS

Microsoft Visual Basic 6.0 Edición Empresarial

3.2.4. TÉCNICOS

Hardware Software , Versión 2002

Page 30: Libro Tesis escuela

30

Computador Pentium 4 de 2.0 GHZ, 512 MB DE RAM

3.2.5. INSTITUCIONALES

Universidad Técnica de Manabí

Autoridades de la Escuela "Portete de Tarqui"

3.2.6. ECONÓMICOS

Los recursos económicos son solventados por el ejecutor del proyecto.

Page 31: Libro Tesis escuela

31

3.3. PRESUPUESTO

La investigación tuvo un costo de $518.02 dólares, valor que se cubrió con el

aporte del autor de la investigación, el mismo que fue distribuido de la siguiente

manera:

Unidad

Cantidad Valor Unitario

Valor Total

Recolección de datos (fotocopias)

150

0.03

4.50

CD-RW

7

1.40

9.80

Anillado

1

1.60

1.60

Resma de hojas DIN A4

7

4.50

31.50

Fotocopias del proyecto de Tesis

115

0.03

3.45

Refill de Tinta Negra 1 7.00 7.00

Refill de Tinta Color 1 9.00 9.00

Cartucho de tinta negra

1

21.00

21.00

Cartucho de tinta a color

1

23.00

23.00

Movilización

60.00

Impresión de la tesis

700 hojas

0.20

140.00

Internet

10 horas

1.00

10.00

Empastado de la tesis

6 ejemplares

6.00

36.00

Impresión de la tesis a color

250

0.40 100.00

Imprevistos 10%

30.00

TOTAL:

$ 518.02

Page 32: Libro Tesis escuela

32

CAPÍTULO IV

4.1. CONCLUSIONES Y RECOMENDACIONES

4.1.1. CONCLUSIONES

Luego de terminado el trabajo de investigación realizado con el apoyo de la

informática, mediante la creación de un programa para el funcionamiento de la

Escuela Fiscal Mixta Portete de Tarqui, se concluye:

Las actividades del establecimiento escolar en general fueron muy

beneficiadas

Mejoró sustancialmente la calidad de atención saliendo beneficiadas

especialmente la institución educativa

Con información que se almaceno en la base de dato se pueden realizar

investigaciones estadísticas

4.1.2. RECOMENDACIONES

Toda institución educativa debe tener un programa que permita realizar las

labores de atención y de investigación más eficientes

La utilización de un programa como esté debe de universalizarse, tomando en

consideración todos los programas que para esté tipo de atención existan en el

país, a fin de que teniendo un solo programa estandarizado a nivel nacional,

Page 33: Libro Tesis escuela

33

se pueda organizar de manera uniforme la atención de las instituciones

educativas tanto como públicas y privadas en el Ecuador

Al universalizar un programa de matriculación y control de notas para las

instituciones educativas, estaríamos como consecuencia estandarizando

también los protocolos de atención referentes al trabajo que se realiza en las

entidades educativas existentes en el país.

Page 34: Libro Tesis escuela

34

CAPÍTULO V

PROPUESTA

PORTETE TARQUI

5.1. DESCRIPCIÓN GENERAL DEL SISTEMA

El programa llamado Portete Tarqui es un sistema informático que sirve

para llevar registros de matriculación y control de notas que se dan en la

Escuela Fiscal Mixta Portete de Tarqui, de una manera eficaz y

automatizada para saber con exactitud todos los movimientos que

constantemente se dan, como son las calificaciones, conductas, materias,

datos del estudiante, etc.

El presente sistema informático lo conforman los siguientes módulos:

Formulario inicio de sesión

Formulario de bienvenida al sistema

Formulario Principal (MDI)

Formularios de Ingreso y modificación del estudiante

Formularios de ingreso y modificación del matriculas

Formularios de ingreso y modificación de las materias

Formularios de ingreso y modificación clave del sistema

Page 35: Libro Tesis escuela

35

Formularios de ingreso y modificación de datos de la institución

Formularios de ingreso y modificación de calificaciones

Formularios de ingreso y modificación del profesor

Formularios de reportes

5.2. DETERMINACIÓN DE REQUERIMIENTOS

Se requiere de un sistema de información basado en computadoras, para

registrar información sobre matriculación y control de notas para la

Escuela Fiscal Mixta Portete de Tarqui, para facilitar o mejorar las

actividades que realiza en la misma.

Los requerimientos principales del equipo de computación que se necesita para un

óptimo funcionamiento son:

Marca Mainboard: Intel

Tipo de procesador: Dual Core de 2.0 GHz o Superior

Tamaño de disco duro: 160 Gb de espacio inicial o Superior

Memoria RAM: 1 GB o Superior

Monitor: VGA o SVGA

Unidad de CD: DVD-Rom

Impresora: Opcional

Page 36: Libro Tesis escuela

36

5.3. RELACIONES EXISTENTES DE LA BASE DE DATO

Page 37: Libro Tesis escuela

37

Page 38: Libro Tesis escuela

38

5.4. DISEÑOS DE MÓDULOS

PORTETE TARQUI

DATOS

ESTUDIANTES

REGISTRAR ESTUDIANTE

ACTUALIZACIÓN DE ESTUDIANTES

MATRICULAS

REGISTRAR MATRICULA

ACTUALIZACIÓN DE MATRICULAS

MATERIAS

REGISTRAR MATERIA

ACTUALIZACIÓN DE MATERIAS

PROFESORES

REGISTRAR PROFESOR

ACTUALIZACIÓN DE PROFESORES

AÑO DE EDUCACIÓN BÁSICA

REGISTRAR AÑO

ACTUALIZACIÓN DE AÑOS

SALIR

VER

BARRA

HERRAMIENTA

BARRA

ESTADO

HERRAMIENTAS

CLAVES

CREAR

NUEVA

CLAVE

MODIFICAR

CLAVE

ELIMINAR

CLAVE

AYUDA

MEJORES ESTUDIANTES

EN EL PERIODO

LISTA DE ESTUDIANTES

POR AÑO BASICA

NOTAS DEL AÑO BASICA

POR MATERIA

NOTAS DEL ESTUDIANTE

POR TRIMESTRE

INGRESO DE NOTAS

S

CONFIGURACIÓN

NOTA GENERAL DEL

ESTUDIANTE

CARNET DEL ESTUDIANTE

ACTA DE MATRICULA

CERTIFICADO DE

CONDUCTA

DATOS DEL PROFESOR

REPORTES

ACERCA DEL..

Page 39: Libro Tesis escuela

39

5.5. CRONOGRAMA VALORADO

ACTIVIDADES

TIEMPO EN MESES

MES 1 MES 2 MES 3 MES 4 MES 5 MES 6

HUMANOS MATERIALES COSTOS

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

Elaboración y

presentación del

proyecto

X X X X Facilitadores

y autores del

proyecto.

Carpetas y

Documentos 35,00

Estructuración

de instrumentos X X X X X X X

Autoras y

director de

tesis.

Instrumentos

Papelotes 50,00

Investigación de

la parte Teórica X X X X X

Autoras y

director de

tesis.

Textos, Folletos,

Internet, Copias. 60,00

Aplicación de

instrumentos de

trabajo,

tabulación de los

resultados y

elaboración de

los cuadros

estadísticos.

X X X X X Autoras

población

involucradas.

Instrumentos. 100,00

Presentación del

trabajo en el

Departamento

correspondiente.

X X X X Autoras y

Tribunal.

Trabajo:

empastado,

anillado y

grabado.

150,00

Sustentación de

la investigación. X Autoras y

Tribunal. Tesis Final 123,02

TOTAL 518.02

Page 40: Libro Tesis escuela

40

BIBLIOGRAFÍA

BATINI, CERI Y NAVATHE. Diseño Conceptual de Bases de Datos.

Adisson – Wesley. 1994.

Biblioteca de Consulta Microsoft ® Encarta ® 2008.

HALVARSON, Michael, VISUAL BASIC, (1982).

KORTH, Henry y SILVERSCHATZ, Abraham, FUNDAMENTOS DE

BASE DE DATOS, (1981).

Manual de Visual Basic.

MENTOR ENCICLOPEDIA TEMÁTICA ESTUDIANTIL OCÉANO

(1997)

MICROSOFT VISUAL Basic 6.0

PRESSMAN Roger S. Ingeniería del Software. McGraww-Hill. Tercera

edición. 1993.

Primera Edición MC.GRAW HILL. Españal993

www.canalvisualbasic.net

Page 41: Libro Tesis escuela

41

Page 42: Libro Tesis escuela

42

Page 43: Libro Tesis escuela

43

1. CODIFICACIÓN DEL PROGRAMA

1.1. FORMULARIO INGRESO AL SISTEMA

Dim Tabla As New ADODB.Recordset

Dim Accede As Boolean

Dim Oportunidades As Integer

Private Sub LlenarUsuarios()

On Error GoTo salir

Tabla.Open "Select nombre, iduser from usuarios order by nombre",

Base.ConnectionString, adOpenDynamic

usuarionombre.Clear

While Not Tabla.EOF

usuarionombre.AddItem Tabla!nombre

usuarionombre.ItemData(usuarionombre.NewIndex) = Tabla!iduser

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarUsuarios Else Unload Me

End Sub

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Case 0

If usuarionombre.ListIndex = -1 Then Exit Sub

Page 44: Libro Tesis escuela

44

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

Tabla.Open "Select clave from usuarios where iduser = " &

usuarionombre.ItemData(usuarionombre.ListIndex), Base.ConnectionString,

adOpenDynamic

If Tabla!clave <> Encripta(password.Text, 1) Then

Oportunidades = Oportunidades + 1

If Oportunidades = 3 Then

MsgBox "Oportunidades acabadas. Usted no es un usuario apto para acceder al

sistema", vbExclamation

Accede = False

Unload Me

Else

MsgBox "Clave incorrecta. Lleva " & Oportunidades & " de 3 oportunidades",

vbExclamation

End If

Else

Accede = True

Unload Me

End If

Case 1

Accede = False

Unload Me

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index) Else Unload Me

End Sub

Page 45: Libro Tesis escuela

45

Private Sub Form_Load()

Accede = False

Oportunidades = 0

LlenarUsuarios

End Sub

Private Sub Form_Unload(Cancel As Integer)

If Accede = True Then

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

UsuarioId = usuarionombre.ItemData(usuarionombre.ListIndex)

End If

End Sub

Private Sub password_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then

If boton(0).Enabled = True Then boton(0).Value = True

End If

End Sub

1.2. FORMULARIO DE BIENVENIDA

Dim Tabla As New ADODB.Recordset

Dim C As Integer

Private Sub Form_Load()

C = 0

Tabla.Open "Select * from institucion", Base.ConnectionString, adOpenStatic

If Not Tabla.EOF Then

If Tabla!nombre <> "" Then NombreInstitucion = Tabla!nombre

Page 46: Libro Tesis escuela

46

If Tabla!Direccion <> "" Then DireccionInstitucion = Tabla!Direccion

If Tabla!Director <> "" Then DirectorInstitucion = Tabla!Director

MaxParciales = Tabla!nparciales

MaxAlumnos = Tabla!MaxAlumnos

MaxNota = Tabla!nmaxima

End If

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

autoriza(0).Caption = "Institución: " & NombreInstitucion

autoriza(1).Caption = "Director: " & DirectorInstitucion

Timer1.Interval = 60 '60 estaba actual mente

End Sub

Private Sub Timer1_Timer()

C = C + 1

ProgressBar1.Value = C

If C = 100 Then

Unload Me

End If

End Sub

1.3. FORMULARIO PRINCIPAL

Dim TablaReporte As New ADODB.Recordset

Private Sub aboutof_Click()

acercade.Show 1

End Sub

Private Sub addnewuser_Click()

Page 47: Libro Tesis escuela

47

nuser.Show 1

End Sub

Private Sub asentarmatricula_Click()

matricula.Show 1

End Sub

Private Sub barraestado_Click()

If barraestado.Checked = True Then

barras.Visible = False

barraestado.Checked = False

Config.esta = False

Else

barras.Visible = True

barraestado.Checked = True

Config.esta = True

End If

MenuVer

End Sub

Private Sub barrah_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Index

Case 9: Unload central

End Select

End Sub

Private Sub barrah_ButtonMenuClick(ByVal ButtonMenu As

MSComctlLib.ButtonMenu)

Select Case ButtonMenu.Index

Case 1

Select Case Left(ButtonMenu.Key, 4)

Case "estu"

Page 48: Libro Tesis escuela

48

nestudiante.Show 1

Case "matr"

matricula.Show 1

Case "prof"

profesor.Show 1

Case "mate"

materia.Show 1

Case "clas"

curso.Show 1

End Select

Case 2

Select Case Left(ButtonMenu.Key, 4)

Case "estu"

mestudiante.Show 1

Case "matr"

mmatricula.Show 1

Case "prof"

mprofesor.Show 1

Case "mate"

mmateria.Show 1

Case "clas"

mcurso.Show 1

End Select

Case 3

notas.Show 1

End Select

End Sub

Private Sub beststudentintime_Click()

mejor.Show 1

End Sub

Page 49: Libro Tesis escuela

49

Private Sub deleteuser_Click()

delusers.Show 1

End Sub

Private Sub listgeneralofstudent_Click()

listadogeneral.Show 1

End Sub

Private Sub matriculas_Click()

curso.Show 1

End Sub

Private Sub MDIForm_Load()

On Error GoTo salir

Cuadro.Height = 10000

Configuracion

atras:

barras.Panels.Item(1).Text = Format(Date, "dddd dd \de MMMM \de yyyy")

mnubherramienta.Checked = Config.herra

barrah.Visible = Config.herra

barras.Visible = Config.esta

barraestado.Checked = Config.esta

a$ = AbrirBase

If a$ <> "" Then

If MsgBox("No se ha podido establecer una conexión con la base de datos.

Motivo: - " & a$ & "-", vbRetryCancel + vbInformation) = vbRetry Then GoTo

atras

archivo.Enabled = False

mnuver.Enabled = False

reportes.Enabled = False

mnuusuarios.Enabled = False

mnuayuda.Enabled = False

Page 50: Libro Tesis escuela

50

Exit Sub

End If

TablaReporte.Open "Select count(*) as total from usuarios",

Base.ConnectionString, adOpenDynamic

If TablaReporte!total > 0 Then

UsuarioId = 0 : TablaReporte.Close

loginform.Show 1

If UsuarioId = 0 Then Unload Me: Exit Sub

End If

inicio.Show 1

If MaxParciales = 0 Then MaxParciales = 3

If MaxNota = 0 Then MaxNota = 20

If TablaReporte.State = 1 Then TablaReporte.Close

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

MDIForm_Load

End Sub

Private Sub MDIForm_Unload(Cancel As Integer)

MENSAJE = MsgBox("¿Está seguro que desea salir del sistema?", vbInformation

+ vbYesNo)

If MENSAJE = vbYes Then

If TablaReporte.State = 1 Then TablaReporte.Close

If Base.State = 1 Then Base.Close

End

End If

Cancel = 1

End Sub

Private Sub mnuActaMatriculas_Click()

Load RptMatriculas

Page 51: Libro Tesis escuela

51

RptMatriculas.Show 1

End Sub

Private Sub mnubherramienta_Click()

If mnubherramienta.Checked = True Then

mnubherramienta.Checked = False

barrah.Visible = False

Config.herra = False

Else

barrah.Visible = True

Config.herra = True

mnubherramienta.Checked = True

End If

MenuVer

End Sub

Private Sub mnucascada_Click()

central.Arrange vbCascade

End Sub

Private Sub mnucarnet_Click()

Load RptCarnet : RptCarnet.Show 1

End Sub

Private Sub mnuCertConducta_Click()

RptCertificadoConducta.Show 1

End Sub

Private Sub mnuCertMatricula_Click()

RptCertMatricula.Show 1

End Sub

Page 52: Libro Tesis escuela

52

Private Sub mnuDatosProfesor_Click()

Load RptProfesor : RptProfesor.Show 1

End Sub

Private Sub mnuingresoNotas_Click()

notas.Show 1

End Sub

Private Sub mnuLibretas_Click()

ReportLibreta.Show 1

End Sub

Private Sub modificarmatricula_Click()

mmatricula.Show 1

End Sub

Private Sub modificpassword_Click()

mclave.Show 1

End Sub

Private Sub mosaichorizontal_Click()

central.Arrange vbHorizontal

End Sub

Private Sub mosaicvertival_Click()

central.Arrange vbVertical

End Sub

Private Sub nmateria_Click()

materia.Show 1

End Sub

Page 53: Libro Tesis escuela

53

Private Sub notaofstuden_Click()

ReportNotas.Show 1

End Sub

Private Sub notesofbasicyear_Click()

notasmaterias.Show 1

End Sub

Private Sub nuevoestudiante_Click()

nestudiante.Show 1

End Sub

Private Sub opci_Click()

opciones.Show 1

End Sub

Private Sub organizeicons_Click()

central.Arrange vbArrangeIcons

End Sub

Private Sub profe_Click()

profesor.Show 1

End Sub

Private Sub regestudiantes_Click()

mestudiante.Show 1

End Sub

Private Sub regofaniosbasicos_Click()

mcurso.Show 1

End Sub

Page 54: Libro Tesis escuela

54

Private Sub rofmaterias_Click()

mmateria.Show 1

End Sub

Private Sub rofprofesores_Click()

mprofesor.Show 1

End Sub

Private Sub salir_Click()

MENSAJE = MsgBox("¿Está seguro que desea salir del sistema?", vbInformation

+ vbYesNo)

If MENSAJE = vbYes Then

If TablaReporte.State = 1 Then TablaReporte.Close

If Base.State = 1 Then Base.Close

End

End If

End Sub

1.4. FORMULARIO REGISTRAR MATERIA

Dim Tabla As New ADODB.Recordset

Private Sub bloquear(opcion As Boolean)

nombre.Enabled = opcion

rnumero.Enabled = opcion

Label1(0).Enabled = opcion

Label1(1).Enabled = opcion

boton(0).Enabled = Not opcion

End Sub

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Page 55: Libro Tesis escuela

55

Select Case Index

Case 0

bloquear (True)

nombre.Text = ""

Tabla.Open "Select count(nombre) as total from materias",

Base.ConnectionString, adOpenForwardOnly

rnumero.Text = Tabla!total + 1

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

If nombre.Enabled = True Then nombre.SetFocus

boton(1).Enabled = False

Case 1

Tabla.Open "Select count(nombre) as total from materias where nombre = '" &

nombre.Text & "'", Base.ConnectionString, adOpenForwardOnly

If Tabla!total Then

MsgBox "La materia " & nombre.Text & " ya ha sido registrada en el sistema.

Verifique el nombre y después vuelva a intentarlo", vbExclamation, "Profesor ya

registrado"

Tabla.Close

Set Tabla = Nothing

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

Base.Execute "Insert into materias(nombre) values('" & nombre.Text & "')"

bloquear (False)

boton(1).Enabled = False

MsgBox "Materia " & nombre.Text & ", registrada a perfección", vbInformation

Case Else

Unload Me

Page 56: Libro Tesis escuela

56

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index) Else Unload Me

End Sub

Private Sub Form_Load()

bloquear (False)

boton(1).Enabled = False

End Sub

Private Sub nombre_Change()

If Len(nombre) Then boton(1).Enabled = True Else boton(1).Enabled = False

End Sub

Private Sub nombre_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32: If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13: If boton(1).Enabled = True Then boton(1).SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub nombre_LostFocus()

nombre = StrConv(nombre, vbProperCase)

End Sub

Page 57: Libro Tesis escuela

57

1.5. FORMULARIO ACTUALIZACIÓN MATERIAS

Dim Tabla As New ADODB.Recordset

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

If nombre.ListIndex = -1 And Index <> 3 Then Exit Sub

Select Case Index

Case 0

bloquear (True)

boton(0).Enabled = False

boton(1).Enabled = False

If mpor.Enabled = True Then mpor.SetFocus: mpor.SelLength = Len(mpor)

Case 1

Tabla.Open "Select count(materiaId) + 1 as total from aux where materiaId = " &

nombre.ItemData(nombre.ListIndex), Base.ConnectionString,

adOpenForwardOnly

If Tabla!total > 1 Then

MsgBox "Esta materia no puede ser eliminada ya que ha sido asignada a una o

más clases", vbInformation

nombre.SetFocus

Tabla.Close

Set Tabla = Nothing

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

Base.Execute "Delete * from materias where MateriaId = " &

nombre.ItemData(nombre.ListIndex)

bloquear (False)

mpor.Text = ""

nombre.SetFocus

Page 58: Libro Tesis escuela

58

LlenarMaterias

MsgBox "Materia eliminada del sistema a perfección", vbInformation, "Materia

eliminada"

Case 2

If Len(mpor.Text) = 0 Then Exit Sub

Tabla.Open "Select count(nombre) as total from materias where materiaId <> " &

nombre.ItemData(nombre.ListIndex) & " and nombre = '" & nombre.Text & "'",

Base.ConnectionString, adOpenForwardOnly

If Tabla!total Then

MsgBox "La materia " & nombre.Text & " ya ha sido registrada en el sistema.

Verifique el nombre y después vuelva a intentarlo", vbExclamation, "Profesor ya

registrado"

Tabla.Close

Set Tabla = Nothing

mpor.SetFocus

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

Base.Execute "Update materias set nombre = '" & mpor.Text & "' where materiaId

= " & nombre.ItemData(nombre.ListIndex)

bloquear (False)

mpor.Text = ""

LlenarMaterias

nombre.SetFocus

MsgBox "Materia modificada a perfección", vbInformation, "Materia modificada"

Case 3

Unload Me

End Select

Exit Sub

salir:

Page 59: Libro Tesis escuela

59

If MsgBox(Err.Description, vbRetryCancel + vbExclamation, Err.Source) =

vbRetry Then boton_Click (Index) Else Unload Me

End Sub

Private Sub bloquear(opcion As Boolean)

nombre.Enabled = Not opcion

boton(0).Enabled = opcion

boton(1).Enabled = opcion

boton(2).Enabled = opcion

Label1(0).Enabled = Not opcion

Label1(1).Enabled = opcion

mpor.Enabled = opcion

End Sub

Private Sub LlenarMaterias()

On Error GoTo salir

nombre.Clear

Set Tabla = Base.Execute("Select * from materias order by nombre")

While Not Tabla.EOF

nombre.AddItem Tabla!nombre

nombre.ItemData(nombre.NewIndex) = Tabla!MateriaId

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarMaterias Else Unload Me

End Sub

Page 60: Libro Tesis escuela

60

Private Sub Form_Load()

bloquear (False)

LlenarMaterias

End Sub

Private Sub mpor_Change()

If Len(mpor) > 0 And mpor.Enabled = True Then boton(2).Enabled = True Else

boton(2).Enabled = False

End Sub

Private Sub mpor_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(mpor.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

If boton(2).Enabled = True Then boton(2).SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub mpor_LostFocus()

mpor = StrConv(mpor, vbProperCase)

End Sub

Private Sub nombre_Click()

If nombre.ListIndex = -1 Then Exit Sub

boton(0).Enabled = True

Page 61: Libro Tesis escuela

61

boton(1).Enabled = True

mpor.Text = nombre.Text

End Sub

1.6. FORMULARIO REGISTRAR PROFESOR

Dim Tabla As New ADODB.Recordset

Private Sub bloquear(opcion As Boolean)

nombre.Enabled = opcion

Direccion.Enabled = opcion

Telefono.Enabled = opcion

Especialidad.Enabled = opcion

rnumero.Enabled = opcion

Label1(0).Enabled = opcion

Label1(1).Enabled = opcion

Label1(2).Enabled = opcion

Label1(3).Enabled = opcion

Label1(4).Enabled = opcion

boton(0).Enabled = Not opcion

End Sub

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Case 0

bloquear (True)

nombre.Text = ""

Direccion = ""

Telefono = ""

Especialidad = ""

Page 62: Libro Tesis escuela

62

Tabla.Open "Select count(nombre) as total from profesores",

Base.ConnectionString, adOpenForwardOnly

rnumero.Text = Tabla!total + 1

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

If nombre.Enabled = True Then nombre.SetFocus

boton(1).Enabled = False

Case 1

Tabla.Open "Select count(nombre) as total from profesores where nombre = '" &

nombre.Text & "'", Base.ConnectionString, adOpenForwardOnly

If Tabla!total Then

MsgBox "El profesor " & nombre.Text & " ya ha sido registrado en el sistema.

Verifique el nombre y después vuelva a intentarlo", vbExclamation, "Profesor ya

registrado"

Tabla.Close

Set Tabla = Nothing

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

Base.Execute "Insert into profesores(nombre,direccion,telefono,especialidad)

values('" & Trim(nombre) & "','" & Trim(Direccion) & "','" & Telefono & "','" &

Trim(Especialidad) & "')"

bloquear (False)

boton(1).Enabled = False

MsgBox "Profesor " & nombre.Text & ", registrado a perfección", vbInformation

Case Else

Unload Me

End Select

Exit Sub

Page 63: Libro Tesis escuela

63

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index) Else Unload Me

End Sub

Private Sub Direccion_KeyPress(Tecla As Integer)

Select Case Tecla

Case 13

Telefono.SetFocus

End Select

End Sub

Private Sub Direccion_LostFocus()

Direccion = StrConv(Direccion, vbProperCase)

End Sub

Private Sub Especialidad_KeyPress(Tecla As Integer)

Select Case Tecla

Case Asc("a") To Asc("z")

Case Asc("A") To Asc("Z")

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case 8, 32

Case 13: boton(1).SetFocus

Case Else

Tecla = 0

End Select

End Sub

Private Sub Especialidad_LostFocus()

Especialidad = StrConv(Especialidad, vbProperCase)

End Sub

Page 64: Libro Tesis escuela

64

Private Sub Form_Load()

bloquear (False)

boton(1).Enabled = False

End Sub

Private Sub nombre_Change()

If Len(nombre) Then boton(1).Enabled = True Else boton(1).Enabled = False

End Sub

Private Sub nombre_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

Direccion.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub nombre_LostFocus()

nombre = StrConv(nombre, vbProperCase)

End Sub

Private Sub Telefono_KeyPress(Tecla As Integer)

Select Case Tecla

Case 48 To 57

Case 8

Case 13

Page 65: Libro Tesis escuela

65

Especialidad.SetFocus

Case Else

Tecla = 0

End Select

End Sub

1.7. FORMULARIO ACTUALIZACIÓN DE PROFESORES

Dim Tabla As New ADODB.Recordset

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

If nombre.ListIndex = -1 And Index <> 3 Then Exit Sub

Select Case Index

Case 0

bloquear (True)

boton(0).Enabled = False

boton(1).Enabled = False

If mpor.Enabled = True Then mpor.SetFocus: mpor.SelLength = Len(mpor)

Case 1

Tabla.Open "Select count(ProfesorId) + 1 as total from aux where ProfesorId = "

& nombre.ItemData(nombre.ListIndex), Base.ConnectionString,

adOpenForwardOnly

If Tabla!total > 1 Then

MsgBox "El profesor no puede ser eliminado del sistema ya que ha sido asignado

a una o más clases", vbInformation

nombre.SetFocus

Tabla.Close

Set Tabla = Nothing

Exit Sub

End If

Tabla.Close

Page 66: Libro Tesis escuela

66

Set Tabla = Nothing

Base.Execute "Delete * from profesores where ProfesorId = " &

nombre.ItemData(nombre.ListIndex)

bloquear (False)

mpor.Text = ""

Direccion = ""

Telefono = ""

Especialidad = ""

nombre.SetFocus

LlenarProfesores

MsgBox "Profesor eliminada del sistema a perfección", vbInformation, "Materia

eliminada"

Case 2

If Len(mpor.Text) = 0 Then Exit Sub

Tabla.Open "Select count(nombre) as total from profesores where ProfesorId <> "

& nombre.ItemData(nombre.ListIndex) & " and nombre = '" & nombre.Text &

"'", Base.ConnectionString, adOpenForwardOnly

If Tabla!total Then

MsgBox "El profesor: " & nombre.Text & ", ya ha sido registrado en el sistema.

Verifique el nombre y después vuelva a intentarlo", vbExclamation, "Profesor ya

registrado"

Tabla.Close : Set Tabla = Nothing

mpor.SetFocus

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

Base.Execute "Update profesores set nombre = '" & Trim(mpor) & "',direccion='"

& Trim(Direccion) & "',telefono='" & Telefono & "',especialidad='" &

Trim(Especialidad) & "' where ProfesorId = " &

nombre.ItemData(nombre.ListIndex)

bloquear (False)

Page 67: Libro Tesis escuela

67

mpor.Text = ""

Direccion = ""

Telefono = ""

Especialidad = ""

LlenarProfesores

nombre.SetFocus

MsgBox "Profesor modificado a perfección", vbInformation, "Materia

modificada"

Case 3: Unload Me

End Select

Exit Sub

salir: If MsgBox(Err.Description, vbRetryCancel + vbExclamation, Err.Source) =

vbRetry Then boton_Click (Index) Else Unload Me

End Sub

Private Sub bloquear(opcion As Boolean)

nombre.Enabled = Not opcion

boton(0).Enabled = opcion

boton(1).Enabled = opcion

boton(2).Enabled = opcion

Label1(0).Enabled = Not opcion

Label1(1).Enabled = opcion

Label1(2).Enabled = opcion

Label1(3).Enabled = opcion

Label1(4).Enabled = opcion

mpor.Enabled = opcion

Direccion.Enabled = opcion

Telefono.Enabled = opcion

Especialidad.Enabled = opcion

End Sub

Page 68: Libro Tesis escuela

68

Private Sub LlenarProfesores()

On Error GoTo salir

nombre.Clear

Set Tabla = Base.Execute("Select * from Profesores order by nombre")

While Not Tabla.EOF

nombre.AddItem Tabla!nombre

nombre.ItemData(nombre.NewIndex) = Tabla!profesorid

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarProfesores Else Unload Me

End Sub

Private Sub Direccion_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 13

Telefono.SetFocus

End Select

End Sub

Private Sub Direccion_LostFocus()

Direccion = StrConv(Direccion, vbProperCase)

End Sub

Private Sub Especialidad_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 13

boton(2).SetFocus

Page 69: Libro Tesis escuela

69

End Select

End Sub

Private Sub Especialidad_LostFocus()

Especialidad = StrConv(Especialidad, vbProperCase)

End Sub

Private Sub Form_Load()

bloquear (False)

LlenarProfesores

End Sub

Private Sub mpor_Change()

If Len(mpor) > 0 And mpor.Enabled = True Then boton(2).Enabled = True Else

boton(2).Enabled = False

End Sub

Private Sub mpor_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32: If Len(mpor.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13: Direccion.SetFocus

Case Else: KeyAscii = 0

End Select

End Sub

Private Sub mpor_LostFocus()

mpor = StrConv(mpor, vbProperCase)

End Sub

Page 70: Libro Tesis escuela

70

Private Sub nombre_Click()

If nombre.ListIndex = -1 Then Exit Sub

boton(0).Enabled = True

boton(1).Enabled = True

On Error GoTo Trata

If Tabla.State = 1 Then Tabla.Close

Set Tabla = Base.Execute("select * from profesores where nombre='" &

Trim(nombre.Text) & "'")

mpor.Text = Tabla!nombre

Direccion = Tabla!Direccion

Telefono = Tabla!Telefono

Especialidad = Tabla!Especialidad

Tabla.Close

Set Tabla = Nothing

Exit Sub

Trata:

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

End Sub

Private Sub Telefono_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57, Asc("-"), 8

Case 13

Especialidad.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Page 71: Libro Tesis escuela

71

1.8. FORMULARIO REGISTRAR AÑO BÁSICO

Dim Tabla As New ADODB.Recordset

Private Sub agrega_Click()

matprofe(0).AddItem materia.Text

matprofe(0).ItemData(matprofe(0).NewIndex) =

materia.ItemData(materia.ListIndex)

materia.RemoveItem materia.ListIndex

matprofe(1).AddItem profesor.Text

matprofe(1).ItemData(matprofe(1).NewIndex) =

profesor.ItemData(profesor.ListIndex)

agrega.Enabled = False

boton(1).Enabled = pregunta

End Sub

Private Sub Limpiar()

nombre.Text = ""

matprofe(0).Clear

matprofe(1).Clear

End Sub

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Dim IdAnio As Long

Select Case Index

Case 0

bloquear (True)

boton(1).Enabled = False

LlenarMateria

LlenarProfesor

Limpiar

Page 72: Libro Tesis escuela

72

If nombre.Enabled = True Then nombre.SetFocus

Case 1

Set Tabla = Base.Execute("Select count(*) as total from curso where nombre = '"

& nombre.Text & "'")

If Tabla!total > 0 Then

MsgBox "El aula o año básico a crear ya ha sido registrado. Cambie el nombre si

desea continuar", vbExclamation, "Año ya existente"

nombre.SetFocus

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

Base.Execute ("Insert into curso(nombre) values('" & nombre.Text & "')")

Set Tabla = Base.Execute("Select IdAnio from curso where nombre = '" &

nombre.Text & "'")

If Not Tabla.EOF Then IdAnio = Tabla!IdAnio

Tabla.Close

Set Tabla = Nothing

For i% = 0 To matprofe(0).ListCount - 1

Base.Execute ("Insert Into Aux(AnioId, MateriaId, ProfesorId) values(" & IdAnio

& "," & matprofe(0).ItemData(i%) & "," & matprofe(1).ItemData(i%) & ")")

Next

MsgBox "Año básico creado a perfección", vbInformation

bloquear (False)

Case Else: Unload curso

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index)

End Sub

Page 73: Libro Tesis escuela

73

Private Sub Form_Load()

bloquear (False)

End Sub

Private Sub bloquear(opcion As Boolean)

Frame1.Enabled = opcion

Frame2.Enabled = opcion

nombre.Enabled = opcion

Label1(0).Enabled = opcion

Label1(1).Enabled = opcion

Label1(2).Enabled = opcion

agrega.Enabled = False

materia.Enabled = opcion

profesor.Enabled = opcion

boton(0).Enabled = Not opcion

boton(1).Enabled = opcion

End Sub

Private Sub materia_Click()

If materia.ListIndex <> -1 And profesor.ListIndex <> -1 Then agrega.Enabled =

True Else agrega.Enabled = False

End Sub

Private Sub matprofe_Click(Index As Integer)

If Index Then

matprofe(0).ListIndex = matprofe(1).ListIndex

Else

matprofe(1).ListIndex = matprofe(0).ListIndex

End If

End Sub

Private Sub LlenarMateria()

Page 74: Libro Tesis escuela

74

On Error GoTo salir

materia.Clear

Set Tabla = Base.Execute("Select * from materias order by nombre")

While Not Tabla.EOF

materia.AddItem Tabla!nombre

materia.ItemData(materia.NewIndex) = Tabla!MateriaId

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarMateria

End Sub

Private Sub LlenarProfesor()

On Error GoTo salir

profesor.Clear

Set Tabla = Base.Execute("Select * from profesores order by nombre")

While Not Tabla.EOF

profesor.AddItem Tabla!nombre

profesor.ItemData(profesor.NewIndex) = Tabla!profesorid

Tabla.MoveNext

Wend

Tabla.Close : Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarProfesor

End Sub

Page 75: Libro Tesis escuela

75

Private Sub matprofe_DblClick(Index As Integer)

On Error Resume Next

If MsgBox("Está usted seguro de eliminar la materia y al profesor seleccionado?",

vbYesNo + vbQuestion) = vbYes Then

materia.AddItem matprofe(0).Text

materia.ItemData(materia.NewIndex) =

matprofe(0).ItemData(matprofe(0).ListIndex)

matprofe(0).RemoveItem (matprofe(0).ListIndex)

matprofe(1).RemoveItem (matprofe(1).ListIndex)

End If

boton(1).Enabled = pregunta

End Sub

Private Sub nombre_Change()

boton(1).Enabled = pregunta

End Sub

Private Sub nombre_LostFocus()

nombre = StrConv(nombre, vbProperCase)

End Sub

Private Sub profesor_Click()

If materia.ListIndex <> -1 And profesor.ListIndex <> -1 Then agrega.Enabled =

True Else agrega.Enabled = False

End Sub

Private Function pregunta() As Boolean

If Len(nombre.Text) > 0 And matprofe(0).ListCount > 0 Then pregunta = True

Else pregunta = False

End Function

Page 76: Libro Tesis escuela

76

1.9. FORMULARIO ACTUALIZACIÓN DE AÑOS BÁSICAS

Dim Tabla As New ADODB.Recordset

Dim Aux As New ADODB.Connection

Private Sub agrega_Click()

On Error GoTo sale

Aux.Execute "Insert into aux(anioid,materiaid,profesorid) values(" &

nombre.ItemData(nombre.ListIndex) & "," &

materia.ItemData(materia.ListIndex) & "," &

profesor.ItemData(profesor.ListIndex) & ")"

matprofe(0).AddItem materia.Text

matprofe(0).ItemData(matprofe(0).NewIndex) =

materia.ItemData(materia.ListIndex)

materia.RemoveItem materia.ListIndex

matprofe(1).AddItem profesor.Text

matprofe(1).ItemData(matprofe(1).NewIndex) =

profesor.ItemData(profesor.ListIndex)

agrega.Enabled = False

boton(2).Enabled = pregunta

Exit Sub

sale:

If MsgBox(Err.Description, vbQuestion + vbRetryCancel) = vbRetry Then

agrega_Click

End Sub

Private Sub Limpiar()

nombre.ListIndex = -1

matprofe(0).Clear

mpor.Text = ""

materia.Clear

profesor.Clear

Page 77: Libro Tesis escuela

77

matprofe(1).Clear

End Sub

Private Sub boton_Click(Index As Integer)

On Error GoTo sale

Dim IdAnio As Long

Select Case Index

Case 0

bloquear (True)

boton(0).Enabled = False

boton(1).Enabled = False

boton(2).Enabled = True

Aux.Open Base.ConnectionString

Aux.BeginTrans

mpor.SetFocus

Case 1

If nombre.ListIndex = -1 Then Exit Sub

Set Tabla = Base.Execute("Select count(*) + 1 as total from matriculas where

IdCurso = " & nombre.ItemData(nombre.ListIndex))

If Tabla!total > 1 Then

MsgBox "No se puede eliminar el año básico porque se han matriculado

estudiantes en él.", vbExclamation

nombre.SetFocus

Tabla.Close

Set Tabla = Nothing

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

Base.Execute ("Delete * from curso where idanio = " &

nombre.ItemData(nombre.ListIndex))

LlenarCurso

Page 78: Libro Tesis escuela

78

Limpiar

MsgBox "Año básico eliminado del sistema a perfección", vbInformation

bloquear (False)

Case 2

Set Tabla = Aux.Execute("Select count(*) + 1 as total from curso where nombre =

'" & mpor.Text & "' and idanio <> " & nombre.ItemData(nombre.ListIndex))

If Tabla!total > 1 Then

MsgBox "El aula o año básico a crear ya ha sido registrado. Cambie el nombre si

desea continuar", vbExclamation, "Año ya existente"

mpor.SetFocus

Tabla.Close

Set Tabla = Nothing

Exit Sub

End If

Aux.Execute "Update curso set nombre = '" & mpor.Text & "' where idanio = " &

nombre.ItemData(nombre.ListIndex)

Tabla.Close

Set Tabla = Nothing

Aux.CommitTrans

Aux.Close

LlenarCurso

Limpiar

MsgBox "Año básico modificado a perfección", vbInformation

bloquear (False)

Case 3

If Aux.State = 1 Then Aux.RollbackTrans

If Aux.State = 1 Then Aux.Close

Unload Me

End Select

Exit Sub

sale:

Page 79: Libro Tesis escuela

79

If MsgBox(Err.Description, vbQuestion + vbRetryCancel) = vbRetry Then

boton_Click (Index)

End Sub

Private Sub Form_Load()

bloquear (False)

LlenarCurso

End Sub

Private Sub bloquear(opcion As Boolean)

Frame2.Enabled = opcion

nombre.Enabled = Not opcion

Label1(0).Enabled = opcion

Label1(1).Enabled = opcion

Label1(2).Enabled = opcion

mpor.Enabled = opcion

matprofe(0).Enabled = opcion

matprofe(1).Enabled = opcion

Label1(3).Enabled = opcion

agrega.Enabled = False

materia.Enabled = opcion

profesor.Enabled = opcion

boton(0).Enabled = opcion

boton(1).Enabled = opcion

boton(2).Enabled = opcion

End Sub

Private Sub materia_Click()

If materia.ListIndex <> -1 And profesor.ListIndex <> -1 Then agrega.Enabled =

True Else agrega.Enabled = False

End Sub

Page 80: Libro Tesis escuela

80

Private Sub matprofe_Click(Index As Integer)

If Index Then

matprofe(0).ListIndex = matprofe(1).ListIndex

Else

matprofe(1).ListIndex = matprofe(0).ListIndex

End If

End Sub

Private Sub LlenarCurso()

On Error GoTo sale

nombre.Clear

Set Tabla = Base.Execute("Select * from curso order by nombre")

While Not Tabla.EOF

nombre.AddItem Tabla!nombre

nombre.ItemData(nombre.NewIndex) = Tabla!IdAnio

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

sale:

If MsgBox(Err.Description, vbQuestion + vbRetryCancel) = vbRetry Then

LlenarCurso

End Sub

Private Sub LlenarTodo()

On Error GoTo sale

Dim FlagTabla As Boolean

FlagTabla = False

materia.Clear

profesor.Clear

matprofe(0).Clear

Page 81: Libro Tesis escuela

81

matprofe(1).Clear

If nombre.ListIndex = -1 Then Exit Sub

Tabla.Open "SELECT Materias.Nombre, Materias.MateriaId, Aux.AnioId,

Profesores.Nombre as Profesor, Profesores.ProfesorId " & _

"FROM Profesores INNER JOIN (Materias INNER JOIN Aux ON

Materias.MateriaId = Aux.MateriaId) ON Profesores.ProfesorId = Aux.ProfesorId

" & _

"WHERE Aux.AnioId = " & nombre.ItemData(nombre.ListIndex),

Base.ConnectionString, adOpenDynamic

While Not Tabla.EOF

matprofe(0).AddItem Tabla!nombre

matprofe(0).ItemData(matprofe(0).NewIndex) = Tabla!MateriaId

matprofe(1).AddItem Tabla!profesor

matprofe(1).ItemData(matprofe(1).NewIndex) = Tabla!profesorid

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select * from profesores order by nombre")

While Not Tabla.EOF

profesor.AddItem Tabla!nombre

profesor.ItemData(profesor.NewIndex) = Tabla!profesorid

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select * from materias order by nombre")

While Not Tabla.EOF

For i% = 0 To matprofe(0).ListCount - 1

FlagTabla = True

If Tabla!MateriaId = matprofe(0).ItemData(i%) Then

FlagTabla = False

Page 82: Libro Tesis escuela

82

Exit For

End If

Next

If FlagTabla = True Then

materia.AddItem Tabla!nombre

materia.ItemData(materia.NewIndex) = Tabla!MateriaId

End If

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

sale:

If MsgBox(Err.Description, vbQuestion + vbRetryCancel) = vbRetry Then

LlenarTodo

End Sub

Private Sub matprofe_DblClick(Index As Integer)

On Error GoTo salir

If MsgBox("Está usted seguro de eliminar la materia y al profesor seleccionado?",

vbYesNo + vbQuestion) = vbYes Then

Aux.Execute "delete * from aux where anioid = " &

nombre.ItemData(nombre.ListIndex) & " and materiaid = " &

matprofe(0).ItemData(matprofe(0).ListIndex)

materia.AddItem matprofe(0).Text

materia.ItemData(materia.NewIndex) =

matprofe(0).ItemData(matprofe(0).ListIndex)

matprofe(0).RemoveItem (matprofe(0).ListIndex)

matprofe(1).RemoveItem (matprofe(1).ListIndex)

End If

boton(2).Enabled = pregunta

Exit Sub

Page 83: Libro Tesis escuela

83

salir:

MsgBox "No se puede eliminar la materia selecionada debido a: " &

Err.Description, vbExclamation

End Sub

Private Sub mpor_Change()

boton(2).Enabled = pregunta

End Sub

Private Sub mpor_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

materia.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub mpor_LostFocus()

mpor = StrConv(mpor, vbProperCase)

End Sub

Private Sub nombre_Click()

mcurso.MousePointer = vbHourglass

LlenarTodo

boton(0).Enabled = True

boton(1).Enabled = True

Page 84: Libro Tesis escuela

84

mpor.Text = nombre.Text

mcurso.MousePointer = vbNormal

End Sub

Private Sub profesor_Click()

If materia.ListIndex <> -1 And profesor.ListIndex <> -1 Then agrega.Enabled =

True Else agrega.Enabled = False

End Sub

Private Function pregunta() As Boolean

If boton(0).Enabled = False And Len(mpor.Text) > 0 And matprofe(0).ListCount

> 0 Then pregunta = True Else pregunta = False

End Function

1.10. FORMULARIO REGISTRAR ESTUDIANTE

Dim Tabla As New ADODB.Recordset

Dim Sex As Integer

Private Sub anioescolar_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then calificacion.SetFocus

End Sub

Private Sub anioescolar_LostFocus()

anioescolar = StrConv(anioescolar.Text, vbProperCase)

End Sub

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Case 0

bloquear (True)

Page 85: Libro Tesis escuela

85

Limpiar

LlenarCombos

boton(1).Enabled = False

If nombre.Enabled = True Then nombre.SetFocus

Case 1

If Len(nombre) = 0 Then

MsgBox "Campo vacio", vbCritical

nombre.SetFocus

Exit Sub

ElseIf Len(lnacido) = 0 Then

MsgBox "Campo vacio", vbCritical

lnacido.SetFocus

Exit Sub

ElseIf Len(procedencia) = 0 Then

MsgBox "Campo vacio", vbCritical

procedencia.SetFocus

Exit Sub

ElseIf Len(ciudad) = 0 Then

MsgBox "Campo vacio", vbCritical

ciudad.SetFocus

Exit Sub

ElseIf Len(claseescuela) = 0 Then

MsgBox "Campo vacio", vbCritical

claseescuela.SetFocus

Exit Sub

ElseIf Len(anioescolar) = 0 Then

MsgBox "Campo vacio", vbCritical

anioescolar.SetFocus

Exit Sub

ElseIf Len(calificacion) = 0 Then

MsgBox "Campo vacio", vbCritical

calificacion.SetFocus

Page 86: Libro Tesis escuela

86

Exit Sub

ElseIf Len(origenmatricula) = 0 Then

MsgBox "Campo vacio", vbCritical

origenmatricula.SetFocus

Exit Sub

ElseIf Len(fono) = 0 Then

MsgBox "Campo vacio", vbCritical

fono.SetFocus

Exit Sub

ElseIf Len(nacionalidad) = 0 Then

MsgBox "Campo vacio", vbCritical

nacionalidad.SetFocus

Exit Sub

ElseIf Len(vivecon) = 0 Then

MsgBox "Campo vacio", vbCritical

vivecon.SetFocus

Exit Sub

ElseIf Len(padre) = 0 Then

MsgBox "Campo vacio", vbCritical

padre.SetFocus

Exit Sub

ElseIf Len(ocupacionp) = 0 Then

MsgBox "Campo vacio", vbCritical

ocupacionp.SetFocus

Exit Sub

ElseIf Len(madre) = 0 Then

MsgBox "Campo vacio", vbCritical

madre.SetFocus

Exit Sub

ElseIf Len(ocupacionm) = 0 Then

MsgBox "Campo vacio", vbCritical

ocupacionm.SetFocus

Page 87: Libro Tesis escuela

87

Exit Sub

ElseIf Len(direcciona) = 0 Then

MsgBox "Campo vacio", vbCritical

direcciona.SetFocus

Exit Sub

ElseIf Len(situacion) = 0 Then

MsgBox "Campo vacio", vbCritical

situacion.SetFocus

Exit Sub

ElseIf Len(salud) = 0 Then

MsgBox "Campo vacio", vbCritical

salud.SetFocus

Exit Sub

End If

Tabla.Open "select count(nombre) as total from datos where nombre = '" &

nombre.Text & "'", Base.ConnectionString, adOpenForwardOnly

If Tabla!total > 0 Then

If MsgBox("Existen " & Tabla!total & " estudiante(s) registrado(s) con el mismo

nombre. ¿Aún así desea continuar?.", vbExclamation + vbYesNo) = vbNo Then

nombre.SetFocus: Tabla.Close: Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

If Year(Date) - Year(nacido.Value) < 4 Then

If MsgBox("La edad mínima del estudiante debe ser a partir de los 4 años. ¿Aún

así desea continuar?", vbYesNo + vbExclamation, "Edad seleccionada = " &

Year(Date) - Year(nacido.Value)) = vbNo Then Exit Sub

End If

If MsgBox("¿Esta seguro de querer registrar al estudiante " & nombre.Text &

"?.", vbInformation + vbYesNo) = vbNo Then Exit Sub

sql$ = "Insert into

datos(nombre,lnacimiento,fecha,procedencia,ciudad,claseescuela,anioescuela,calif

Page 88: Libro Tesis escuela

88

icacion,origenmatricula,nacionalidad,vivecon,fono,padre,madre,direapoderado,oc

upacionp,ocupacionm,situacion,salud,sexo) values('"

sql$ = sql$ & nombre.Text & "','" & Left(lnacido.Text, 30) & "','" & nacido.Value

& "','" & Left(procedencia.Text, 30) & "','" & Left(ciudad.Text, 30) & "','" &

Left(claseescuela.Text, 20) & "','" & Left(anioescolar.Text, 20) & "'," &

Val(calificacion.Text) & ",'" & Left(origenmatricula.Text, 30) & "','" &

Left(nacionalidad.Text, 20) & "','" & Left(vivecon.Text, 40) & "','" & fono.Text &

"','" & padre.Text & "','" & madre.Text & "','" & direcciona.Text & "','" &

ocupacionp & "','" & ocupacionm.Text & "','" & Left(situacion.Text, 10) & "','" &

Left(salud.Text, 10) & "'," & Sex & ")"

Base.Execute sql$

bloquear (False)

MsgBox "Se ha registrado al estudiante " & nombre.Text & ", a perfección",

vbInformation, "Estudiante registrado"

Case Else

Unload nestudiante

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index) Else Unload Me

End Sub

Private Sub bloquear(opcion As Boolean)

Frame1.Enabled = opcion

boton(0).Enabled = Not opcion

boton(1).Enabled = opcion

Frame2.Enabled = opcion

Sexo(0).Enabled = opcion

Sexo(1).Enabled = opcion

For i% = 0 To 18

Label1(i%).Enabled = opcion

Page 89: Libro Tesis escuela

89

Next

End Sub

Private Sub Limpiar()

nombre.Text = ""

ciudad.Text = ""

direcciona.Text = ""

nacionalidad.Text = ""

procedencia.Text = ""

claseescuela.Text = ""

anioescolar.Text = ""

calificacion.Text = ""

origenmatricula.Text = ""

situacion.Text = ""

vivecon.Text = ""

salud.Text = ""

lnacido.Text = ""

padre.Text = ""

madre.Text = ""

ocupacionp.Text = ""

fono.Text = ""

ocupacionm.Text = ""

fono.Text = ""

End Sub

Private Sub calificacion_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57

If (Val(calificacion) * 10 + KeyAscii - 48) > MaxNota Then KeyAscii = 0

Case 8

Case 13

origenmatricula.SetFocus

Page 90: Libro Tesis escuela

90

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub calificacion_LostFocus()

calificacion = Val(calificacion.Text)

End Sub

Private Sub ciudad_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then claseescuela.SetFocus

End Sub

Private Sub ciudad_LostFocus()

ciudad = StrConv(ciudad.Text, vbProperCase)

End Sub

Private Sub claseescuela_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(claseescuela.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

anioescolar.SetFocus

Case Else: KeyAscii = 0

End Select

End Sub

Private Sub claseescuela_LostFocus()

claseescuela = StrConv(claseescuela.Text, vbProperCase)

Page 91: Libro Tesis escuela

91

End Sub

Private Sub direcciona_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then situacion.SetFocus

End Sub

Private Sub direcciona_LostFocus()

direcciona = StrConv(direcciona.Text, vbProperCase)

End Sub

Private Sub fono_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57, Asc("-"), 8

Case 13

Sexo(0).SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub Form_Load()

bloquear (False)

nacido.Value = Date

nacido.MaxDate = Date

Sex = 0

Sexo(0).Value = True

End Sub

Private Sub madre_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Page 92: Libro Tesis escuela

92

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

ocupacionm.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub madre_LostFocus()

madre = StrConv(madre.Text, vbProperCase)

End Sub

Private Sub nacido_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 13 Then

procedencia.SetFocus

End If

End Sub

Private Sub nacido_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then nhermanos.SetFocus

End Sub

Private Sub nacionalidad_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

Page 93: Libro Tesis escuela

93

vivecon.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub nacionalidad_LostFocus()

nacionalidad = StrConv(nacionalidad.Text, vbProperCase)

End Sub

Private Sub nombre_Change()

If Len(nombre.Text) > 0 Then boton(1).Enabled = True Else boton(1).Enabled =

False

End Sub

Private Sub nombre_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13: lnacido.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub lnacido_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then nacido.SetFocus

End Sub

Page 94: Libro Tesis escuela

94

Private Sub lnacido_LostFocus()

lnacido.Text = StrConv(lnacido.Text, vbProperCase)

End Sub

Private Sub nombre_LostFocus()

nombre.Text = StrConv(nombre.Text, vbProperCase)

End Sub

Private Sub ocupacionm_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(ocupacionm.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

direcciona.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub ocupacionm_LostFocus()

ocupacionm = StrConv(ocupacionm.Text, vbProperCase)

End Sub

Private Sub ocupacionp_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(ocupacionp.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Page 95: Libro Tesis escuela

95

Case Asc("Ñ"), Asc("ñ")

Case 13

madre.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub ocupacionp_LostFocus()

ocupacionp = StrConv(ocupacionp.Text, vbProperCase)

End Sub

Private Sub origenmatricula_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(origenmatricula.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

fono.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub origenmatricula_LostFocus()

origenmatricula = StrConv(origenmatricula.Text, vbProperCase)

End Sub

Private Sub padre_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Page 96: Libro Tesis escuela

96

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

ocupacionp.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub padre_LostFocus()

padre = StrConv(padre.Text, vbProperCase)

End Sub

Private Sub procedencia_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57

Case 32

If Len(procedencia.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

ciudad.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub procedencia_LostFocus()

Page 97: Libro Tesis escuela

97

procedencia = StrConv(procedencia.Text, vbProperCase)

End Sub

Private Sub salud_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

If boton(1).Enabled = True Then boton(1).SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub salud_LostFocus()

salud = StrConv(salud.Text, vbProperCase)

End Sub

Private Sub sexo_Click(Index As Integer)

Sex = Index

End Sub

Private Sub sexo_KeyPress(Index As Integer, KeyAscii As Integer)

If KeyAscii = 13 Then nacionalidad.SetFocus

End Sub

Private Sub situacion_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

Page 98: Libro Tesis escuela

98

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

salud.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub situacion_LostFocus()

situacion = StrConv(situacion.Text, vbProperCase)

End Sub

Private Sub vivecon_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13: padre.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub vivecon_LostFocus()

vivecon = StrConv(vivecon.Text, vbProperCase)

End Sub

Page 99: Libro Tesis escuela

99

Private Sub LlenarCombos()

lnacido.Clear

procedencia.Clear

ciudad.Clear

anioescolar.Clear

origenmatricula.Clear

claseescuela.Clear

nacionalidad.Clear

vivecon.Clear

situacion.Clear

salud.Clear

Set Tabla = Base.Execute("Select DISTINCT lnacimiento FROM DATOS Where

Lnacimiento <> '' order by lnacimiento")

While Not Tabla.EOF

lnacido.AddItem Tabla!lnacimiento

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT procedencia FROM Datos Where

Procedencia <> '' order by procedencia")

While Not Tabla.EOF

procedencia.AddItem Tabla!procedencia

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT Ciudad from datos Where Ciudad

<> '' order by ciudad")

While Not Tabla.EOF

ciudad.AddItem Tabla!ciudad

Tabla.MoveNext

Page 100: Libro Tesis escuela

100

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT OrigenMatricula from datos where

OrigenMatricula <> '' order by OrigenMatricula")

While Not Tabla.EOF

origenmatricula.AddItem Tabla!origenmatricula

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT Nacionalidad from datos Where

Nacionalidad <> '' order by nacionalidad")

While Not Tabla.EOF

nacionalidad.AddItem Tabla!nacionalidad

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT Vivecon from datos Where vivecon

<> '' order by vivecon")

While Not Tabla.EOF

vivecon.AddItem Tabla!vivecon

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT Situacion from datos Where

Situacion <> '' order by Situacion")

While Not Tabla.EOF

situacion.AddItem Tabla!situacion

Tabla.MoveNext

Page 101: Libro Tesis escuela

101

Wend

Tabla.Close : Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT Salud from datos Where salud <> ''

order by salud")

While Not Tabla.EOF

salud.AddItem Tabla!salud

Tabla.MoveNext

Wend

Tabla.Close : Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT AnioEscuela from datos Where

AnioEscuela <> '' order by AnioEscuela")

While Not Tabla.EOF

anioescolar.AddItem Tabla!AnioEscuela

Tabla.MoveNext

Wend

Tabla.Close : Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT ClaseEscuela from datos Where

ClaseEscuela <> '' order by ClaseEscuela")

While Not Tabla.EOF

claseescuela.AddItem Tabla!claseescuela

Tabla.MoveNext

Wend

Tabla.Close : Set Tabla = Nothing

End Sub

1.11. FORMULARIO ACTUALIZACIÓN DE ESTUDIANTES

Dim Tabla As New ADODB.Recordset

Dim Nomb As String

Dim Sex As Byte

Private Sub anioescolar_KeyPress(KeyAscii As Integer)

Page 102: Libro Tesis escuela

102

If KeyAscii = 13 Then calificacion.SetFocus

End Sub

Private Sub anioescolar_LostFocus()

anioescolar = StrConv(anioescolar.Text, vbProperCase)

End Sub

Private Sub calificacion_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57

If (Val(calificacion) * 10 + KeyAscii - 48) > MaxNota Then KeyAscii = 0

Case 8

Case 13

origenmatricula.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub calificacion_LostFocus()

calificacion = Val(calificacion.Text)

End Sub

Private Sub ciudad_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then claseescuela.SetFocus

End Sub

Private Sub Direccion_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then fono.SetFocus

End Sub

Private Sub ciudad_LostFocus()

Page 103: Libro Tesis escuela

103

ciudad = StrConv(ciudad.Text, vbProperCase)

End Sub

Private Sub claseescuela_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(claseescuela.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

anioescolar.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub claseescuela_LostFocus()

claseescuela = StrConv(claseescuela.Text, vbProperCase)

End Sub

Private Sub direcciona_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then situacion.SetFocus

End Sub

Private Sub direcciona_LostFocus()

direcciona = StrConv(direcciona.Text, vbProperCase)

End Sub

Private Sub fono_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57, Asc("-"), 8

Page 104: Libro Tesis escuela

104

Case 13

Sexo(0).SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub madre_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

ocupacionm.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub madre_LostFocus()

madre = StrConv(madre.Text, vbProperCase)

End Sub

Private Sub nacido_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 13 Then procedencia.SetFocus

End Sub

Private Sub nacionalidad_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

Page 105: Libro Tesis escuela

105

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

vivecon.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub nacionalidad_LostFocus()

nacionalidad = StrConv(nacionalidad.Text, vbProperCase)

End Sub

Private Sub nombre_Change()

If Len(nombre.Text) > 0 And lnacido.Enabled = True Then boton(2).Enabled =

True Else boton(2).Enabled = False

End Sub

Private Sub nombre_KeyPress(KeyAscii As Integer)

On Error Resume Next

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

lnacido.SetFocus

Case Else

KeyAscii = 0

Page 106: Libro Tesis escuela

106

End Select

End Sub

Private Sub lnacido_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then nacido.SetFocus

End Sub

Private Sub lnacido_LostFocus()

lnacido.Text = StrConv(lnacido.Text, vbProperCase)

End Sub

Private Sub nombre_LostFocus()

nombre.Text = StrConv(nombre.Text, vbProperCase)

End Sub

Private Sub ocupacionm_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(ocupacionm.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13: direcciona.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub ocupacionm_LostFocus()

ocupacionm = StrConv(ocupacionm.Text, vbProperCase)

End Sub

Page 107: Libro Tesis escuela

107

Private Sub ocupacionp_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(ocupacionp.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

madre.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub ocupacionp_LostFocus()

ocupacionp = StrConv(ocupacionp.Text, vbProperCase)

End Sub

Private Sub origenmatricula_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(origenmatricula.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

fono.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Page 108: Libro Tesis escuela

108

Private Sub origenmatricula_LostFocus()

origenmatricula = StrConv(origenmatricula.Text, vbProperCase)

End Sub

Private Sub padre_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

ocupacionp.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub padre_LostFocus()

padre = StrConv(padre.Text, vbProperCase)

End Sub

Private Sub procedencia_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57

Case 32

If Len(procedencia.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

ciudad.SetFocus

Page 109: Libro Tesis escuela

109

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub procedencia_LostFocus()

procedencia = StrConv(procedencia.Text, vbProperCase)

End Sub

Private Sub salud_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

If boton(1).Enabled = True Then boton(1).SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub salud_LostFocus()

salud = StrConv(salud.Text, vbProperCase)

End Sub

Private Sub sexo_Click(Index As Integer)

Sex = Index

End Sub

Private Sub sexo_KeyPress(Index As Integer, KeyAscii As Integer)

Page 110: Libro Tesis escuela

110

If KeyAscii = 13 Then nacionalidad.SetFocus

End Sub

Private Sub situacion_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

salud.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub situacion_LostFocus()

situacion = StrConv(situacion.Text, vbProperCase)

End Sub

Private Sub vivecon_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(nombre.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

padre.SetFocus

Case Else

KeyAscii = 0

Page 111: Libro Tesis escuela

111

End Select

End Sub

Private Sub vivecon_LostFocus()

vivecon = StrConv(vivecon.Text, vbProperCase)

End Sub

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Case 0 ' Boton Modificar: Activar Todo

bloquear (True)

boton(1).Enabled = False

boton(0).Enabled = False

nombre.Text = Nomb

Case 1 ' Boton Eliminar: Comprobar si tiene registros

nombre.Text = Nomb

Tabla.Open "Select count(numero) as total from matriculas where AlumnoId = "

& BuscarOpcion, Base.ConnectionString, adOpenForwardOnly

If Tabla!total > 0 Then

MsgBox "El estudiante " & Nomb & ", no se puede eliminar debido a que ha sido

registrado en la tabla de matrículas.", vbExclamation, "Alumno contiene " &

Tabla!total

Tabla.Close

Set Tabla = Nothing

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

If MsgBox("¿Está seguro de querer eliminar al estudiante " & Nomb & ", del

sistema para siempre?", vbInformation + vbYesNo) = vbYes Then

Base.Execute "Delete * from datos where AlumnoId = " & BuscarOpcion

Page 112: Libro Tesis escuela

112

MsgBox "Estudiante " & Nomb & ", eliminado totalmente de la base de datos",

vbInformation

Nomb = ""

BuscarOpcion = "0"

Limpiar

bloquear (False)

End If

Case 2 ' Boton guardar

If Year(Date) - Year(nacido.Value) < 4 Then

If MsgBox("La edad mínima del estudiante debe ser a partir de los 4 años. ¿Aún

así desea continuar?", vbYesNo + vbExclamation, "Edad seleccionada = " &

Year(Date) - Year(nacido.Value)) = vbNo Then Exit Sub

End If

Base.Execute "Update datos set nombre = '" & nombre.Text & "', lnacimiento = '"

& Left(lnacido.Text, 30) & "', fecha = '" & nacido.Value & "', Procedencia = '" &

Left(procedencia.Text, 30) & "', Ciudad = '" & Left(ciudad.Text, 30) &

"',claseescuela = '" & Left(claseescuela.Text, 20) & "', anioescuela = '" &

Left(anioescolar.Text, 20) & "', calificacion = " & Val(calificacion) & ",

origenmatricula = '" & Left(origenmatricula.Text, 30) & "',nacionalidad = '" &

Left(nacionalidad.Text, 20) & "',vivecon = '" & Left(vivecon.Text, 40) & "',fono

= '" & fono.Text & "',padre = '" & padre.Text & "', madre = '" & madre.Text &

"',Direapoderado = '" & direcciona.Text & "',OcupacionP = '" & ocupacionp.Text

& "',OcupacionM = '" & ocupacionm.Text & "',Situacion = '" &

Left(situacion.Text, 10) & "',salud = '" & Left(salud.Text, 20) & "',sexo = " & Sex

& " Where AlumnoId = " & BuscarOpcion

Nomb = nombre.Text

MsgBox "Estudiante " & Nomb & ", modificado a perfección", vbInformation,

"Estudiante modificado"

bloquear (False)

boton(0).Enabled = True

boton(1).Enabled = True

Case Else

Page 113: Libro Tesis escuela

113

Unload mestudiante

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbRetryCancel + vbQuestion, Err.Number) = vbRetry

Then boton_Click (Index) Else Unload Me

End Sub

Private Sub Command1_Click()

bloquear (False)

LlenarCombos

boton(2).Enabled = False

BuscarOpcion = "Select AlumnoId, Nombre from datos where left(nombre," &

Len(nombre.Text) & ") = '" & nombre.Text & "' order by nombre;"

Cuenta = "Select count(Nombre) as total from datos where left(nombre," &

Len(nombre.Text) & ") = '" & nombre.Text & "'"

consulta.Show 1

If BuscarOpcion = "0" Then bloquear (False): Limpiar: Exit Sub

Tabla.Open "Select * from datos where alumnoid = " & BuscarOpcion,

Base.ConnectionString, adOpenForwardOnly

boton(0).Enabled = True

boton(1).Enabled = True

LlenarDatos

Tabla.Close

Set Tabla = Nothing

boton(2).Enabled = False

boton(0).SetFocus

End Sub

Private Sub LlenarDatos()

On Error GoTo salir

Nomb = Tabla!nombre

Page 114: Libro Tesis escuela

114

nombre.Text = Tabla!nombre

If Tabla!lnacimiento <> "" Then lnacido.Text = Tabla!lnacimiento Else

lnacido.Text = ""

If Tabla!vivecon <> "" Then vivecon.Text = Tabla!vivecon Else vivecon.Text =

""

If Tabla!procedencia <> "" Then procedencia.Text = Tabla!procedencia Else

procedencia.Text = ""

If Tabla!ciudad <> "" Then ciudad.Text = Tabla!ciudad Else ciudad.Text = ""

If Tabla!claseescuela <> "" Then claseescuela.Text = Tabla!claseescuela Else

claseescuela.Text = ""

If Tabla!AnioEscuela <> "" Then anioescolar.Text = Tabla!AnioEscuela Else

anioescolar.Text = ""

If Tabla!calificacion <> "" Then calificacion.Text = Tabla!calificacion Else

calificacion.Text = ""

If Tabla!origenmatricula <> "" Then origenmatricula.Text =

Tabla!origenmatricula Else origenmatricula.Text = ""

If Tabla!nacionalidad <> "" Then nacionalidad.Text = Tabla!nacionalidad Else

nacionalidad.Text = ""

If Tabla!fono <> "" Then fono.Text = Tabla!fono Else fono.Text = ""

If Tabla!direapoderado <> "" Then direcciona.Text = Tabla!direapoderado Else

direcciona.Text = ""

If Tabla!padre <> "" Then padre.Text = Tabla!padre Else padre.Text = ""

If Tabla!madre <> "" Then madre.Text = Tabla!madre Else madre.Text = ""

If Tabla!ocupacionp <> "" Then ocupacionp.Text = Tabla!ocupacionp Else

ocupacionp.Text = ""

If Tabla!ocupacionm <> "" Then ocupacionm.Text = Tabla!ocupacionm Else

ocupacionm.Text = ""

If Tabla!situacion <> "" Then situacion.Text = Tabla!situacion Else situacion.Text

= ""

If Tabla!salud <> "" Then salud.Text = Tabla!salud Else salud.Text = ""

If Tabla!padre <> "" Then padre.Text = Tabla!padre Else padre.Text = ""

If Tabla!fecha <> "" Then nacido.Value = Tabla!fecha

Page 115: Libro Tesis escuela

115

Sexo(Tabla!Sexo).Value = True

Sex = Tabla!Sexo

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarDatos Else Unload Me

End Sub

Private Sub bloquear(opcion As Boolean)

ciudad.Enabled = opcion

direcciona.Enabled = opcion

nacionalidad.Enabled = opcion

situacion.Enabled = opcion

vivecon.Enabled = opcion

salud.Enabled = opcion

lnacido.Enabled = opcion

padre.Enabled = opcion

nacido.Enabled = opcion

ocupacionp.Enabled = opcion

madre.Enabled = opcion

fono.Enabled = opcion

procedencia.Enabled = opcion

anioescolar.Enabled = opcion

claseescuela.Enabled = opcion

calificacion.Enabled = opcion

origenmatricula.Enabled = opcion

ocupacionm.Enabled = opcion

fono.Enabled = opcion

boton(0).Enabled = opcion

boton(1).Enabled = opcion

boton(2).Enabled = opcion

Frame1.Enabled = opcion

Page 116: Libro Tesis escuela

116

Sexo(0).Enabled = opcion

Sexo(1).Enabled = opcion

For i% = 1 To 18

Label1(i%).Enabled = opcion

Next

End Sub

Private Sub Limpiar()

nombre.Text = ""

ciudad.Text = ""

direcciona.Text = ""

nacionalidad.Text = ""

situacion.Text = ""

procedencia.Text = ""

anioescolar.Text = ""

calificacion.Text = ""

claseescuela.Text = ""

origenmatricula.Text = ""

vivecon.Text = ""

salud.Text = ""

lnacido.Text = ""

padre.Text = ""

ocupacionp.Text = ""

fono.Text = ""

madre.Text = ""

ocupacionm.Text = ""

fono.Text = ""

End Sub

Private Sub Form_Load()

bloquear (False)

nacido.Value = Date

Page 117: Libro Tesis escuela

117

nacido.MaxDate = Date

Sex = 0

Sexo(0).Value = True

End Sub

Private Sub LlenarCombos()

lnacido.Clear

procedencia.Clear

ciudad.Clear

origenmatricula.Clear

anioescolar.Clear

claseescuela.Clear

nacionalidad.Clear

vivecon.Clear

situacion.Clear

salud.Clear

Set Tabla = Base.Execute("Select DISTINCT lnacimiento FROM DATOS Where

Lnacimiento <> '' order by lnacimiento")

While Not Tabla.EOF

lnacido.AddItem Tabla!lnacimiento

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT procedencia FROM Datos Where

Procedencia <> '' order by procedencia")

While Not Tabla.EOF

procedencia.AddItem Tabla!procedencia

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Page 118: Libro Tesis escuela

118

Set Tabla = Base.Execute("Select DISTINCT Ciudad from datos Where Ciudad

<> '' order by ciudad")

While Not Tabla.EOF

ciudad.AddItem Tabla!ciudad

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT OrigenMatricula from datos where

OrigenMatricula <> '' order by OrigenMatricula")

While Not Tabla.EOF

origenmatricula.AddItem Tabla!origenmatricula

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT Nacionalidad from datos Where

Nacionalidad <> '' order by nacionalidad")

While Not Tabla.EOF

nacionalidad.AddItem Tabla!nacionalidad

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT Vivecon from datos Where vivecon

<> '' order by vivecon")

While Not Tabla.EOF

vivecon.AddItem Tabla!vivecon

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Page 119: Libro Tesis escuela

119

Set Tabla = Base.Execute("Select DISTINCT Situacion from datos Where

Situacion <> '' order by Situacion")

While Not Tabla.EOF

situacion.AddItem Tabla!situacion

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT Salud from datos Where salud <> ''

order by salud")

While Not Tabla.EOF

salud.AddItem Tabla!salud

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT AnioEscuela from datos Where

AnioEscuela <> '' order by AnioEscuela")

While Not Tabla.EOF

anioescolar.AddItem Tabla!AnioEscuela

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT ClaseEscuela from datos Where

ClaseEscuela <> '' order by ClaseEscuela")

While Not Tabla.EOF

claseescuela.AddItem Tabla!claseescuela

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Page 120: Libro Tesis escuela

120

End Sub

1.12. FORMULARIO REGISTRAR MATRICULA

Dim Tabla As New ADODB.Recordset

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Case 0

ado.Refresh

busc.Text = ""

LlenarCurso

LlenarMateria

Set Tabla = Base.Execute("Select (Max(numero) + 1) as numero from matriculas

where lectivo = " & Year(Date))

If IsNull(Tabla!numero) Then numero = 1 Else numero = Val(Tabla!numero)

Tabla.Close

Set Tabla = Nothing

bloquear (True)

Case 1

If Len(curso) = 0 Then

MsgBox "Campo vacio", vbExclamation

curso.SetFocus

Exit Sub

ElseIf Len(representa) = 0 Then

MsgBox "Campo vacio", vbExclamation

representa.SetFocus

Exit Sub

ElseIf Len(obs) = 0 Then

MsgBox "Campo vacio", vbExclamation

obs.SetFocus

Page 121: Libro Tesis escuela

121

Exit Sub

End If

If curso.ListIndex = -1 Or Val(nombre.BoundText) = 0 Then MsgBox

"Seleccione toda la información antes de continuar", vbExclamation: Exit Sub

If MaxAlumnos > 0 Then

Tabla.Open "Select count(*) + 1 as total from matriculas where idcurso = " &

curso.ItemData(curso.ListIndex) & " and lectivo = " & Year(Date),

Base.ConnectionString, adOpenStatic

If Tabla!total > MaxAlumnos Then

MsgBox "No se pueden registrar más de " & MaxAlumnos & " en el año básico

seleccionado", vbExclamation, "Limite del curso lleno"

Tabla.Close

Set Tabla = Nothing

curso.SetFocus

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

End If

Tabla.Open "Select count(alumnoid) + 1 as total from matriculas where alumnoid

= " & Val(nombre.BoundText) & " and lectivo = " & Year(Date),

Base.ConnectionString, adOpenForwardOnly

If Tabla!total > 1 Then

MsgBox "El estudiante " & busc.Text & " ya ha sido matriculado en este año

lectivo", vbExclamation, "Alumno ya matriculado"

Tabla.Close

Set Tabla = Nothing

busc.SetFocus

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

Page 122: Libro Tesis escuela

122

Base.Execute "Insert Into matriculas(numero,lectivo,AlumnoId,

IdCurso,Representante, fecha) values(" & Val(numero.Text) & "," & Year(Date)

& "," & Val(nombre.BoundText) & "," & curso.ItemData(curso.ListIndex) & ",'"

& representa.Text & "','" & Format(Now, "dd/mm/yyyy") & "')"

MsgBox "Alumno matriculado a perfección", vbInformation

bloquear (False)

Case Else

Unload Me

' Salir

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index) Else Unload Me

End Sub

Private Sub busc_Change()

nombre.Text = busc.Text

If Len(busc) = 0 Then nombre.Visible = False Else nombre.Visible = True

End Sub

Private Sub busc_KeyDown(KeyCode As Integer, Shift As Integer)

If Len(busc) > 0 Then

Select Case KeyCode

Case 40, 38

If nombre.Visible = True Then nombre.SetFocus

End Select

End If

End Sub

Private Sub busc_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Page 123: Libro Tesis escuela

123

Case 13

If Not IsNull(nombre.SelectedItem) Then

curso.SetFocus

End If

End Select

End Sub

Private Sub LlenarCurso()

On Error GoTo salir

Tabla.Open "Select * from curso order by nombre", Base.ConnectionString,

adOpenDynamic

curso.Clear

While Not Tabla.EOF

curso.AddItem Tabla!nombre

curso.ItemData(curso.NewIndex) = Tabla!IdAnio

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarCurso Else Unload Me

End Sub

Private Sub curso_Click()

LlenarMateria

End Sub

Private Sub Form_Load()

On Error GoTo salir

lectivo.Text = Year(Date)

Page 124: Libro Tesis escuela

124

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

ado.ConnectionString = Base.ConnectionString

ado.RecordSource = "Select datos.Nombre, datos.AlumnoId from datos order by

datos.nombre"

bloquear (False)

materia.Rows = 1

central.MousePointer = vbNormal

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

Form_Load Else Unload Me

End Sub

Private Sub bloquear(opcion As Boolean)

nombre.Enabled = opcion

numero.Enabled = opcion

lectivo.Enabled = opcion

materia.Enabled = opcion

If opcion = False Then

materia.ForeColorFixed = &H8000000C

Else

materia.ForeColorFixed = RGB(0, 0, 0)

End If

curso.Enabled = opcion

obs.Enabled = opcion

busc.Enabled = opcion

boton(0).Enabled = Not opcion

boton(1).Enabled = opcion

representa.Enabled = opcion

Page 125: Libro Tesis escuela

125

For i% = 0 To 5

Label1(i%).Enabled = opcion

Next

End Sub

Private Sub nombre_DblClick(Area As Integer)

nombre_KeyPress (13)

End Sub

Private Sub nombre_GotFocus()

SendKeys "{Down}"

End Sub

Private Sub nombre_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 13

busc.Text = nombre.Text

nombre.Visible = False

curso.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub LlenarMateria()

On Error GoTo salir

materia.Clear

materia.Rows = 1

materia.FormatString = "Materia|Profesor"

materia.ColWidth(0) = 3500

materia.ColWidth(1) = 3500

If curso.ListIndex = -1 Then Exit Sub

Page 126: Libro Tesis escuela

126

Set Tabla = Base.Execute("Select materias.nombre as Materia, profesores.nombre

as Profesor from aux, materias, profesores where materias.materiaid =

aux.materiaid and profesores.profesorid = aux.profesorid and aux.anioid = " &

curso.ItemData(curso.ListIndex) & " order by materias.nombre")

While Not Tabla.EOF

With materia

.Rows = .Rows + 1

.Row = .Rows - 1

.Col = 0

.Text = Tabla!materia

.Col = 1

.Text = Tabla!profesor

End With

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarMateria Else Unload Me

End Sub

Private Sub obs_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(obs.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case Else

KeyAscii = 0

Page 127: Libro Tesis escuela

127

End Select

End Sub

Private Sub obs_LostFocus()

obs = StrConv(obs, vbProperCase)

End Sub

Private Sub representa_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(representa.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

obs.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub representa_LostFocus()

representa = StrConv(representa, vbProperCase)

End Sub

1.13. FORMULARIO ACTUALIZACIÓN DE MATRICULAS

Dim Tabla As New ADODB.Recordset

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Page 128: Libro Tesis escuela

128

Case 0

bloquear (True)

boton(0).Enabled = False

boton(1).Enabled = False

boton(2).Enabled = True

If curso.Enabled = True Then curso.SetFocus

Case 1

Base.Execute "Delete * from matriculas where numero = " &

nombre.ItemData(nombre.ListIndex) & " and lectivo = " & Year(Date)

bloquear (False)

curso.ListIndex = -1

representa.Text = ""

obs.Text = ""

LlenarAlumnos

MsgBox "Estudiante eliminado a perfección del sistema", vbInformation

Case 2

Base.Execute "Update matriculas set idcurso = " &

curso.ItemData(curso.ListIndex) & ", Representante = '" & representa.Text & "',

observacion = '" & obs.Text & "' where numero = " &

nombre.ItemData(nombre.ListIndex) & " and lectivo = " & Year(Date)

curso.ListIndex = -1

representa.Text = ""

obs.Text = ""

LlenarAlumnos

bloquear (False)

boton(0).Enabled = False

MsgBox "Estudiante modificado a perfección", vbInformation

Case 3

Unload Me

End Select

Exit Sub

salir:

Page 129: Libro Tesis escuela

129

Select Case Err.Number

Case Existente

MsgBox "El estudiante seleccionado tiene notas registradas en el sistema, por este

motivo no se lo debe eliminar.", vbExclamation

Case Else

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index) Else Unload Me

End Select

End Sub

Private Sub bloquear(opcion As Boolean)

nombre.Enabled = Not opcion

materia.Enabled = opcion

If opcion = False Then

materia.ForeColorFixed = &H8000000C

Else

materia.ForeColorFixed = RGB(0, 0, 0)

End If

curso.Enabled = opcion

obs.Enabled = opcion

boton(0).Enabled = opcion

boton(1).Enabled = opcion

boton(2).Enabled = opcin

representa.Enabled = opcion

Label1(0).Enabled = Not opcion

Label1(4).Enabled = Not opcion

For i% = 1 To 3

Label1(i%).Enabled = opcion

Next

End Sub

Private Sub curso_Click()

Page 130: Libro Tesis escuela

130

LlenarMateria

End Sub

Private Sub Form_Load()

bloquear (False)

LlenarAlumnos

LlenarCurso

lectivo.Text = Year(Date)

End Sub

Private Sub LlenarAlumnos()

On Error GoTo salir

nombre.Clear

Tabla.Open "Select nombre, numero from datos, matriculas where lectivo = " &

Year(Date) & " and datos.alumnoid = matriculas.alumnoid",

Base.ConnectionString, adOpenDynamic

'Set tabla = Base.Execute("Select nombre, numero from datos, matriculas where

lectivo = " & Year(Date) & " and datos.alumnoid = matriculas.alumnoid",

Base.ConnectionString, adOpenDynamic)

While Not Tabla.EOF

nombre.AddItem Tabla!nombre

nombre.ItemData(nombre.NewIndex) = Tabla!numero

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarAlumnos Else Unload Me

End Sub

Page 131: Libro Tesis escuela

131

Private Sub LlenarCurso()

On Error GoTo salir

Tabla.Open "Select * from curso order by nombre", Base.ConnectionString,

adOpenDynamic

While Not Tabla.EOF

curso.AddItem Tabla!nombre

curso.ItemData(curso.NewIndex) = Tabla!IdAnio

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarCurso Else Unload Me

End Sub

Private Sub nombre_Click()

On Error GoTo salir

If nombre.ListIndex = -1 Then Exit Sub

Set Tabla = Base.Execute("Select idcurso, representante, observacion from

matriculas where numero = " & nombre.ItemData(nombre.ListIndex) & " and

lectivo = " & Year(Date))

If Not Tabla.EOF Then

If Not IsNull(Tabla!representante) Then representa.Text = Tabla!representante

If Not IsNull(Tabla!observacion) Then obs.Text = Tabla!observacion

For i% = 0 To curso.ListCount - 1

If Tabla!idcurso = curso.ItemData(i%) Then

Tabla.Close

Set Tabla = Nothing

curso.ListIndex = i%

Exit For

Page 132: Libro Tesis escuela

132

End If

Next

End If

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

boton(0).Enabled = True

boton(1).Enabled = True

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

nombre_Click Else Unload Me

End Sub

Private Sub LlenarMateria()

On Error GoTo salir

materia.Clear

materia.Rows = 1

materia.FormatString = "Materia|Profesor"

materia.ColWidth(0) = 3500

materia.ColWidth(1) = 3500

If curso.ListIndex = -1 Then Exit Sub

Set Tabla = Base.Execute("Select materias.nombre as Materia, profesores.nombre

as Profesor from aux, materias, profesores where materias.materiaid =

aux.materiaid and profesores.profesorid = aux.profesorid and aux.anioid = " &

curso.ItemData(curso.ListIndex) & " order by materias.nombre")

While Not Tabla.EOF

With materia

.Rows = .Rows + 1

.Row = .Rows - 1

.Col = 0

Page 133: Libro Tesis escuela

133

.Text = Tabla!materia

.Col = 1

.Text = Tabla!profesor

End With

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarMateria Else Unload Me

End Sub

Private Sub obs_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 32

If Len(obs.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub obs_LostFocus()

obs = StrConv(obs, vbProperCase)

End Sub

Private Sub representa_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Page 134: Libro Tesis escuela

134

Case 32

If Len(representa.Text) = 0 Then KeyAscii = 0

Case 65 To 90, 97 To 122, 8

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("Ñ"), Asc("ñ")

Case 13

obs.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub representa_LostFocus()

representa = StrConv(representa, vbProperCase)

End Sub

1.14. FORMULARIO INGRESO DE NOTAS

Dim Tabla As New ADODB.Recordset

Private Sub anio_Click()

ciclo_Click

End Sub

Private Sub anio_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57

If Len(anio.Text) > 3 Then KeyAscii = 0

Case 8

Case Else

KeyAscii = 0

End Select

Page 135: Libro Tesis escuela

135

End Sub

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Case 0

LlenarCiclo

bloquear (True)

boton(1).Enabled = False

Case 1

For i% = 1 To nota.Rows - 1

nota.Row = i%

nota.Col = 1

S$ = "Update notas set tareas = " & nota.Text

nota.Col = 2

S$ = S$ & ", varios = " & Val(nota.Text) & ","

nota.Col = 3

S$ = S$ & " aporte = " & Val(nota.Text) & ","

nota.Col = 4

S$ = S$ & " examen = " & Val(nota.Text) & ","

nota.Col = 5

S$ = S$ & " promedio = " & Val(nota.Text) & ","

nota.Col = 6

S$ = S$ & " conducta = " & Val(nota.Text)

S$ = S$ & " where numero = " & Val(alumno.BoundText) & " and lectivo = " &

Val(anio.Text) & " and materiaid = " & nota.RowData(i%) & " and trimestre = "

& Val(parcial.Text)

Base.Execute S$

Next

MsgBox "Notas registradas a perfección", vbInformation

bloquear (False)

Case 2

Page 136: Libro Tesis escuela

136

Unload Me

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index) Else Unload Me

End Sub

Private Sub ciclo_Click()

alumno.Text = ""

If ciclo.ListIndex = -1 Then Exit Sub

nombre.RecordSource = "Select datos.nombre, matriculas.numero from datos

inner join matriculas on datos.alumnoid = matriculas.alumnoid where

matriculas.Idcurso = " & ciclo.ItemData(ciclo.ListIndex) & " and

matriculas.lectivo = " & Val(anio.Text)

nombre.Refresh

End Sub

Private Sub Form_Load()

nombre.ConnectionString = Base.ConnectionString

nota.Rows = 1

UpDown1.Max = MaxParciales

anio.ListIndex = ListCount - 1

bloquear (False)

End Sub

Private Sub bloquear(opcion As Boolean)

Frame1(0).Enabled = opcion

Frame1(1).Enabled = opcion

ciclo.Enabled = opcion

If opcion = True Then

Page 137: Libro Tesis escuela

137

nombre.RecordSource = "Select datos.nombre, matriculas.numero from datos

inner join matriculas on datos.alumnoid = matriculas.alumnoid where

matriculas.Idcurso = 0 and matriculas.lectivo = 0"

nombre.Refresh

alumno.Text = ""

nota.Clear

nota.FormatString = "Materia|Tareas|Varios|Aporte|Examen|Promedio|Conducta"

nota.ColWidth(0) = 1700

nota.Rows = 1

For i% = 1 To nota.Cols - 1

nota.ColWidth(i%) = 800

Next

End If

anio.Enabled = opcion

alumno.Enabled = opcion

muestra.Enabled = opcion

boton(0).Enabled = Not opcion

boton(1).Enabled = opcion

nota.Enabled = opcion

End Sub

Private Sub LlenarCiclo()

On Error GoTo salir

ciclo.Clear

Set Tabla = Base.Execute("Select * from curso order by nombre")

While Not Tabla.EOF

ciclo.AddItem Tabla!nombre

ciclo.ItemData(ciclo.NewIndex) = Tabla!IdAnio

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Page 138: Libro Tesis escuela

138

anio.Clear

Set Tabla = Base.Execute("Select DISTINCT lectivo from matriculas group by

lectivo order by lectivo")

While Not Tabla.EOF

anio.AddItem Tabla!lectivo

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarCiclo Else Unload Me

End Sub

Private Sub muestra_Click()

On Error GoTo salir

If ciclo.ListIndex = -1 Or Val(anio.Text) <= 0 Or Val(alumno.BoundText) = 0

Then Exit Sub

Tabla.Open "Select count(numero) as Total from notas where numero = " &

Val(alumno.BoundText) & " and lectivo = " & Val(anio.Text) & " and trimestre =

" & UpDown1.Value, Base.ConnectionString, adOpenDynamic

If Tabla!total > 0 Then

Tabla.Close

'Set Tabla = Nothing

Else

Tabla.Close

Set Tabla = Nothing

Base.Execute ("Insert into notas(numero,lectivo,materiaid,trimestre) Select

materiaid-materiaid+ " & Val(alumno.BoundText) & " as codigo, materiaid-

materiaid+ " & anio.Text & " as lectiv ,materiaid, materiaid-materiaid+" &

Page 139: Libro Tesis escuela

139

UpDown1.Value & " as trime from aux where anioid = " &

ciclo.ItemData(ciclo.ListIndex))

Set Tabla = Base.Execute("select * from notas")

Tabla.Requery

Tabla.Close

'Set Tabla = Nothing

End If

nota.Clear

nota.FormatString = "Materia |Tareas |Varios |Aporte | Examen

|Promedio|Conducta"

nota.ColWidth(0) = 1700

nota.Rows = 1

For i% = 1 To nota.Cols - 1

nota.ColWidth(i%) = 800

Next

Tabla.Open "Select Materias.Materiaid, Materias.nombre,

tareas,varios,aporte,examen,conducta from materias, notas where

materias.materiaid = notas.materiaid and notas.numero = " &

Val(alumno.BoundText) & " and notas.lectivo = " & Val(anio.Text) & " and

notas.trimestre = " & Val(parcial.Text) & " order by materias.nombre"

While Not Tabla.EOF

With nota

.Rows = .Rows + 1

.Row = .Rows - 1

.Col = 0

.RowData(.Rows - 1) = Tabla!MateriaId

.Text = Tabla!nombre

.Col = 1

.Text = Tabla!tareas

.Col = 2

.Text = Tabla!varios

.Col = 3

Page 140: Libro Tesis escuela

140

.Text = Tabla!aporte

.Col = 4

.Text = Tabla!examen

.Col = 5

.Text = (Tabla!tareas + Tabla!varios + Tabla!aporte + Tabla!examen) / 4

.Col = 6

.Text = Tabla!CONDUCTA

End With

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Frame1(1).Enabled = False

boton(1).Enabled = True

alumno.Enabled = False

anio.Enabled = False

ciclo.Enabled = False

muestra.Enabled = False

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

muestra_Click Else Unload Me

End Sub

Private Sub nota_KeyDown(KeyCode As Integer, Shift As Integer)

Dim promedio As Single

If nota.Col <> 0 And nota.Col <> 5 Then

If KeyCode = 46 Then nota.Text = 0

a% = nota.Col

For i% = 1 To nota.Cols - 3 'estaba 2

nota.Col = i%

promedio = promedio + Val(nota.Text)

Page 141: Libro Tesis escuela

141

Next

promedio = promedio / 4

nota.Col = 5

nota.Text = Round(promedio, 2)

nota.Col = a%

End If

End Sub

Private Sub nota_KeyPress(KeyAscii As Integer)

On Error Resume Next

Dim promedio As Single

If nota.Col <> 0 And nota.Col <> 5 Then

Select Case KeyAscii

Case 48 To 57

nota.Text = Val(nota.Text) * 10 + (KeyAscii - 48)

If nota.Text > MaxNota Then nota.Text = Int(nota.Text / 10)

a% = nota.Col

For i% = 1 To nota.Cols - 3 'estaba 2

nota.Col = i%

promedio = promedio + Val(nota.Text)

Next

promedio = promedio / 4

nota.Col = 5

nota.Text = Round(promedio, 2)

nota.Col = a%

Case 8

nota.Text = 0

a% = nota.Col

For i% = 1 To nota.Cols - 3 'estaba 2

nota.Col = i%

promedio = promedio + Val(nota.Text)

Next

Page 142: Libro Tesis escuela

142

promedio = promedio / 4

nota.Col = 5

nota.Text = Round(promedio, 2)

nota.Col = a%

Case 13

nota.Col = nota.Col + 1

If nota.Col = 5 Then nota.Row = nota.Row + 1: nota.Col = 1

Case Else

KeyAscii = 0

End Select

End If

End Sub

1.15. FORMULARIO CREAR NUEVA CLAVE

Dim Tabla As New ADODB.Recordset

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Case 0

bloquear (True)

userid.Text = ""

password(0).Text = ""

password(1).Text = ""

boton(1).Enabled = False

userid.SetFocus

Case 1

If password(0).Text <> password(1).Text Then

MsgBox "Clave confirmada incorrectamente, Vuelva a intentarlo si desea

continuar", vbInformation, "Clave incorrecta"

Exit Sub

Page 143: Libro Tesis escuela

143

End If

Set Tabla = Base.Execute("Select count(*) as total from usuarios where nombre =

'" & userid.Text & "'")

If Tabla!total > 0 Then

MsgBox "Ya se ha registrado " & Tabla!total & " un usuario en el sistema con el

mismo id. Si desea continuar cambie el valor del campo y vuelva a intentarlo",

vbInformation, "Usuario ya registrado"

Tabla.Close : Set Tabla = Nothing

Exit Sub

End If

Tabla.Close : Set Tabla = Nothing

Base.Execute "Insert into usuarios(nombre,clave) values('" & userid.Text & "','"

& Encripta(password(0).Text, 1) & "')"

bloquear (False)

MsgBox "Usuario '" & userid.Text & "' agregado al sistema a perfección",

vbInformation, "Usuario registrado"

Case 2: Unload Me

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index) Else Unload Me

End Sub

Private Sub Check1_Click()

If Check1.Value Then

Config.mascara = True

password(0).PasswordChar = "*": password(1).PasswordChar = "*"

Else

Config.mascara = False

password(0).PasswordChar = "": password(1).PasswordChar = ""

End If

Page 144: Libro Tesis escuela

144

MenuVer

End Sub

Private Sub Form_Load()

If Config.mascara = True Then

password(0).PasswordChar = "*"

password(1).PasswordChar = "*"

Check1.Value = 1

Else

Check1.Value = 0

password(0).PasswordChar = ""

password(1).PasswordChar = ""

End If

bloquear (False)

End Sub

Private Sub password_Change(Index As Integer)

boton(1).Enabled = prueba

End Sub

Private Sub password_KeyPress(Index As Integer, KeyAscii As Integer)

If KeyAscii = 13 Then

If Index = 0 Then password(1).SetFocus Else If boton(1).Enabled = True Then

boton(1).SetFocus

End If

End Sub

Private Sub userid_Change()

boton(1).Enabled = prueba

End Sub

Private Sub userid_KeyPress(KeyAscii As Integer)

Page 145: Libro Tesis escuela

145

If KeyAscii = 13 Then password(0).SetFocus

End Sub

Private Sub bloquear(opcion As Boolean)

userid.Enabled = opcion

Label1(0).Enabled = opcion

Label1(1).Enabled = opcion

Label1(2).Enabled = opcion

password(0).Enabled = opcion

password(1).Enabled = opcion

Frame1.Enabled = opcion

boton(0).Enabled = Not opcion

boton(1).Enabled = opcion

End Sub

Private Function prueba() As Boolean

If Len(RTrim(userid.Text)) = 0 Or Len(RTrim(password(0).Text)) = 0 Or

Len(RTrim(password(1).Text)) = 0 Then prueba = False Else prueba = True

End Function

Private Sub userid_LostFocus()

userid = StrConv(userid, vbProperCase)

End Sub

1.16. FORMULARIO MODIFICAR CLAVE

Dim Tabla As New ADODB.Recordset

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Case 0

Page 146: Libro Tesis escuela

146

bloquear (True)

password(0).Text = ""

password(1).Text = ""

password(2).Text = ""

boton(1).Enabled = False

Case 1

Set Tabla = Base.Execute("Select clave from usuarios where iduser = " &

nombre.ItemData(nombre.ListIndex))

If Tabla!clave <> Encripta(password(0).Text, 1) Then

MsgBox "La contraseña actual es incorrecta. Cambie la contraseña y vuelva a

intentarlo", vbExclamation, "Contraseña incorrecta"

Tabla.Close

Set Tabla = Nothing

password(0).SetFocus

Exit Sub

End If

Tabla.Close

Set Tabla = Nothing

If password(1).Text <> password(2).Text Then

MsgBox "Contraseña confirmada incorrectamente. Vuelva a confirmar la contrase

e inténtelo de nuevo", vbExclamation, "Confirmación incorrecta"

password(1).SetFocus

Exit Sub

End If

Base.Execute "Update Usuarios set clave = '" & Encripta(password(1).Text, 1) &

"' where iduser = " & nombre.ItemData(nombre.ListIndex), 1

bloquear (False)

boton(0).Enabled = False

LlenarUsuarios

password(0).Text = ""

password(1).Text = ""

password(2).Text = ""

Page 147: Libro Tesis escuela

147

MsgBox "Cambio de clave realizado a perfección.", vbInformation

Case 2

Unload Me

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index) Else Unload Me

End Sub

Private Sub Check1_Click()

If Check1.Value Then

Config.mascara = True

password(0).PasswordChar = "*"

password(1).PasswordChar = "*"

password(2).PasswordChar = "*"

Else

Config.mascara = False

password(0).PasswordChar = ""

password(1).PasswordChar = ""

password(2).PasswordChar = ""

End If

MenuVer

End Sub

Private Sub Form_Load()

LlenarUsuarios

If Config.mascara = True Then

Check1.Value = 1

password(0).PasswordChar = "*"

password(1).PasswordChar = "*"

password(2).PasswordChar = "*"

Page 148: Libro Tesis escuela

148

Else

Check1.Value = 0

password(0).PasswordChar = ""

password(1).PasswordChar = ""

password(2).PasswordChar = ""

End If

bloquear (False)

boton(0).Enabled = False

End Sub

Private Sub LlenarUsuarios()

On Error GoTo salir

Set Tabla = Base.Execute("Select * from Usuarios order by nombre")

nombre.Clear

While Not Tabla.EOF

nombre.AddItem Tabla!nombre

nombre.ItemData(nombre.NewIndex) = Tabla!iduser

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarUsuarios Else Unload Me

End Sub

Private Sub bloquear(opcion As Boolean)

nombre.Enabled = Not opcion

password(0).Enabled = opcion

password(1).Enabled = opcion

password(2).Enabled = opcion

Page 149: Libro Tesis escuela

149

Label1(0).Enabled = Not opcion

Label1(1).Enabled = opcion

Label1(2).Enabled = opcion

Label1(3).Enabled = opcion

boton(0).Enabled = Not opcion

boton(1).Enabled = opcion

End Sub

Private Sub nombre_Click()

If nombre.ListIndex = -1 Then boton(0).Enabled = False Else boton(0).Enabled =

True

End Sub

Private Sub password_Change(Index As Integer)

boton(1).Enabled = prueba

End Sub

Private Sub password_KeyPress(Index As Integer, KeyAscii As Integer)

If KeyAscii = 13 Then

If Index < 2 Then

password(Index + 1).SetFocus

Else

boton(1).SetFocus

End If

End If

End Sub

Private Function prueba() As Boolean

If password(0).Text = "" Or password(1).Text = "" Or password(2).Text = "" Then

prueba = False Else prueba = True

End Function

Page 150: Libro Tesis escuela

150

1.17. FORMULARIO ELIMINAR CLAVE

Dim Tabla As New ADODB.Recordset

Private Sub LlenarUsuarios()

On Error GoTo salir

Set Tabla = Base.Execute("Select * from Usuarios order by nombre")

nombre.Clear

While Not Tabla.EOF

nombre.AddItem Tabla!nombre

nombre.ItemData(nombre.NewIndex) = Tabla!iduser

Tabla.MoveNext

Wend

Tabla.Close

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarUsuarios Else Unload Me

End Sub

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Case 0

Tabla.Open "Select clave from usuarios where iduser = " &

nombre.ItemData(nombre.ListIndex)

If Tabla!clave <> Encripta(password.Text, 1) Then

Tabla.Close

MsgBox "La clave del usuario seleccionado para ser eliminado del sistema es

incorrecta. Cambie la clave y vuelva a intentarlo.", vbExclamation, "Error de

clave"

password.SetFocus

Page 151: Libro Tesis escuela

151

Exit Sub

End If

Tabla.Close

Base.Execute "Delete * from usuarios where iduser = " &

nombre.ItemData(nombre.ListIndex)

MsgBox "Usuario: " & nombre.Text & " eliminado del sistema correctamente. ",

vbInformation, "Usuario eliminado"

boton(0).Enabled = False

password.Text = ""

LlenarUsuarios

Case 1: Unload Me

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

boton_Click (Index) Else Unload Me

End Sub

Private Sub Form_Load()

LlenarUsuarios

boton(0).Enabled = False

End Sub

Private Function prueba() As Boolean

If nombre.ListIndex = -1 Or password.Text = "" Then prueba = False Else prueba

= True

End Function

Private Sub nombre_Click()

boton(0).Enabled = prueba

End Sub

Page 152: Libro Tesis escuela

152

Private Sub password_Change()

boton(0).Enabled = prueba

End Sub

1.18. FORMULARIO CONFIGURACIÓN

Dim Tabla As New ADODB.Recordset

Private Sub boton_Click(Index As Integer)

Select Case Index

Case 0

atras:

If Base.State = 0 Then

S$ = Server

Server = pathserver.Text

a$ = AbrirBase

If a$ <> "" Then

If MsgBox("No se ha podido establecer una conexión con la base de datos.

Motivo: - " & a$ & "-", vbRetryCancel + vbInformation) = vbRetry Then GoTo

atras

MsgBox "El sistema debe estar conectado a la base de datos para trabajar",

vbCritical

Server = S$

Unload Me

Exit Sub

End If

MenuVer

MsgBox "Para que los cambios den resultado se va a" & vbCr & " cerrar el

programa y volvera a abrir", vbInformation

DirectorInstitucion = Director.Text

NombreInstitucion = nombre.Text

DireccionInstitucion = Dire.Text

Page 153: Libro Tesis escuela

153

MaxNota = Val(nmaxima)

MaxAlumnos = Val(maxalum)

MaxParciales = Val(parciales)

Base.Execute "Insert Into

institucion(nombre,direccion,director,nmaxima,maxalumnos,nparciales) values('"

& NombreInstitucion & "','" & DireccionInstitucion & "','" & DirectorInstitucion

& "'," & MaxNota & "," & MaxAlumnos & "," & MaxParciales & ")"

Else

Base.Execute "delete * from institucion"

DirectorInstitucion = Director.Text

NombreInstitucion = nombre.Text

DireccionInstitucion = Dire.Text

MaxNota = Val(nmaxima)

MaxAlumnos = Val(maxalum)

MaxParciales = Val(parciales)

Base.Execute "Insert Into

institucion(nombre,direccion,director,nmaxima,maxalumnos,nparciales) values('"

& NombreInstitucion & "','" & DireccionInstitucion & "','" & DirectorInstitucion

& "'," & MaxNota & "," & MaxAlumnos & "," & MaxParciales & ")"

End If

Unload Me

'Unload central

'Load central

'central.Show

Case 1

Unload Me

End Select

End Sub

Private Sub Command1_Click()

On Error GoTo salir

If Base.State = 1 Then

Page 154: Libro Tesis escuela

154

If MsgBox("La base de datos está abierta. Aún así desea continuar", vbQuestion +

vbYesNo) <> vbYes Then Exit Sub

Base.Close

End If

dialogo.FileName = "Datos.mdb"

dialogo.CancelError = True

dialogo.Filter = "Base de datos del sistema | escuela.mdb"

dialogo.ShowOpen

pathserver = dialogo.FileName

salir:

Exit Sub

End Sub

Private Sub Dire_KeyPress(Tecla As Integer)

Select Case Tecla

Case Asc("a") To Asc("z")

Case Asc("A") To Asc("Z")

Case Asc("0") To Asc("9")

Case Asc("á"), Asc("Ñ"), Asc("í")

Case Asc("é"), Asc("ó"), Asc("ú"), Asc("ñ")

Case 8, 32

Case 13

Director.SetFocus

Case Else

Tecla = 0

End Select

End Sub

Private Sub Dire_LostFocus()

Dire = StrConv(Dire, vbProperCase)

End Sub

Page 155: Libro Tesis escuela

155

Private Sub Director_KeyPress(Tecla As Integer)

Select Case Tecla

Case Asc("a") To Asc("z")

Case Asc("A") To Asc("Z")

Case Asc("á"), Asc("é"), Asc("í")

Case Asc("ó"), Asc("ú"), Asc("ñ"), Asc("Ñ")

Case 8, 32

Case 13

boton(0).SetFocus

Case Else

Tecla = 0

End Select

End Sub

Private Sub Director_LostFocus()

Director = StrConv(Director, vbProperCase)

End Sub

Private Sub Form_Load()

If Base.State <> 0 Then

nombre.Text = NombreInstitucion

Dire.Text = DireccionInstitucion

Director.Text = DirectorInstitucion

pathserver.Text = Server

maxalum = MaxAlumnos

parciales.Text = MaxParciales

nmaxima.Text = MaxNota

esta.Clear

If Base.State = 1 Then

esta.AddItem "La base de datos esta correctamente conectada y lista para trabajar"

esta.AddItem "Ubicación de la base de datos: " & Server

esta.AddItem "Fin del informe"

Page 156: Libro Tesis escuela

156

End If

End If

End Sub

Private Sub max_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57

Case 8

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub maxalum_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57

Case 8

Case Else

KeyAscii = 0

End Select

End Sub

Private Sub nmaxima_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57, 8

Case 13

maxalum.SetFocus

Case Else

KeyAscii = 0

End Select

End Sub

Page 157: Libro Tesis escuela

157

Private Sub nombre_KeyPress(Tecla As Integer)

Select Case Tecla

Case Asc("a") To Asc("z")

Case Asc("A") To Asc("Z")

Case Asc("á"), Asc("é"), Asc("í"), Asc("ó"), Asc("ú")

Case Asc("ñ"), Asc("Ñ")

Case 8, 32

Case 13: Dire.SetFocus

Case Else: Tecla = 0

End Select

End Sub

Private Sub nombre_LostFocus()

nombre = StrConv(nombre, vbProperCase)

End Sub

Private Sub parciales_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 48 To 57

Case 8

Case 13: nmaxima.SetFocus

Case Else: KeyAscii = 0

End Select

End Sub

1.19. FORMULARIO MEJORES ESTUDIANTES DEL PERIODO

Dim Tabla As New ADODB.Recordset

Private Sub LlenarLectivo()

If Tabla.State = 1 Then

Tabla.Close

Page 158: Libro Tesis escuela

158

Set Tabla = Nothing

End If

Set Tabla = Base.Execute("Select DISTINCT lectivo from matriculas order by

lectivo")

lectivo.Clear

While Not Tabla.EOF

lectivo.AddItem Tabla!lectivo

Tabla.MoveNext

Wend

Tabla.Close

End Sub

Private Sub boton_Click(Index As Integer)

Select Case Index

Case 0

On Error GoTo Trata

If lectivo.ListIndex = -1 Then MsgBox "Debe seleccionar el año lectivo del cual

desee mostrar la información requerida", vbExclamation: Exit Sub

If Tabla.State = 1 Then

Tabla.Close

End If

Tabla.Open "SELECT Datos.Nombre, Matriculas.Numero, Curso.nombre as

curso, Avg(Notas.Promedio) AS Promedio " & _

"FROM Curso INNER JOIN ((Datos INNER JOIN Matriculas ON

Datos.AlumnoId = Matriculas.AlumnoId) INNER JOIN Notas ON

(Matriculas.Lectivo = Notas.Lectivo) AND (Matriculas.Numero =

Notas.Numero)) ON Curso.IdAnio = Matriculas.Idcurso " & _

"GROUP BY Datos.Nombre, Matriculas.Numero, Curso.nombre,

matriculas.lectivo " & _

"HAVING (((Matriculas.Lectivo)= " & Val(lectivo.Text) & ")) " & _

"ORDER BY Avg(Notas.Promedio) DESC;"

Set mejores.DataSource = Tabla

Page 159: Libro Tesis escuela

159

mejores.Sections("cab").Controls("desde").Caption = lectivo.Text & "-" &

Val(lectivo.Text) + 1

mejores.Sections("deta").Controls("numero").DataField = "numero"

mejores.Sections("deta").Controls("nombre").DataField = "nombre"

mejores.Sections("deta").Controls("ciclo").DataField = "curso"

mejores.Sections("deta").Controls("promedio").DataField = "promedio"

mejor.Hide

mejores.Refresh

mejores.Show

Exit Sub

Trata:

Case 1

mejor.Hide

End Select

End Sub

Private Sub Form_Load()

LlenarLectivo

End Sub

1.20. FORMULARIO LISTA DE ESTUDIANTES POR AÑO BÁSICA

Dim Tabla As New ADODB.Recordset

Private Sub boton_Click(Index As Integer)

Select Case Index

Case 0

On Error GoTo Trata

FRMEstudiantes2.ssQLL = "SELECT matriculas.numero, datos.Nombre AS

Alunmo, notas.lectivo, curso.nombre AS grado, format(matriculas.fecha-

datos.fecha,'yy') AS Edad, representante From datos, matriculas, notas, curso

WHERE datos.alumnoid=matriculas.alumnoid and

Page 160: Libro Tesis escuela

160

matriculas.numero=notas.numero and matriculas.idcurso=curso.idanio and

matriculas.idcurso = " & ciclo.ItemData(ciclo.ListIndex) & " And

matriculas.lectivo = " & Val(lectivo.Text) & " GROUP BY matriculas.numero,

datos.Nombre, notas.lectivo, curso.nombre, matriculas.fecha, datos.fecha,

matriculas.representante order by datos.nombre"

FRMEstudiantes2.Show

Exit Sub

Trata:

MsgBox "No hay datos que mostrar.", vbExclamation

Case 1

Unload Me

End Select

End Sub

Private Sub ciclo_Click()

If lectivo.ListIndex <> -1 Then boton(0).Enabled = True

End Sub

Private Sub Form_Load()

LlenarCiclo

LlenarLectivo

boton(0).Enabled = False

End Sub

Private Sub LlenarCiclo()

Set Tabla = Base.Execute("Select * from curso")

ciclo.Clear

While Not Tabla.EOF

ciclo.AddItem Tabla!nombre

ciclo.ItemData(ciclo.NewIndex) = Tabla!IdAnio

Tabla.MoveNext

Wend

Page 161: Libro Tesis escuela

161

Tabla.Close

Set Tabla = Nothing

End Sub

Private Sub LlenarLectivo()

Set Tabla = Base.Execute("Select DISTINCT lectivo from matriculas order by

lectivo")

lectivo.Clear

While Not Tabla.EOF

lectivo.AddItem Tabla!lectivo

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

End Sub

Private Sub lectivo_Click()

If ciclo.ListIndex <> -1 Then boton(0).Enabled = True

End Sub

1.21. FORMULARIO NOTAS DEL AÑO BÁSICO POR MATERIA

Dim Tabla As New ADODB.Recordset

Private Sub LlenarCiclos()

On Error GoTo salir

ciclos.Clear

Tabla.Open "Select * from curso order by nombre", Base.ConnectionString,

adOpenDynamic

While Not Tabla.EOF

ciclos.AddItem Tabla!nombre

ciclos.ItemData(ciclos.NewIndex) = Tabla!IdAnio

Page 162: Libro Tesis escuela

162

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

lectivo.Clear

Set Tabla = Base.Execute("Select DISTINCT lectivo from matriculas order by

lectivo")

While Not Tabla.EOF

lectivo.AddItem Tabla!lectivo

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbQuestion + vbRetryCancel) = vbRetry Then

LlenarCiclos

End Sub

Private Sub boton_Click(Index As Integer)

On Error GoTo salir

Select Case Index

Case 0

If materias.ListIndex <> -1 And ciclos.ListIndex <> -1 And lectivo.ListIndex <> -

1 And parcial.ListIndex <> -1 Then

sql$ = "SELECT matriculas.numero, Datos.Nombre, Notas.Tareas, Notas.Varios,

Notas.Aporte, Notas.Examen, Notas.Promedio"

sql$ = sql$ & " FROM (Datos INNER JOIN Matriculas ON Datos.AlumnoId =

Matriculas.AlumnoId) INNER JOIN Notas ON (Matriculas.Lectivo =

Notas.Lectivo) AND (Matriculas.Numero = Notas.Numero)"

sql$ = sql$ & " WHERE Notas.MateriaId = " &

materias.ItemData(materias.ListIndex) & " AND Matriculas.Idcurso = " &

Page 163: Libro Tesis escuela

163

ciclos.ItemData(ciclos.ListIndex) & " AND Matriculas.Lectivo = " & lectivo.Text

& " and notas.trimestre = " & Val(parcial.Text) & " order by datos.nombre,

matriculas.numero;"

Set Tabla = Base.Execute(sql$)

If Not Tabla.EOF Then

Set notacurso.DataSource = Tabla

notacurso.Sections("enc").Controls("anio").Caption = ciclos.Text

notacurso.Sections("enc").Controls("materia").Caption = materias.Text

notacurso.Sections("enc").Controls("periodo").Caption = lectivo.Text & "-" &

Val(lectivo.Text + 1)

notacurso.Sections("enc").Controls("profesor").Caption = profe.Text

notacurso.Sections("deta").Controls("numero").DataField = "numero"

notacurso.Sections("deta").Controls("nombre").DataField = "nombre"

notacurso.Sections("deta").Controls("tareas").DataField = "tareas"

notacurso.Sections("deta").Controls("varios").DataField = "varios"

notacurso.Sections("deta").Controls("aporte").DataField = "aporte"

notacurso.Sections("deta").Controls("examen").DataField = "examen"

notacurso.Sections("deta").Controls("promedio").DataField = "promedio"

notasmaterias.Hide

notacurso.Refresh

notacurso.Show

Else

MsgBox "No existen notas para lo seleccionado", vbInformation

ciclos.SetFocus

Exit Sub

End If

Else

MsgBox "Seleccione toda la información necesaria para poder mostrar el reporte",

vbExclamation

End If

Case 1

Unload Me

Page 164: Libro Tesis escuela

164

End Select

Exit Sub

salir:

If MsgBox(Err.Description, vbQuestion + vbRetryCancel) = vbRetry Then

boton_Click (Index)

End Sub

Private Sub LlenarMaterias()

On Error GoTo salir

materias.Clear

Set Tabla = Base.Execute("Select profesores.nombre as profesor,

profesores.profesorid, materias.nombre, materias.materiaid from materias,

profesores,aux where materias.materiaid = aux.materiaid and

profesores.profesorid = aux.profesorid and aux.anioid = " &

ciclos.ItemData(ciclos.ListIndex))

While Not Tabla.EOF

materias.AddItem Tabla!nombre

materias.ItemData(materias.NewIndex) = Tabla!MateriaId

profe.AddItem Tabla!profesor

profe.ItemData(profe.NewIndex) = Tabla!profesorid

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbQuestion + vbRetryCancel) = vbRetry Then

LlenarMaterias

End Sub

Private Sub ciclos_Click()

LlenarMaterias

Page 165: Libro Tesis escuela

165

End Sub

Private Sub Form_Load()

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

LlenarCiclos

For i% = 1 To MaxParciales

parcial.AddItem i%

Next

End Sub

Private Sub materias_Click()

profe.ListIndex = materias.ListIndex

End Sub

1.22. FORMULARIO NOTAS DEL ESTUDIANTE POR TRIMESTRE

Dim TablaNotas As New ADODB.Recordset

Dim Tabla As New ADODB.Recordset

Private Sub anio_Click()

If ciclo.ListIndex = -1 Then Exit Sub

LlenarAlumnos

End Sub

Private Sub boton_Click(Index As Integer)

Select Case Index

Case 0

If Tabla.State = 1 Then

Tabla.Close

Page 166: Libro Tesis escuela

166

Set Tabla = Nothing

End If

If alumnos.ListIndex = -1 And ciclo.ListIndex = -1 Then Exit Sub

Set TablaNotas = Base.Execute("Select Materias.nombre,

notas.tareas,notas.varios,notas.aporte,notas.examen,notas.promedio from materias

inner join notas on materias.materiaid = notas.materiaid where notas.numero = "

& alumnos.ItemData(alumnos.ListIndex) & " and notas.lectivo = " &

Val(anio.Text) & " and notas.trimestre = " & Val(parcial.Text) & " order by

materias.nombre")

Set NotaAlumno.DataSource = TablaNotas

NotaAlumno.Sections("Enc").Controls("nombre").Caption = alumnos.Text

NotaAlumno.Sections("Enc").Controls("Ciclo").Caption = ciclo.Text

NotaAlumno.Sections("Enc").Controls("lectivo").Caption = anio.Text & "-" &

Val(anio.Text) + 1

NotaAlumno.Sections("Deta").Controls("Materia").DataField = "nombre"

NotaAlumno.Sections("Deta").Controls("Tareas").DataField = "tareas"

NotaAlumno.Sections("Deta").Controls("Varios").DataField = "varios"

NotaAlumno.Sections("Deta").Controls("Aporte").DataField = "Aporte"

NotaAlumno.Sections("Deta").Controls("Examen").DataField = "examen"

NotaAlumno.Sections("Deta").Controls("Promedio").DataField = "Promedio"

ReportNotas.Hide

NotaAlumno.Refresh

Load NotaAlumno

NotaAlumno.Show

Case 1

ReportNotas.Hide

End Select

End Sub

Private Sub LlenarCiclo()

On Error GoTo salir

ciclo.Clear

Page 167: Libro Tesis escuela

167

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

Set Tabla = Base.Execute("Select * from curso order by nombre")

While Not Tabla.EOF

ciclo.AddItem Tabla!nombre

ciclo.ItemData(ciclo.NewIndex) = Tabla!IdAnio

Tabla.MoveNext

Wend

Tabla.Close: Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT lectivo from matriculas order by

lectivo")

While Not Tabla.EOF

anio.AddItem Tabla!lectivo

Tabla.MoveNext

Wend

Tabla.Close: Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarCiclo Else Unload Me

End Sub

Private Sub ciclo_Click()

If ciclo.ListIndex = -1 Then Exit Sub

LlenarAlumnos

End Sub

Private Sub Form_Load()

LlenarCiclo

UpDown1.Max = MaxParciales

Page 168: Libro Tesis escuela

168

anio.ListIndex = ListCount - 1

End Sub

Private Sub LlenarAlumnos()

If Tabla.State = 1 Then

Tabla.Close : Set Tabla = Nothing

End If

alumnos.Clear

Set Tabla = Base.Execute("Select datos.nombre, matriculas.numero from datos

inner join matriculas on datos.alumnoid = matriculas.alumnoid where

matriculas.Idcurso = " & ciclo.ItemData(ciclo.ListIndex) & " and

matriculas.lectivo = " & Val(anio.Text))

While Not Tabla.EOF

alumnos.AddItem Tabla!nombre

alumnos.ItemData(alumnos.NewIndex) = Tabla!numero

Tabla.MoveNext

Wend

Tabla.Close: Set Tabla = Nothing

End Sub

1.23. FORMULARIO NOTAS GENERAL DEL ESTUDIANTE

Dim TablaNotas As New ADODB.Recordset

Dim Tabla As New ADODB.Recordset

Private Sub anio_Click()

If ciclo.ListIndex = -1 Then Exit Sub

LlenarAlumnos

End Sub

Sub botonimprimir()

LibretasEstudent.ssQLL1 = "SELECT *, " & _

Page 169: Libro Tesis escuela

169

"(select avg(notas.conducta) as C1 from datos,matriculas,notas,materias,aux,curso

where datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio

and curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=1 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & ") as ProCon1, " & _

"(select avg(notas.conducta) as C2 from datos,matriculas,notas,materias,aux,curso

where datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio

and curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=2 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & ") AS ProCon2, " & _

"(select avg(notas.conducta) as C3 from datos,matriculas,notas,materias,aux,curso

where datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio

and curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=3 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & ") AS ProCon3, " & _

"((select avg(notas.conducta) as Cc1 from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=1 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & ") + " & _

"(select avg(notas.conducta) as Cc2 from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=2 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & ") + " & _

Page 170: Libro Tesis escuela

170

"(select avg(notas.conducta) as Cc3 from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=3 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & "))/3 as ProConGene, "

& _

"(select avg(notas.promedio) as Ccc1 from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=1 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & ") as ProAprov1, " & _

"(select avg(notas.promedio) as Ccc2 from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=2 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & ") AS ProAprov2, " & _

"(select avg(notas.promedio) as Ccc3 from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=3 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & ") AS ProAprov3, " & _

"((select avg(notas.promedio) as Cccc1 from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

Page 171: Libro Tesis escuela

171

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=1 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & ") + " & _

"(select avg(notas.promedio) as Cccc2 from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=2 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & ")+ " & _

"(select avg(notas.promedio) as Cccc3 from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=3 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & "))/3 as ProAprovGene

" & _

"FROM [select distinct

materias.materiaid,materias.nombre,datos.nombre,notas.lectivo,notas.promedio as

prom1,notas.conducta " & _

"From datos, matriculas, notas, materias, Aux, curso " & _

"where datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio

and curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=1 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & " " & _

"group by

materias.materiaid,materias.nombre,datos.nombre,notas.lectivo,notas.promedio,no

tas.conducta]. AS Trim1, [select distinct materias.materiaid,notas.lectivo,

notas.promedio as prom2, notas.conducta " & _

Page 172: Libro Tesis escuela

172

"From datos, matriculas, notas, materias, Aux, curso " & _

"where datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio

and curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=2 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & " " & _

"group by materias.materiaid,notas.lectivo, notas.promedio, notas.conducta]. AS

Trim2, [select distinct materias.materiaid,notas.lectivo, notas.promedio as prom3,

notas.conducta " & _

"From datos, matriculas, notas, materias, Aux, curso " & _

"where datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio

and curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=3 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & " " & _

"group by materias.materiaid,notas.lectivo,notas.promedio,notas.conducta]. AS

Trim3 " & _

"WHERE trim1.materiaid=trim2.materiaid and trim2.materiaid=trim3.materiaid

and trim1.materiaid=trim3.materiaid"

LibretasEstudent.Show

End Sub

Sub BotonImprime()

Dim i As Long

On Error GoTo salir

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

If alumnos.ListIndex = -1 Or ciclo.ListIndex = -1 Or anio.ListIndex = -1 Then

Exit Sub 'Or Descripcion.ListIndex = -1

Page 173: Libro Tesis escuela

173

Set Tabla = Base.Execute("Select *, matriculas.numero, datos.nombre as

AlumnoS1,curso.nombre as curso1,matriculas.lectivo from

datos,matriculas,curso,notas where datos.alumnoid=matriculas.alumnoid and

matriculas.idcurso=curso.idanio and matriculas.numero=notas.numero and

notas.numero = " & alumnos.ItemData(alumnos.ListIndex) & " and notas.lectivo

= " & Val(anio.Text) & " order by datos.nombre")

Set CertPromedioGener.DataSource = Tabla

CertPromedioGener.Sections("Pagina").Controls("AnoLectivo").Caption =

anio.Text & " - " & Val(anio.Text) + 1

If Sexo = "1" Or Sexo = 1 Then

'CertfConducta.Sections("Pagina").Controls("Sexo").Caption = "la"

'CertfConducta.Sections("Pagina").Controls("Sexo1").Caption = "a"

'CertfConducta.Sections("Pagina").Controls("Sexo2").Caption = "a"

Else

'CertfConducta.Sections("Pagina").Controls("Sexo").Caption = "el"

'CertfConducta.Sections("Pagina").Controls("Sexo1").Caption = "o"

'CertfConducta.Sections("Pagina").Controls("Sexo2").Caption = "o"

End If

CertPromedioGener.Sections("Pagina").Controls("Estudiante").Caption =

Tabla!alumnos1

i = MSF.Rows - 1

If i = 1 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

ElseIf i = 2 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

Page 174: Libro Tesis escuela

174

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

ElseIf i = 3 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

ElseIf i = 4 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

Page 175: Libro Tesis escuela

175

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

ElseIf i = 5 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

Page 176: Libro Tesis escuela

176

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

ElseIf i = 6 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

CertPromedioGener.Sections("pagina").Controls("materias6").Caption =

MSF.TextMatrix(6, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

Page 177: Libro Tesis escuela

177

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS6").Caption =

MSF.TextMatrix(6, 2) & " " & MSF2.TextMatrix(6, 2) & " " &

MSF3.TextMatrix(6, 2)

ElseIf i = 7 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

CertPromedioGener.Sections("pagina").Controls("materias6").Caption =

MSF.TextMatrix(6, 1)

CertPromedioGener.Sections("pagina").Controls("materias7").Caption =

MSF.TextMatrix(7, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

Page 178: Libro Tesis escuela

178

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS6").Caption =

MSF.TextMatrix(6, 2) & " " & MSF2.TextMatrix(6, 2) & " " &

MSF3.TextMatrix(6, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS7").Caption =

MSF.TextMatrix(7, 2) & " " & MSF2.TextMatrix(7, 2) & " " &

MSF3.TextMatrix(7, 2)

ElseIf i = 8 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

CertPromedioGener.Sections("pagina").Controls("materias6").Caption =

MSF.TextMatrix(6, 1)

CertPromedioGener.Sections("pagina").Controls("materias7").Caption =

MSF.TextMatrix(7, 1)

CertPromedioGener.Sections("pagina").Controls("materias8").Caption =

MSF.TextMatrix(8, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

Page 179: Libro Tesis escuela

179

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS6").Caption =

MSF.TextMatrix(6, 2) & " " & MSF2.TextMatrix(6, 2) & " " &

MSF3.TextMatrix(6, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS7").Caption =

MSF.TextMatrix(7, 2) & " " & MSF2.TextMatrix(7, 2) & " " &

MSF3.TextMatrix(7, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS8").Caption =

MSF.TextMatrix(8, 2) & " " & MSF2.TextMatrix(8, 2) & " " &

MSF3.TextMatrix(8, 2)

ElseIf i = 9 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

Page 180: Libro Tesis escuela

180

CertPromedioGener.Sections("pagina").Controls("materias6").Caption =

MSF.TextMatrix(6, 1)

CertPromedioGener.Sections("pagina").Controls("materias7").Caption =

MSF.TextMatrix(7, 1)

CertPromedioGener.Sections("pagina").Controls("materias8").Caption =

MSF.TextMatrix(8, 1)

CertPromedioGener.Sections("pagina").Controls("materias9").Caption =

MSF.TextMatrix(9, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS6").Caption =

MSF.TextMatrix(6, 2) & " " & MSF2.TextMatrix(6, 2) & " " &

MSF3.TextMatrix(6, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS7").Caption =

MSF.TextMatrix(7, 2) & " " & MSF2.TextMatrix(7, 2) & " " &

MSF3.TextMatrix(7, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS8").Caption =

MSF.TextMatrix(8, 2) & " " & MSF2.TextMatrix(8, 2) & " " &

MSF3.TextMatrix(8, 2)

Page 181: Libro Tesis escuela

181

CertPromedioGener.Sections("pagina").Controls("NOTAS9").Caption =

MSF.TextMatrix(9, 2) & " " & MSF2.TextMatrix(9, 2) & " " &

MSF3.TextMatrix(9, 2)

ElseIf i = 10 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

CertPromedioGener.Sections("pagina").Controls("materias6").Caption =

MSF.TextMatrix(6, 1)

CertPromedioGener.Sections("pagina").Controls("materias7").Caption =

MSF.TextMatrix(7, 1)

CertPromedioGener.Sections("pagina").Controls("materias8").Caption =

MSF.TextMatrix(8, 1)

CertPromedioGener.Sections("pagina").Controls("materias9").Caption =

MSF.TextMatrix(9, 1)

CertPromedioGener.Sections("pagina").Controls("materias10").Caption =

MSF.TextMatrix(10, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

Page 182: Libro Tesis escuela

182

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS6").Caption =

MSF.TextMatrix(6, 2) & " " & MSF2.TextMatrix(6, 2) & " " &

MSF3.TextMatrix(6, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS7").Caption =

MSF.TextMatrix(7, 2) & " " & MSF2.TextMatrix(7, 2) & " " &

MSF3.TextMatrix(7, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS8").Caption =

MSF.TextMatrix(8, 2) & " " & MSF2.TextMatrix(8, 2) & " " &

MSF3.TextMatrix(8, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS9").Caption =

MSF.TextMatrix(9, 2) & " " & MSF2.TextMatrix(9, 2) & " " &

MSF3.TextMatrix(9, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS10").Caption =

MSF.TextMatrix(10, 2) & " " & MSF2.TextMatrix(10, 2) & " " &

MSF3.TextMatrix(10, 2)

ElseIf i = 11 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

Page 183: Libro Tesis escuela

183

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

CertPromedioGener.Sections("pagina").Controls("materias6").Caption =

MSF.TextMatrix(6, 1)

CertPromedioGener.Sections("pagina").Controls("materias7").Caption =

MSF.TextMatrix(7, 1)

CertPromedioGener.Sections("pagina").Controls("materias8").Caption =

MSF.TextMatrix(8, 1)

CertPromedioGener.Sections("pagina").Controls("materias9").Caption =

MSF.TextMatrix(9, 1)

CertPromedioGener.Sections("pagina").Controls("materias10").Caption =

MSF.TextMatrix(10, 1)

CertPromedioGener.Sections("pagina").Controls("materias11").Caption =

MSF.TextMatrix(11, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

Page 184: Libro Tesis escuela

184

CertPromedioGener.Sections("pagina").Controls("NOTAS6").Caption =

MSF.TextMatrix(6, 2) & " " & MSF2.TextMatrix(6, 2) & " " &

MSF3.TextMatrix(6, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS7").Caption =

MSF.TextMatrix(7, 2) & " " & MSF2.TextMatrix(7, 2) & " " &

MSF3.TextMatrix(7, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS8").Caption =

MSF.TextMatrix(8, 2) & " " & MSF2.TextMatrix(8, 2) & " " &

MSF3.TextMatrix(8, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS9").Caption =

MSF.TextMatrix(9, 2) & " " & MSF2.TextMatrix(9, 2) & " " &

MSF3.TextMatrix(9, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS10").Caption =

MSF.TextMatrix(10, 2) & " " & MSF2.TextMatrix(10, 2) & " " &

MSF3.TextMatrix(10, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS11").Caption =

MSF.TextMatrix(11, 2) & " " & MSF2.TextMatrix(11, 2) & " " &

MSF3.TextMatrix(11, 2)

ElseIf i = 12 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

CertPromedioGener.Sections("pagina").Controls("materias6").Caption =

MSF.TextMatrix(6, 1)

Page 185: Libro Tesis escuela

185

CertPromedioGener.Sections("pagina").Controls("materias7").Caption =

MSF.TextMatrix(7, 1)

CertPromedioGener.Sections("pagina").Controls("materias8").Caption =

MSF.TextMatrix(8, 1)

CertPromedioGener.Sections("pagina").Controls("materias9").Caption =

MSF.TextMatrix(9, 1)

CertPromedioGener.Sections("pagina").Controls("materias10").Caption =

MSF.TextMatrix(10, 1)

CertPromedioGener.Sections("pagina").Controls("materias11").Caption =

MSF.TextMatrix(11, 1)

CertPromedioGener.Sections("pagina").Controls("materias12").Caption =

MSF.TextMatrix(12, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS6").Caption =

MSF.TextMatrix(6, 2) & " " & MSF2.TextMatrix(6, 2) & " " &

MSF3.TextMatrix(6, 2)

Page 186: Libro Tesis escuela

186

CertPromedioGener.Sections("pagina").Controls("NOTAS7").Caption =

MSF.TextMatrix(7, 2) & " " & MSF2.TextMatrix(7, 2) & " " &

MSF3.TextMatrix(7, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS8").Caption =

MSF.TextMatrix(8, 2) & " " & MSF2.TextMatrix(8, 2) & " " &

MSF3.TextMatrix(8, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS9").Caption =

MSF.TextMatrix(9, 2) & " " & MSF2.TextMatrix(9, 2) & " " &

MSF3.TextMatrix(9, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS10").Caption =

MSF.TextMatrix(10, 2) & " " & MSF2.TextMatrix(10, 2) & " " &

MSF3.TextMatrix(10, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS11").Caption =

MSF.TextMatrix(11, 2) & " " & MSF2.TextMatrix(11, 2) & " " &

MSF3.TextMatrix(11, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS12").Caption =

MSF.TextMatrix(12, 2) & " " & MSF2.TextMatrix(12, 2) & " " &

MSF3.TextMatrix(12, 2)

ElseIf i = 13 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

CertPromedioGener.Sections("pagina").Controls("materias6").Caption =

MSF.TextMatrix(6, 1)

Page 187: Libro Tesis escuela

187

CertPromedioGener.Sections("pagina").Controls("materias7").Caption =

MSF.TextMatrix(7, 1)

CertPromedioGener.Sections("pagina").Controls("materias8").Caption =

MSF.TextMatrix(8, 1)

CertPromedioGener.Sections("pagina").Controls("materias9").Caption =

MSF.TextMatrix(9, 1)

CertPromedioGener.Sections("pagina").Controls("materias10").Caption =

MSF.TextMatrix(10, 1)

CertPromedioGener.Sections("pagina").Controls("materias11").Caption =

MSF.TextMatrix(11, 1)

CertPromedioGener.Sections("pagina").Controls("materias12").Caption =

MSF.TextMatrix(12, 1)

CertPromedioGener.Sections("pagina").Controls("materias13").Caption =

MSF.TextMatrix(13, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS6").Caption =

MSF.TextMatrix(6, 2) & " " & MSF2.TextMatrix(6, 2) & " " &

MSF3.TextMatrix(6, 2)

Page 188: Libro Tesis escuela

188

CertPromedioGener.Sections("pagina").Controls("NOTAS7").Caption =

MSF.TextMatrix(7, 2) & " " & MSF2.TextMatrix(7, 2) & " " &

MSF3.TextMatrix(7, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS8").Caption =

MSF.TextMatrix(8, 2) & " " & MSF2.TextMatrix(8, 2) & " " &

MSF3.TextMatrix(8, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS9").Caption =

MSF.TextMatrix(9, 2) & " " & MSF2.TextMatrix(9, 2) & " " &

MSF3.TextMatrix(9, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS10").Caption =

MSF.TextMatrix(10, 2) & " " & MSF2.TextMatrix(10, 2) & " " &

MSF3.TextMatrix(10, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS11").Caption =

MSF.TextMatrix(11, 2) & " " & MSF2.TextMatrix(11, 2) & " " &

MSF3.TextMatrix(11, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS12").Caption =

MSF.TextMatrix(12, 2) & " " & MSF2.TextMatrix(12, 2) & " " &

MSF3.TextMatrix(12, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS13").Caption =

MSF.TextMatrix(13, 2) & " " & MSF2.TextMatrix(13, 2) & " " &

MSF3.TextMatrix(13, 2)

ElseIf i = 14 Then

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

Page 189: Libro Tesis escuela

189

CertPromedioGener.Sections("pagina").Controls("materias6").Caption =

MSF.TextMatrix(6, 1)

CertPromedioGener.Sections("pagina").Controls("materias7").Caption =

MSF.TextMatrix(7, 1)

CertPromedioGener.Sections("pagina").Controls("materias8").Caption =

MSF.TextMatrix(8, 1)

CertPromedioGener.Sections("pagina").Controls("materias9").Caption =

MSF.TextMatrix(9, 1)

CertPromedioGener.Sections("pagina").Controls("materias10").Caption =

MSF.TextMatrix(10, 1)

CertPromedioGener.Sections("pagina").Controls("materias11").Caption =

MSF.TextMatrix(11, 1)

CertPromedioGener.Sections("pagina").Controls("materias12").Caption =

MSF.TextMatrix(12, 1)

CertPromedioGener.Sections("pagina").Controls("materias13").Caption =

MSF.TextMatrix(13, 1)

CertPromedioGener.Sections("pagina").Controls("materias14").Caption =

MSF.TextMatrix(14, 1)

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

Page 190: Libro Tesis escuela

190

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS6").Caption =

MSF.TextMatrix(6, 2) & " " & MSF2.TextMatrix(6, 2) & " " &

MSF3.TextMatrix(6, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS7").Caption =

MSF.TextMatrix(7, 2) & " " & MSF2.TextMatrix(7, 2) & " " &

MSF3.TextMatrix(7, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS8").Caption =

MSF.TextMatrix(8, 2) & " " & MSF2.TextMatrix(8, 2) & " " &

MSF3.TextMatrix(8, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS9").Caption =

MSF.TextMatrix(9, 2) & " " & MSF2.TextMatrix(9, 2) & " " &

MSF3.TextMatrix(9, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS10").Caption =

MSF.TextMatrix(10, 2) & " " & MSF2.TextMatrix(10, 2) & " " &

MSF3.TextMatrix(10, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS11").Caption =

MSF.TextMatrix(11, 2) & " " & MSF2.TextMatrix(11, 2) & " " &

MSF3.TextMatrix(11, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS12").Caption =

MSF.TextMatrix(12, 2) & " " & MSF2.TextMatrix(12, 2) & " " &

MSF3.TextMatrix(12, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS13").Caption =

MSF.TextMatrix(13, 2) & " " & MSF2.TextMatrix(13, 2) & " " &

MSF3.TextMatrix(13, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS14").Caption =

MSF.TextMatrix(14, 2) & " " & MSF2.TextMatrix(14, 2) & " " &

MSF3.TextMatrix(14, 2)

ElseIf i = 15 Then

Page 191: Libro Tesis escuela

191

CertPromedioGener.Sections("pagina").Controls("materias1").Caption =

MSF.TextMatrix(1, 1)

CertPromedioGener.Sections("pagina").Controls("materias2").Caption =

MSF.TextMatrix(2, 1)

CertPromedioGener.Sections("pagina").Controls("materias3").Caption =

MSF.TextMatrix(3, 1)

CertPromedioGener.Sections("pagina").Controls("materias4").Caption =

MSF.TextMatrix(4, 1)

CertPromedioGener.Sections("pagina").Controls("materias5").Caption =

MSF.TextMatrix(5, 1)

CertPromedioGener.Sections("pagina").Controls("materias6").Caption =

MSF.TextMatrix(6, 1)

CertPromedioGener.Sections("pagina").Controls("materias7").Caption =

MSF.TextMatrix(7, 1)

CertPromedioGener.Sections("pagina").Controls("materias8").Caption =

MSF.TextMatrix(8, 1)

CertPromedioGener.Sections("pagina").Controls("materias9").Caption =

MSF.TextMatrix(9, 1)

CertPromedioGener.Sections("pagina").Controls("materias10").Caption =

MSF.TextMatrix(10, 1)

CertPromedioGener.Sections("pagina").Controls("materias11").Caption =

MSF.TextMatrix(11, 1)

CertPromedioGener.Sections("pagina").Controls("materias12").Caption =

MSF.TextMatrix(12, 1)

CertPromedioGener.Sections("pagina").Controls("materias13").Caption =

MSF.TextMatrix(13, 1)

CertPromedioGener.Sections("pagina").Controls("materias14").Caption =

MSF.TextMatrix(14, 1)

CertPromedioGener.Sections("pagina").Controls("materias15").Caption =

MSF.TextMatrix(15, 1)

Page 192: Libro Tesis escuela

192

CertPromedioGener.Sections("pagina").Controls("NOTAS1").Caption =

MSF.TextMatrix(1, 2) & " " & MSF2.TextMatrix(1, 2) & " " &

MSF3.TextMatrix(1, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS2").Caption =

MSF.TextMatrix(2, 2) & " " & MSF2.TextMatrix(2, 2) & " " &

MSF3.TextMatrix(2, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS3").Caption =

MSF.TextMatrix(3, 2) & " " & MSF2.TextMatrix(3, 2) & " " &

MSF3.TextMatrix(3, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS4").Caption =

MSF.TextMatrix(4, 2) & " " & MSF2.TextMatrix(4, 2) & " " &

MSF3.TextMatrix(4, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS5").Caption =

MSF.TextMatrix(5, 2) & " " & MSF2.TextMatrix(5, 2) & " " &

MSF3.TextMatrix(5, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS6").Caption =

MSF.TextMatrix(6, 2) & " " & MSF2.TextMatrix(6, 2) & " " &

MSF3.TextMatrix(6, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS7").Caption =

MSF.TextMatrix(7, 2) & " " & MSF2.TextMatrix(7, 2) & " " &

MSF3.TextMatrix(7, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS8").Caption =

MSF.TextMatrix(8, 2) & " " & MSF2.TextMatrix(8, 2) & " " &

MSF3.TextMatrix(8, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS9").Caption =

MSF.TextMatrix(9, 2) & " " & MSF2.TextMatrix(9, 2) & " " &

MSF3.TextMatrix(9, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS10").Caption =

MSF.TextMatrix(10, 2) & " " & MSF2.TextMatrix(10, 2) & " " &

MSF3.TextMatrix(10, 2)

Page 193: Libro Tesis escuela

193

CertPromedioGener.Sections("pagina").Controls("NOTAS11").Caption =

MSF.TextMatrix(11, 2) & " " & MSF2.TextMatrix(11, 2) & " " &

MSF3.TextMatrix(11, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS12").Caption =

MSF.TextMatrix(12, 2) & " " & MSF2.TextMatrix(12, 2) & " " &

MSF3.TextMatrix(12, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS13").Caption =

MSF.TextMatrix(13, 2) & " " & MSF2.TextMatrix(13, 2) & " " &

MSF3.TextMatrix(13, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS14").Caption =

MSF.TextMatrix(14, 2) & " " & MSF2.TextMatrix(14, 2) & " " &

MSF3.TextMatrix(14, 2)

CertPromedioGener.Sections("pagina").Controls("NOTAS15").Caption =

MSF.TextMatrix(15, 2) & " " & MSF2.TextMatrix(15, 2) & " " &

MSF3.TextMatrix(15, 2)

End If

CertPromedioGener.Sections("pagina").Controls("TOTALES").Caption =

SumProm1 & " " & SumProm2 & " " & SumProm3

CertPromedioGener.Sections("pagina").Controls("TOTAL").Caption =

TotalProm.Text

CertPromedioGener.Sections("Pagina").Controls("Grado").Caption =

Tabla!curso1

ReportLibreta.Hide

CertPromedioGener.Refresh

Load CertPromedioGener

CertPromedioGener.Show

Exit Sub

salir:

MsgBox "Error, este estudiante no tiene notas de los 3 Trimestre.", vbCritical

End Sub

Private Sub boton_Click(Index As Integer)

Page 194: Libro Tesis escuela

194

Select Case Index

Case 0

Dim f As Long

Dim Sum, Sum2 As Double

On Error Resume Next

'TRIMESTRE #1

f = 1: Sum = 0: Sum2 = 0

MSF.Rows = 1

Set Tabla = Base.Execute("select NOTAS.TRIMESTRE,MATERIAS.NOMBRE

AS MATERIA,NOTAS.PROMEDIO,NOTAS.CONDUCTA from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=1 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & " ORDER BY

MATERIAS.NOMBRE")

Do Until Tabla.EOF

MSF.Rows = MSF.Rows + 1

MSF.TextMatrix(f, 0) = Tabla!TRIMESTRE

MSF.TextMatrix(f, 1) = Tabla!materia

MSF.TextMatrix(f, 2) = Tabla!promedio

MSF.TextMatrix(f, 3) = Tabla!CONDUCTA

Tabla.MoveNext

f = f + 1

Loop

Tabla.Close

Set Tabla = Nothing

For i = 1 To f - 1

Sum = Sum + Val(MSF.TextMatrix(i, 2))

Sum2 = Sum2 + Val(MSF.TextMatrix(i, 3))

Next i

Page 195: Libro Tesis escuela

195

SumProm1 = Round(Sum / (i - 1))

SumCond1 = Round(Sum2 / (i - 1))

'TRIMESTRE #2

f = 1: Sum = 0: Sum2 = 0

MSF2.Rows = 1

Set Tabla = Base.Execute("select NOTAS.TRIMESTRE,MATERIAS.NOMBRE

AS MATERIA,NOTAS.PROMEDIO,NOTAS.CONDUCTA from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=2 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & " ORDER BY

MATERIAS.NOMBRE")

Do Until Tabla.EOF

MSF2.Rows = MSF2.Rows + 1

MSF2.TextMatrix(f, 0) = Tabla!TRIMESTRE

MSF2.TextMatrix(f, 1) = Tabla!materia

MSF2.TextMatrix(f, 2) = Tabla!promedio

MSF2.TextMatrix(f, 3) = Tabla!CONDUCTA

Tabla.MoveNext

f = f + 1

Loop

Tabla.Close

Set Tabla = Nothing

For i = 1 To f - 1

Sum = Sum + Val(MSF2.TextMatrix(i, 2))

Sum2 = Sum2 + Val(MSF2.TextMatrix(i, 3))

Next i

SumProm2 = Round(Sum / (i - 1))

SumCond2 = Round(Sum2 / (i - 1))

'TRIMESTRE #3

Page 196: Libro Tesis escuela

196

f = 1: Sum = 0: Sum2 = 0

MSF3.Rows = 1

Set Tabla = Base.Execute("select NOTAS.TRIMESTRE,MATERIAS.NOMBRE

AS MATERIA,NOTAS.PROMEDIO,NOTAS.CONDUCTA from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=3 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & " ORDER BY

MATERIAS.NOMBRE")

Do Until Tabla.EOF

MSF3.Rows = MSF3.Rows + 1

MSF3.TextMatrix(f, 0) = Tabla!TRIMESTRE

MSF3.TextMatrix(f, 1) = Tabla!materia

MSF3.TextMatrix(f, 2) = Tabla!promedio

MSF3.TextMatrix(f, 3) = Tabla!CONDUCTA

Tabla.MoveNext

f = f + 1

Loop

Tabla.Close

Set Tabla = Nothing

For i = 1 To f - 1

Sum = Sum + Val(MSF3.TextMatrix(i, 2))

Sum2 = Sum2 + Val(MSF3.TextMatrix(i, 3))

Next i

SumProm3 = Round(Sum / (i - 1))

SumCond3 = Round(Sum2 / (i - 1))

'promedios generales

TotalProm = Round((Val(SumProm1) + Val(SumProm2) + Val(SumProm3)) / 3)

TotalCond = Round((Val(SumCond1) + Val(SumCond2) + Val(SumCond3)) / 3)

'IMPRIME

Page 197: Libro Tesis escuela

197

BotonImprime

anio.ListIndex = -1

ciclo.ListIndex = -1

alumnos.ListIndex = -1

Case 1

anio.ListIndex = -1

ciclo.ListIndex = -1

alumnos.ListIndex = -1

ReportLibreta.Hide

End Select

End Sub

Private Sub LlenarCiclo()

On Error GoTo salir

ciclo.Clear

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

Set Tabla = Base.Execute("Select * from curso order by nombre")

While Not Tabla.EOF

ciclo.AddItem Tabla!nombre

ciclo.ItemData(ciclo.NewIndex) = Tabla!IdAnio

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

anio.Clear

Set Tabla = Base.Execute("Select DISTINCT lectivo from matriculas order by

lectivo")

While Not Tabla.EOF

anio.AddItem Tabla!lectivo

Page 198: Libro Tesis escuela

198

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarCiclo Else Unload Me

End Sub

Private Sub ciclo_Click()

If ciclo.ListIndex = -1 Then Exit Sub

LlenarAlumnos

End Sub

Private Sub Form_Load()

LlenarCiclo

anio.ListIndex = ListCount - 1

End Sub

Private Sub LlenarAlumnos()

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

alumnos.Clear

Set Tabla = Base.Execute("Select datos.nombre, matriculas.numero from datos

inner join matriculas on datos.alumnoid = matriculas.alumnoid where

matriculas.Idcurso = " & ciclo.ItemData(ciclo.ListIndex) & " and

matriculas.lectivo = " & Val(anio.Text))

While Not Tabla.EOF

alumnos.AddItem Tabla!nombre

Page 199: Libro Tesis escuela

199

alumnos.ItemData(alumnos.NewIndex) = Tabla!numero

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

End Sub

1.24. FORMULARIO CARNET DEL ESTUDIANTE

Dim Tabla As New ADODB.Recordset

Dim tablaEd As New ADODB.Recordset

Private Sub anio_Click()

If ciclo.ListIndex = -1 Then Exit Sub

LlenarAlumnos

End Sub

Sub boton()

On Error GoTo salir

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

If alumnos.ListIndex = -1 Or ciclo.ListIndex = -1 Or anio.ListIndex = -1 Then

Exit Sub

Set Tabla = Base.Execute("Select matriculas.numero, datos.nombre as

Alumno,curso.nombre as curso1,matriculas.folio from

datos,matriculas,curso,notas where datos.alumnoid=matriculas.alumnoid and

matriculas.idcurso=curso.idanio and matriculas.numero=notas.numero and

notas.numero = " & alumnos.ItemData(alumnos.ListIndex) & " and notas.lectivo

= " & Val(anio.Text) & " order by datos.nombre")

Set CertificadoMatricula.DataSource = Tabla

Page 200: Libro Tesis escuela

200

CertificadoMatricula.Sections("Eduardo").Controls("Estudiante").Caption =

Tabla!alumno

CertificadoMatricula.Sections("Eduardo").Controls("Curso").Caption =

Tabla!curso1

CertificadoMatricula.Sections("Eduardo").Controls("año").Caption = anio.Text &

" - " & Val(anio.Text) + 1

CertificadoMatricula.Sections("Eduardo").Controls("Folio").Caption =

Tabla!Folio

CertificadoMatricula.Sections("Eduardo").Controls("Matricula").Caption = "0" &

Tabla!numero

CertificadoMatricula.Sections("Eduardo").Controls("Fecha").Caption =

Format(Date, " dd \de mmmm \del yyyy")

RptCertificadoMatricula.Hide

CertificadoMatricula.Refresh

Load CertificadoMatricula

Exit Sub

salir:

MsgBox "error, consulte al distribuidor del programa.", vbCritical

End Sub

Private Sub LlenarCiclo()

On Error GoTo salir

ciclo.Clear

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

Set Tabla = Base.Execute("Select * from curso")

While Not Tabla.EOF

ciclo.AddItem Tabla!nombre

ciclo.ItemData(ciclo.NewIndex) = Tabla!IdAnio

Tabla.MoveNext

Page 201: Libro Tesis escuela

201

Wend

Tabla.Close

Set Tabla = Nothing

Set Tabla = Base.Execute("Select DISTINCT lectivo from matriculas order by

lectivo")

While Not Tabla.EOF

anio.AddItem Tabla!lectivo

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarCiclo Else Unload Me

End Sub

Private Sub ciclo_Click()

If ciclo.ListIndex = -1 Then Exit Sub

LlenarAlumnos

End Sub

Private Sub Form_Load()

LlenarCiclo

anio.ListIndex = ListCount - 1

End Sub

Private Sub LlenarAlumnos()

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

Page 202: Libro Tesis escuela

202

alumnos.Clear

Set Tabla = Base.Execute("Select datos.nombre, matriculas.numero from datos

inner join matriculas on datos.alumnoid = matriculas.alumnoid where

matriculas.Idcurso = " & ciclo.ItemData(ciclo.ListIndex) & " and

matriculas.lectivo = " & Val(anio.Text))

While Not Tabla.EOF

alumnos.AddItem Tabla!nombre

alumnos.ItemData(alumnos.NewIndex) = Tabla!numero

Tabla.MoveNext

Wend

Tabla.Close: Set Tabla = Nothing

End Sub

Private Sub Cancelar_Click()

Unload Me

End Sub

Private Sub Mostar_Click()

On Error GoTo Trata

ReporteCarnet.ssQLL = "Select matriculas.numero AS Matricula, datos.nombre

AS Alumno, curso.nombre AS Curso, cdate(format(now,'dd/mm/yyyy')) AS

Fecha, datos.Padre, datos.Madre, matriculas.representante AS Representante,

datos.direapoderado AS Direccion " & _

"FROM Datos, Matriculas,Curso " & _

"WHERE datos.alumnoid=matriculas.alumnoid and

matriculas.idcurso=curso.idanio and matriculas.Lectivo=" & Val(anio.Text) & "

and matriculas.IdCurso=" & ciclo.ItemData(ciclo.ListIndex) & ""

ReporteCarnet.Show

Exit Sub

Trata: MsgBox "No hay datos que mostrar.", vbExclamation

End Sub

Page 203: Libro Tesis escuela

203

1.25. FORMULARIO ACTA DE MATRICULAS

Dim TablaEdu As New ADODB.Recordset

Private Sub LlenarLectivo()

If TablaEdu.State = 1 Then TablaEdu.Close

Set TablaEdu = Base.Execute("Select DISTINCT lectivo from matriculas order

by lectivo")

lectivo.Clear

While Not TablaEdu.EOF

lectivo.AddItem TablaEdu!lectivo

TablaEdu.MoveNext

Wend

TablaEdu.Close

End Sub

Private Sub boton_Click(Index As Integer)

Select Case Index

Case 0:

If lectivo.ListIndex = -1 Then MsgBox "Debe seleccionar el año lectivo del cual

desee mostrar la información requerida", vbExclamation: Exit Sub

If TablaEdu.State = 1 Then TablaEdu.Close

On Error GoTo salir

Set TablaEdu = Base.Execute("select datos.sexo,matriculas.numero as

Matricula,curso.nombre as paralelo,datos.nombre as estudiante,datos.lnacimiento

& ', ' & datos.fecha as

LugFechNac,datos.padre,datos.madre,datos.vivecon,matriculas.representante as

Nomapoderado,datos.direapoderado,matriculas.observacion,format(matriculas.fec

ha,'dd') as dia,format(matriculas.fecha,'mmmm') as

mes,format(matriculas.fecha,'yyyy') as ano from datos, matriculas,curso where

datos.alumnoid=matriculas.alumnoid and curso.idanio=matriculas.idcurso and

matriculas.lectivo=" & Val(lectivo.Text) & " ")

Page 204: Libro Tesis escuela

204

Set RptMatricula.DataSource = TablaEdu

If Val(TablaEdu!Sexo) = 1 Then

RptMatricula.Sections("sección1").Controls("etiqueta7").Caption = "Apellidos y

Nombres de la Alumna"

RptMatricula.Sections("sección1").Controls("etiqueta12").Caption = "Vive con"

Else

RptMatricula.Sections("sección1").Controls("etiqueta7").Caption = "Apellidos y

Nombres del Alumno"

RptMatricula.Sections("sección1").Controls("etiqueta12").Caption = "Vive con"

End If

RptMatricula.Sections("sección1").Controls("texto2").DataField = "Matricula"

RptMatricula.Sections("sección1").Controls("texto3").DataField = "paralelo"

RptMatricula.Sections("sección1").Controls("texto4").DataField = "Estudiante"

RptMatricula.Sections("sección1").Controls("texto5").DataField = "LugFechNac"

RptMatricula.Sections("sección1").Controls("texto6").DataField = "padre"

RptMatricula.Sections("sección1").Controls("texto7").DataField = "madre"

RptMatricula.Sections("sección1").Controls("texto8").DataField = "vivecon"

RptMatricula.Sections("sección1").Controls("texto9").DataField =

"nomapoderado"

RptMatricula.Sections("sección1").Controls("texto10").DataField =

"direapoderado"

RptMatricula.Sections("sección1").Controls("texto12").DataField = "observacion"

RptMatricula.Sections("sección1").Controls("texto13").DataField = "Dia"

RptMatricula.Sections("sección1").Controls("texto14").DataField = "mes"

RptMatricula.Sections("sección1").Controls("texto15").DataField = "ano"

RptMatricula.Refresh

Unload Me

Load RptMatricula

RptMatricula.Show

Exit Sub

salir:

MsgBox "Hay un problema, consulte al distribuidor del sistema.", vbCritical

Page 205: Libro Tesis escuela

205

Case 1: Unload Me

End Select

End Sub

Private Sub Form_Load()

LlenarLectivo

End Sub

1.26. FORMULARIO CERTIFICADO DE MATRICULA

Dim Tabla As New ADODB.Recordset

Dim tablaEd As New ADODB.Recordset

Dim Sexo As String

Dim S As String

Private Sub anio_Click()

If ciclo.ListIndex = -1 Then Exit Sub

LlenarAlumnos

End Sub

Sub boton()

On Error GoTo salir

If Tabla.State = 1 Then

Tabla.Close: Set Tabla = Nothing

End If

If alumnos.ListIndex = -1 Or ciclo.ListIndex = -1 Or anio.ListIndex = -1 Then

Exit Sub 'Or Descripcion.ListIndex = -1

Set Tabla = Base.Execute("Select matriculas.numero, datos.nombre as

Alumno,curso.nombre as curso1 from datos,matriculas,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

matriculas.numero = " & alumnos.ItemData(alumnos.ListIndex) & " and

matriculas.lectivo = " & Val(anio.Text) & " order by datos.nombre")

Page 206: Libro Tesis escuela

206

Set CertificadoMatricula.DataSource = Tabla

If Sexo = "1" Then

CertificadoMatricula.Sections("Eduardo").Controls("Sexo").Caption = "la"

CertificadoMatricula.Sections("Eduardo").Controls("Sexo1").Caption = "a"

CertificadoMatricula.Sections("Eduardo").Controls("Sexo2").Caption = "a"

Else

CertificadoMatricula.Sections("Eduardo").Controls("Sexo").Caption = "el"

CertificadoMatricula.Sections("Eduardo").Controls("Sexo1").Caption = "o"

CertificadoMatricula.Sections("Eduardo").Controls("Sexo2").Caption = "o"

End If

CertificadoMatricula.Sections("Eduardo").Controls("Estudiante").Caption =

Tabla!alumno

CertificadoMatricula.Sections("Eduardo").Controls("Curso").Caption =

Tabla!curso1

CertificadoMatricula.Sections("Eduardo").Controls("año").Caption = anio.Text &

" - " & Val(anio.Text) + 1

CertificadoMatricula.Sections("Eduardo").Controls("Matricula").Caption = "0" &

Tabla!numero

CertificadoMatricula.Sections("Eduardo").Controls("Fecha").Caption =

Format(Date, " dd \de mmmm \del yyyy")

CertificadoMatricula.Sections("Sección4").Controls("Especie").Caption = "Nº. "

& S

RptCertMatricula.Hide

CertificadoMatricula.Refresh

Load CertificadoMatricula

CertificadoMatricula.Show

Exit Sub

salir: Unload CertificadoMatricula

MsgBox "Error, este estudiante no esta matriculado.", vbCritical

End Sub

Private Sub LlenarCiclo()

Page 207: Libro Tesis escuela

207

On Error GoTo salir

ciclo.Clear

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

Set Tabla = Base.Execute("Select * from curso")

While Not Tabla.EOF

ciclo.AddItem Tabla!nombre

ciclo.ItemData(ciclo.NewIndex) = Tabla!IdAnio

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

anio.Clear

Set Tabla = Base.Execute("Select DISTINCT lectivo from matriculas order by

lectivo")

While Not Tabla.EOF

anio.AddItem Tabla!lectivo

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarCiclo Else Unload Me

End Sub

Private Sub ciclo_Click()

If ciclo.ListIndex = -1 Then Exit Sub

LlenarAlumnos

Page 208: Libro Tesis escuela

208

End Sub

Private Sub Descripcion_KeyPress(Tecla As Integer)

Select Case Tecla

Case Else

Tecla = 0

End Select

End Sub

Private Sub Form_Load()

LlenarCiclo

anio.ListIndex = ListCount - 1

Sexo = ""

End Sub

Private Sub LlenarAlumnos()

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

alumnos.Clear

Set Tabla = Base.Execute("Select datos.nombre, matriculas.numero from datos

inner join matriculas on datos.alumnoid = matriculas.alumnoid where

matriculas.Idcurso = " & ciclo.ItemData(ciclo.ListIndex) & " and

matriculas.lectivo = " & Val(anio.Text))

While Not Tabla.EOF

alumnos.AddItem Tabla!nombre

alumnos.ItemData(alumnos.NewIndex) = Tabla!numero

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Page 209: Libro Tesis escuela

209

End Sub

Private Sub Cancelar_Click()

Unload Me

End Sub

Sub Especie()

Dim ValorEsp As String

Dim i As Integer

On Error Resume Next

ValorEsp = "1"

S = ""

Set Tabla = Base.Execute("select max(nespecie) as Especi from Especie where

anio='" & anio.Text & "'")

ValorEsp = Val(Tabla!especi) + 1

Tabla.Close

Set Tabla = Nothing

For i = 1 To 5 - Len(ValorEsp)

S = S & "0"

Next i

S = S & ValorEsp

Base.Execute "Insert into Especie(Nespecie,anio)values('" & S & "','" & anio.Text

& "')"

Base.Execute "delete * from especie where anio<='" & Val(anio.Text) - 5 & "'"

End Sub

Private Sub Mostar_Click()

On Error Resume Next

Set Tabla = Base.Execute("Select datos.sexo from datos inner join matriculas on

datos.alumnoid = matriculas.alumnoid where datos.nombre='" &

Trim(alumnos.Text) & "' and matriculas.Idcurso = " &

ciclo.ItemData(ciclo.ListIndex) & " and matriculas.lectivo = " & Val(anio.Text))

Page 210: Libro Tesis escuela

210

Sexo = Tabla!Sexo

Tabla.Close

Set Tabla = Nothing

boton

End Sub

1.27. FORMULARIO CERTIFICADO DE CONDUCTA

Dim Tabla As New ADODB.Recordset

Dim tablaEd As New ADODB.Recordset

Dim Sexo, Puntage As String

Dim S As String

Private Sub anio_Click()

If ciclo.ListIndex = -1 Then Exit Sub

LlenarAlumnos

End Sub

Sub boton()

On Error GoTo salir

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

If alumnos.ListIndex = -1 Or ciclo.ListIndex = -1 Or anio.ListIndex = -1 Then

Exit Sub 'Or Descripcion.ListIndex = -1

Set Tabla = Base.Execute("Select *, matriculas.numero, datos.nombre as

AlumnoS1,curso.nombre as curso1,matriculas.lectivo from

datos,matriculas,curso,notas where datos.alumnoid=matriculas.alumnoid and

matriculas.idcurso=curso.idanio and matriculas.numero=notas.numero and

notas.numero = " & alumnos.ItemData(alumnos.ListIndex) & " and notas.lectivo

= " & Val(anio.Text) & " order by datos.nombre")

Page 211: Libro Tesis escuela

211

Set CertfConducta.DataSource = Tabla

CertfConducta.Sections("Pagina").Controls("AnoLectivo").Caption = anio.Text &

" - " & Val(anio.Text) + 1

If Sexo = "1" Or Sexo = 1 Then

CertfConducta.Sections("Pagina").Controls("Sexo").Caption = "la"

CertfConducta.Sections("Pagina").Controls("Sexo1").Caption = "a"

Else

CertfConducta.Sections("Pagina").Controls("Sexo").Caption = "el"

CertfConducta.Sections("Pagina").Controls("Sexo1").Caption = "o"

End If

CertfConducta.Sections("Pagina").Controls("Estudiante").Caption =

Tabla!alumnos1

CertfConducta.Sections("Pagina").Controls("Curso").Caption = Tabla!curso1

CertfConducta.Sections("Pagina").Controls("estudiante2").Caption =

Tabla!alumnos1

CertfConducta.Sections("Pagina").Controls("año").Caption = anio.Text & " - " &

Val(anio.Text) + 1

CertfConducta.Sections("Pagina").Controls("Curso1").Caption = Tabla!curso1

CertfConducta.Sections("Pagina").Controls("Calificacion").Caption =

TotalCond.Text

CertfConducta.Sections("Pagina").Controls("Equivalente").Caption = Puntage

CertfConducta.Sections("Pagina").Controls("Fecha").Caption = "Portoviejo, al "

& Format(Date, " dd \de mmmm \del yyyy")

RptCertificadoConducta.Hide

CertfConducta.Refresh

Load CertfConducta

CertfConducta.Show

Exit Sub

salir: Unload CertificadoConducta

MsgBox "Error, este estudiante no tiene nota de conducta.", vbCritical

End Sub

Page 212: Libro Tesis escuela

212

Private Sub LlenarCiclo()

On Error GoTo salir

ciclo.Clear

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

Set Tabla = Base.Execute("Select * from curso")

While Not Tabla.EOF

ciclo.AddItem Tabla!nombre

ciclo.ItemData(ciclo.NewIndex) = Tabla!IdAnio

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

anio.Clear

Set Tabla = Base.Execute("Select DISTINCT lectivo from matriculas order by

lectivo")

While Not Tabla.EOF

anio.AddItem Tabla!lectivo

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarCiclo Else Unload Me

End Sub

Private Sub ciclo_Click()

If ciclo.ListIndex = -1 Then Exit Sub

Page 213: Libro Tesis escuela

213

LlenarAlumnos

End Sub

Private Sub Descripcion_KeyPress(Tecla As Integer)

Select Case Tecla

Case Else

Tecla = 0

End Select

End Sub

Private Sub Form_Load()

LlenarCiclo

anio.ListIndex = ListCount - 1

Sexo = ""

End Sub

Private Sub LlenarAlumnos()

If Tabla.State = 1 Then

Tabla.Close

Set Tabla = Nothing

End If

alumnos.Clear

Set Tabla = Base.Execute("Select datos.nombre, matriculas.numero from datos

inner join matriculas on datos.alumnoid = matriculas.alumnoid where

matriculas.Idcurso = " & ciclo.ItemData(ciclo.ListIndex) & " and

matriculas.lectivo = " & Val(anio.Text))

While Not Tabla.EOF

alumnos.AddItem Tabla!nombre

alumnos.ItemData(alumnos.NewIndex) = Tabla!numero

Tabla.MoveNext

Wend

Tabla.Close

Page 214: Libro Tesis escuela

214

Set Tabla = Nothing

End Sub

Private Sub Cancelar_Click()

Unload Me

End Sub

Sub Especie()

Dim ValorEsp As String

Dim i As Integer

On Error Resume Next

ValorEsp = "1"

S = ""

Set Tabla = Base.Execute("select max(nespecie) as Especi from Especie where

anio='" & anio.Text & "'")

ValorEsp = Val(Tabla!especi) + 1

Tabla.Close

Set Tabla = Nothing

For i = 1 To 5 - Len(ValorEsp)

S = S & "0"

Next i

S = S & ValorEsp

Base.Execute "Insert into Especie(Nespecie,anio)values('" & S & "','" & anio.Text

& "')"

Base.Execute "delete * from especie where anio<='" & Val(anio.Text) - 5 & "'"

End Sub

Sub LlenarConductas()

Dim f As Long

Dim Sum, Sum2 As Double

On Error Resume Next

'TRIMESTRE #1

Page 215: Libro Tesis escuela

215

f = 1: Sum = 0: Sum2 = 0

MSF.Rows = 1

Set Tabla = Base.Execute("select NOTAS.TRIMESTRE,MATERIAS.NOMBRE

AS MATERIA,NOTAS.PROMEDIO,NOTAS.CONDUCTA from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=1 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & " ORDER BY

MATERIAS.NOMBRE")

Do Until Tabla.EOF

MSF.Rows = MSF.Rows + 1

MSF.TextMatrix(f, 0) = Tabla!TRIMESTRE

MSF.TextMatrix(f, 1) = Tabla!materia

MSF.TextMatrix(f, 2) = Tabla!promedio

MSF.TextMatrix(f, 3) = Tabla!CONDUCTA

Tabla.MoveNext

f = f + 1

Loop

Tabla.Close

Set Tabla = Nothing

For i = 1 To f - 1

Sum = Sum + Val(MSF.TextMatrix(i, 2))

Sum2 = Sum2 + Val(MSF.TextMatrix(i, 3))

Next i

SumProm1 = Round(Sum / (i - 1))

SumCond1 = Round(Sum2 / (i - 1))

'TRIMESTRE #2

f = 1: Sum = 0: Sum2 = 0

MSF2.Rows = 1

Page 216: Libro Tesis escuela

216

Set Tabla = Base.Execute("select NOTAS.TRIMESTRE,MATERIAS.NOMBRE

AS MATERIA,NOTAS.PROMEDIO,NOTAS.CONDUCTA from

datos,matriculas,notas,materias,aux,curso where

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=2 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & " ORDER BY

MATERIAS.NOMBRE")

Do Until Tabla.EOF

MSF2.Rows = MSF2.Rows + 1

MSF2.TextMatrix(f, 0) = Tabla!TRIMESTRE

MSF2.TextMatrix(f, 1) = Tabla!materia

MSF2.TextMatrix(f, 2) = Tabla!promedio

MSF2.TextMatrix(f, 3) = Tabla!CONDUCTA

Tabla.MoveNext

f = f + 1

Loop

Tabla.Close

Set Tabla = Nothing

For i = 1 To f - 1

Sum = Sum + Val(MSF2.TextMatrix(i, 2))

Sum2 = Sum2 + Val(MSF2.TextMatrix(i, 3))

Next i

SumProm2 = Round(Sum / (i - 1))

SumCond2 = Round(Sum2 / (i - 1))

'TRIMESTRE #3

f = 1: Sum = 0: Sum2 = 0

MSF3.Rows = 1

Set Tabla = Base.Execute("select NOTAS.TRIMESTRE,MATERIAS.NOMBRE

AS MATERIA,NOTAS.PROMEDIO,NOTAS.CONDUCTA from

datos,matriculas,notas,materias,aux,curso where

Page 217: Libro Tesis escuela

217

datos.alumnoid=matriculas.alumnoid and matriculas.idcurso=curso.idanio and

curso.idanio=aux.anioid and aux.materiaid=materias.materiaid and

materias.materiaid=notas.materiaid and notas.numero=matriculas.numero and

datos.nombre='" & alumnos.Text & "' and notas.trimestre=3 and curso.nombre='"

& ciclo.Text & "' and notas.lectivo=" & Val(anio.Text) & " ORDER BY

MATERIAS.NOMBRE")

Do Until Tabla.EOF

MSF3.Rows = MSF3.Rows + 1

MSF3.TextMatrix(f, 0) = Tabla!TRIMESTRE

MSF3.TextMatrix(f, 1) = Tabla!materia

MSF3.TextMatrix(f, 2) = Tabla!promedio

MSF3.TextMatrix(f, 3) = Tabla!CONDUCTA

Tabla.MoveNext

f = f + 1

Loop

Tabla.Close

Set Tabla = Nothing

For i = 1 To f - 1

Sum = Sum + Val(MSF3.TextMatrix(i, 2))

Sum2 = Sum2 + Val(MSF3.TextMatrix(i, 3))

Next i

SumProm3 = Round(Sum / (i - 1))

SumCond3 = Round(Sum2 / (i - 1))

TotalProm = Round((Val(SumProm1) + Val(SumProm2) + Val(SumProm3)) / 3)

TotalCond = Round((Val(SumCond1) + Val(SumCond2) + Val(SumCond3)) / 3)

End Sub

Private Sub Mostar_Click()

Dim suma, Valor As String

On Error Resume Next

suma = 0: Valor = 0

LlenarConductas 'llena las conductas para ser calculadas

Page 218: Libro Tesis escuela

218

Puntage = ""

Set Tabla = Base.Execute("Select datos.sexo from datos inner join matriculas on

datos.alumnoid = matriculas.alumnoid where matriculas.Idcurso = " &

ciclo.ItemData(ciclo.ListIndex) & " and matriculas.lectivo = " & Val(anio.Text))

Sexo = Tabla!Sexo

Tabla.Close

Set Tabla = Nothing

If Val(TotalCond) = 0 Or TotalCond = "" Then

MsgBox "El estudiante seleccionedo no tiene calificacion general de conducta

Trimestral.", vbInformation

Exit Sub

End If

If Val(TotalCond) >= 19 And Val(TotalCond) <= 20 Then

Puntage = "Sobresaliente"

ElseIf Val(TotalCond) >= 16 And Val(TotalCond) <= 18 Then

Puntage = "Muy Bueno"

ElseIf Val(TotalCond) >= 13 And Val(TotalCond) <= 15 Then

Puntage = "Bueno"

ElseIf Val(TotalCond) >= 10 And Val(TotalCond) <= 12 Then

Puntage = "Regular"

ElseIf Val(TotalCond) >= 0 And Val(TotalCond) <= 9 Then

Puntage = "Insuficiente"

End If

boton

End Sub

1.28. FORMULARIO DATOS DEL PROFESOR

Dim Tabla As New ADODB.Recordset

Dim TablaEdu As New ADODB.Recordset

Private Sub Cancelar_Click()

Page 219: Libro Tesis escuela

219

Unload Me

End Sub

Private Sub LlenarProfesores()

On Error GoTo salir

nombre.Clear

Set Tabla = Base.Execute("Select * from Profesores order by nombre")

While Not Tabla.EOF

nombre.AddItem Tabla!nombre

nombre.ItemData(nombre.NewIndex) = Tabla!profesorid

Tabla.MoveNext

Wend

Tabla.Close

Set Tabla = Nothing

Exit Sub

salir:

If MsgBox(Err.Description, vbExclamation + vbRetryCancel) = vbRetry Then

LlenarProfesores Else Unload Me

End Sub

Private Sub Form_Load()

LlenarProfesores

LlenarLectivo

End Sub

Private Sub LlenarLectivo()

If TablaEdu.State = 1 Then TablaEdu.Close

Set TablaEdu = Base.Execute("Select DISTINCT lectivo from matriculas order

by lectivo")

lectivo.Clear

While Not TablaEdu.EOF

lectivo.AddItem TablaEdu!lectivo

Page 220: Libro Tesis escuela

220

TablaEdu.MoveNext

Wend

TablaEdu.Close

Set TablaEdu = Nothing

End Sub

Private Sub Mostar_Click()

If nombre.ListIndex = -1 Then MsgBox "Debe seleccionar el nombre del

profesor.", vbExclamation: Exit Sub

If lectivo.ListIndex = -1 Then MsgBox "Debe seleccionar el año lectivo.",

vbExclamation: Exit Sub

If TablaEdu.State = 1 Then TablaEdu.Close

On Error GoTo salir

Set TablaEdu = Base.Execute("select profesores.nombre as

Profe,Profesores.direccion,profesores.telefono,Profesores.especialidad,curso.nom

bre as anobasica,notas.lectivo,materias.nombre as materias from

matriculas,notas,materias,aux,curso,profesores where

matriculas.idcurso=curso.idanio and curso.idanio=aux.anioid and

aux.materiaid=materias.materiaid and materias.materiaid=notas.materiaid and

notas.numero=matriculas.numero and profesores.profesorid=aux.profesorid and

profesores.nombre='" & nombre.Text & "' and notas.lectivo=" &

Val(lectivo.Text) & " group by

profesores.nombre,Profesores.direccion,profesores.telefono,Profesores.especialida

d,curso.nombre,notas.lectivo,materias.nombre")

Set DatosProfesor.DataSource = TablaEdu

DatosProfesor.Sections("sección2").Controls("Nombre").Caption =

TablaEdu!profe

DatosProfesor.Sections("sección2").Controls("Direccion").Caption =

TablaEdu!Direccion

DatosProfesor.Sections("sección2").Controls("Telefono").Caption =

TablaEdu!Telefono

Page 221: Libro Tesis escuela

221

DatosProfesor.Sections("sección2").Controls("Especialidad").Caption =

TablaEdu!Especialidad

DatosProfesor.Sections("sección1").Controls("AnoBasica").DataField =

"anobasica"

DatosProfesor.Sections("sección2").Controls("Lectivo").Caption =

TablaEdu!lectivo

DatosProfesor.Sections("sección1").Controls("Materias").DataField = "materias"

DatosProfesor.Refresh

Unload RptProfesor

Load DatosProfesor

DatosProfesor.Show

Exit Sub

salir:

MsgBox "El profesor no tiene año de basica en este lectivo.", vbCritical

End Sub

Page 222: Libro Tesis escuela

222

Page 223: Libro Tesis escuela

223

1. EL PROGRAMA PORTETE TARQUI

1.1. DESCRIPCIÓN DEL PROGRAMA

El sistema Portete Tarqui es un programa de control de información ya que

tiene como principal característica llevar un control de matrícula y notas de los

estudiantes que se encuentran en la escuela Fiscal Mixta “Portete de Tarqui”.

Esté sistema genera las siguientes actividades dentro de está entidad:

Formulario inicio de sesión

Formulario de bienvenida al sistema

Formulario Principal (MDI)

Formularios de Ingreso y modificación del estudiante

Formularios de ingreso y modificación del matriculas

Formularios de ingreso y modificación de las materias

Formularios de ingreso y modificación clave del sistema

Formularios de ingreso y modificación de datos de la institución

Formularios de ingreso y modificación de calificaciones

Formularios de ingreso y modificación del profesor

Formularios de reportes

Page 224: Libro Tesis escuela

224

1.2. REQUERIMIENTOS

Marca Mainboard: Intel

Tipo de procesador: Dual Core de 2.0 GHz o Superior

Tamaño de disco duro: 160 Gb de espacio inicial o Superior

Memoria RAM: 1 GB o Superior

Monitor: VGA o SVGA

Unidad de CD: DVD-Rom

Impresora: Opcional

1.3.INSTALACIÓN

1. Inserte el CD etiquetado con el nombre de Escuela

2. Seleccione el icono Mi PC, luego abrir la unidad de CD q es D:

3. Abrir la carpeta llamada Instalador Portete Tarqui

4. Hacer doble clic en el icono Setup.exe

1.4.EJECUCIÓN DEL SISTEMA

1. Escoger el botón Inicio

2. Seleccionar Programas

3. Elegir la opción Matrícula Escuela

4. Por ultimo clic en Portete de Tarqui

Page 225: Libro Tesis escuela

225

2. FUNCIONEMIENTO PORTETE TARQUI

2.1.INTERFAZ DEL SISTEMA

En esté momento se pondrá en detalle cada una de las interfaces que tiene la

aplicación para su ejecución.

2.2.INGRESO A LA APLICACIÓN

Cuando el usuario inicia la aplicación se muestra la siguiente pantalla la cual

da la bienvenida a sistema.

Page 226: Libro Tesis escuela

226

2.3.PANTALLA DE INICIO DE SECCIÓN

Verifica al usuario que tiene acceso al sistema con su respectivo nombre

después que el usuario escriba su contraseña correcta, cumpliendo estas

condiciones el usuario tendrá que hacer clic en el botón Aceptar para acceder

al sistema, el botón Salir sirve para cerrar la aplicación.

Después de aceptar la aplicación anterior aparecerá la siguiente interfaz:

Page 227: Libro Tesis escuela

227

2.4.PANTALLA PRINCIPAL

Está interfaz es la que posee todas las opciones que el sistema ofrece, entre

ellas observamos a los editores de menú.

El primer editor se refiere a Datos y está dividido en 7 menús.

El primer menú se refiere a Materias y tiene como submenú a:

Registrar materia

Actualización de materias

Page 228: Libro Tesis escuela

228

El segundo menú se refiere a Profesores y tiene como submenú a:

Registrar Profesor

Actualización de Profesores

El tercer menú se refiere a Año de Educación Básica y tiene como submenú

a:

Registrar Año

Actualización de Años

El cuarto menú se refiere a Estudiantes y tiene como submenú a:

Registrar Estudiante

Actualización de Estudiantes

El quinto menú se refiere a Matrículas y tiene como submenú a:

Registrar Matrícula

Actualización de Matriculas

El sexto menú se refiere a Ingreso de Notas.

El segundo editor se refiere a Ver y tiene como submenú a:

Page 229: Libro Tesis escuela

229

Barra de herramientas

Barra de estado

El tercer editor se refiere a Herramientas y está dividido en 2 menús.

El primer menú se refiere a Claves y tiene como submenú a:

Crear nueva clave

Modificar clave

Eliminar clave

El segundo menú se refiere a Configuración.

El cuarto editor es Reporte y está dividido en 10 menús

Mejores estudiantes del periodo

Lista de estudiantes por año básica

Notas del año básica por materia

Notas del estudiante por trimestre

Notas general del estudiante

Carnet del estudiante

Acta de matrículas

Certificado de matrícula

Certificado de conducta

Page 230: Libro Tesis escuela

230

Datos del profesor.

El cuarto editor tenemos Ayuda que tiene como menú acerca de…., muestra

los datos del sistema operativo en el que se encuentra el sistema instalado.

2.5.INTERFAZ REGISTRAR MATERIA

Está interfaz sirve para ingresar el nombre de la materia asignada a la

institución.

Page 231: Libro Tesis escuela

231

Primeramente damos un clic en el botón Nuevo y automáticamente se

desbloquean los textos listos para ser llenados por el usuario, luego

precedemos a dar clic en el botón Guardar para registrarlo al sistema, si el

usuario no desea guardar dicha información puede hacer uso del botón Salir y

cerrará automáticamente la interfaz.

2.6.INTERFAZ ACTUALIZACIÓN DE MATERIAS

Está interfaz sirve para mostrar los datos de las materias que han sido

guardados al sistema.

Primeramente precedemos hacer clic en el combo de donde proviene el

nombre de la Materia y seleccionamos lo deseado, una vez seleccionado

podemos hacer uso del botón Modificar, se desbloqueará el texto de donde

proviene el nombre de la materia y cambiar por lo deseado dando clic en

Guardar, sino quiere puede hacer uso del botón Eliminar sino desea el dato

en el sistema. El botón Salir permite cerrar la interfaz.

Page 232: Libro Tesis escuela

232

2.7.REGISTRAR PROFESOR

Está interfaz sirve para ingresar un nuevo profesor al sistema.

Primeramente precedemos hacer clic en el botón Nuevo y automáticamente se

desbloquearan los textos listos para ser ingresado uno a uno los datos del

empleado al sistema. Una vez digitado podemos hacer uso del botón Guardar

y automáticamente se registrará en el sistema.

El botón Salir sirve para cerrar la interfaz actual.

Page 233: Libro Tesis escuela

233

2.8. INTERFAZ ACTUALIZACIÓN DE PROFESORES

Está interfaz sirve para actualizar datos del docente que esté actualmente

registrado en el sistema.

Para modificar un dato existente o eliminarlo debemos hacer lo siguientes

pasos de los cuales tenemos que primeramente seleccionar el nombre del

empleado que está en el combo y automáticamente lo activa listo para ser

modificado o eliminado por el usuario del sistema, si desea modificarlo

cambia el dato dando clic en el botón Modificar y después presioné Guardar

o por caso contrario presione Salir para cerrar la interfaz actual.

2.9.INTERFAZ REGISTRAR AÑO

Está interfaz sirve para ingresar el año junto con los profesores y las materias

asignadas al sistema.

Page 234: Libro Tesis escuela

234

Primeramente presione el botón Nuevo, luego se desbloquearán los textos y

digite el curso, luego haga uso de clic en las materias junto al profesor que va

a dar la clase, presione el botón que señala hacia abajo y repita esto hasta que

termine de asignar todas las materias que se va a registrar al grado actual y

luego presione el botón Guardar o si no desea presione el botón Salir y

saldrá de la interfaz actual.

2.10. INTERFAZ ACTUALIZACIÓN DE AÑO

Está interfaz sirve para buscar datos para ser modificado o eliminados del

sistema, tanto como para el año y las materias asignadas junto al profesor de la

clase.

Page 235: Libro Tesis escuela

235

Primeramente seleccionamos o buscamos el dato por año, luego de ver

seleccionado se mostrarán los datos del profesor junto a la materia asignada,

luego podemos hacer uso de el botón Modificar y automáticamente se

desbloquearán los textos y están listo a ser modificado por el usuario, luego de

haber modificado el año puede cambiar al profesor con las materias dando

doble clic en el dato o en la materia y saldrá un cuadro de dialogo mostrando

un mensaje que si desea eliminar el dato y automáticamente se eliminará del

sistema o si desea cancelar ponga no.

Una vez realizado lo anterior, si desea eliminar el contenido del año, deberá

seleccionar el año y hacer uso del botón Eliminar y automáticamente se

eliminará los datos del año junto con los del profesor y materias asignadas de

ese lectivo.

Page 236: Libro Tesis escuela

236

2.11. INTERFAZ REGISTRAR ESTUDIANTE

Está interfaz sirve para registrar datos nuevos diariamente durante los meses

de matrícula del estudiante.

Para registrar un dato primero damos clic en el botón Nuevo, automáticamente

se desbloquean los textos y están listos para llenar con los datos del estudiante

a matricular, una vez lleno los textos procedemos a guardar la información y

se bloquearán los textos listos para seguir ingresando más información

realizando los pasos anteriormente.

Al momento de llenar los datos del estudiante y no quiere registrarlo al

sistema de clic en el botón Salir para cerrar la interfaz actual.

Page 237: Libro Tesis escuela

237

2.12. INTERFAZ ACTUALIZACIÓN DE ESTUDIANTES

Está interfaz sirve para registrar los datos del estudiante que ya a sido

registrado anteriormente por el usuario, de aquí procedemos a modificar dicho

dato.

Primero de un clic en el botón Buscar seleccionando al estudiante que desea

modificar o eliminar.

Una vez que seleccionó al estudiante si desea modificar el dato puede preceder

a ser clic en el botón Modificar y automáticamente se desbloquean los textos

y listo para cambiar lo deseado por el usuario del sistema, luego precedemos a

ser clic en Guardar para registrarlo al sistema.

Si desea eliminar al estudiante, debe seleccionarlo y luego precedemos a dar

clic en el botón Eliminar.

Nota: si el estudiante está actualmente matriculado y con notas no podrá

eliminarlo del sistema pues tendrá que eliminar la matricula y de hay podemos

eliminar los datos del estudiante.

Page 238: Libro Tesis escuela

238

2.13. INTERFAZ REGISTRAR MATRÍCULA

Está interfaz sirve para registrar datos del estudiante a matricularse.

Primeramente damos clic en el botón Nuevo y automáticamente se

desbloquean los textos listos para llenar, una vez lleno los datos procedemos a

dar clic en el botón Guardar, en caso contrario presione Salir y saldrá de la

interfaz actual.

Page 239: Libro Tesis escuela

239

2.14. INTERFAZ ACTUALIZACIÓN DE MATRÍCULAS

Está interfaz sirve para modificar y eliminar datos de los estudiante que han

sido matriculados en el sistema.

Primero procedemos a ser clic en el combo del los nombres de los estudiantes

y automáticamente se muestran los datos del alumno seleccionado y listó a ser

modificado o eliminado del sistema.

Page 240: Libro Tesis escuela

240

En el momento que los datos están en pantalla y se desea eliminar alguna

materia se deberá dar doble clic en la fila en donde se encuentra el dato y

saldrá un mensaje diciendo que si desea eliminar pues el usuario del sistema

deberá seleccionar si o no en el caso de no querer borrar. El botón Salir

permite cerrar la interfaz actual.

Page 241: Libro Tesis escuela

241

2.15. INTERFAZ INGRESO DE NOTAS

Está interfaz sirve para registrar las notas del estudiante.

Si queremos ingresar o modificar notas lo primero que debemos hacer es dar

clic en el botón Nuevo, luego seleccionamos el año básico, el año lectivo, el

nombre del estudiante, el parcial al que va el estudiante y precedemos hacer

clic en el botón que tiene la flecha hacia abajo, se mostrarán celdas en blanco

o con datos listo para ingresar las notas y si el estudiante ya tiene notas del

parcial anterior se mostrarán todas las que tenga y damos clic en el botón

guardar, en caso de no querer registrar las notas presione el botón Salir y

automáticamente se cerrará la interfaz actual cancelando los datos actuales.

Nota: para cambiar una celda con notas debemos dar clic y presionar el botón

del teclado (Suprimir) para borrar y cambiar la nota por otro.

Page 242: Libro Tesis escuela

242

2.16. INTERFAZ CREAR NUEVA CLAVE

Está interfaz sirve para crear la clave de entrada al sistema.

Primeramente se hace usó del botón Nuevo y automáticamente de

desbloquean los textos listos a ser digitado por el usuario del sistema, una vez

realizado lo anterior deberá ser usó del botón Guardar y automáticamente se

registrará en el sistema y cuando cierre el sistema al iniciar de nuevo le pedirá

digitar la clave junto al nombre del usuario encargado del sistema. Si no desea

registrar la clave al sistema haga usó del botón Salir y se cerrará la interfaz

actual.

Page 243: Libro Tesis escuela

243

2.17. INTERFAZ MODIFICAR CLAVE

Está interfaz sirve para modificar la clave del sistema la cual deberá estar

registrado el usuario del sistema.

Primeramente debemos seleccionar el nombre del usuario, luego deberá hacer

usó del botón Modificar y automáticamente se desbloquearán los textos listo

a ser remplazado por otra clave, una vez realizado los cambios deberá

seleccionar el botón Guardar para registrarlo como una clave al sistema o si

no desea modificar dicho dato haga usó del botón Salir y se cerrará la interfaz

actual.

Page 244: Libro Tesis escuela

244

2.18. INTERFAZ ELIMINAR CLAVE

Está interfaz sirve para eliminar el nombre del usuario y la contraseña del

sistema actual.

Primeramente seleccionamos el nombre del usuario suscrito actualmente en el

sistema y digite la clave, luego deberá hacer uso del botón Eliminar y

automáticamente se eliminarán los datos del usuario junto con la clave del

sistema, o sino desea eliminar dicho dato haga uso del botón Salir y se cerrará

la interfaz actual del sistema.

Page 245: Libro Tesis escuela

245

2.19. FORMULARIO MEJORES ESTUDIANTES EN EL PERIODO

Está interfaz sirve para seleccionar a los mejores estudiantes del periodo junto

con las notas.

Primeramente deberá seleccionar el año lectivo y hacer usó del botón Mostrar

para dar con el reporte de los estudiantes en el periodo señalado o sino desea

puede hacer usó del botón Salir para cerrar el formulario actual.

2.20. INTERFAZ LISTA DE ESTUDIANTES POR AÑO BÁSICA

Está interfaz sirve para mostrar el listado general de estudiantes, únicamente

del año de básica y año lectivo.

Primeramente seleccionamos el año básico y el año lectivo, luego procedemos

a seleccionar el botón Mostrar aparecerá el reporte listo para imprimir el

contenido y sino desea mostrar los datos deberá hacer uso del botón Salir y se

cerrará la interfaz actual.

Page 246: Libro Tesis escuela

246

2.21. INTERFAZ NOTAS DEL AÑO BASICO POR MATERIA

Está interfaz sirve para mostrar los nombres de los estudiantes, las notas del

año básico por trimestre, materia, año lectivo.

Primeramente seleccionamos los datos anteriormente especificado y

procedemos a dar clic en el botón Mostrar luego aparecerá el reporte con lo

especificado listo a ser impreso por el usuario a cargo, y sino desea mostrar el

reporte presione el botón Salir y se cerrará la interfaz actual.

Page 247: Libro Tesis escuela

247

2.22. INTERFAZ NOTAS DEL ESTUDIANTE POR TRIMESTRE

Está interfaz sirve para mostrar el año básico, año lectivo, nombre del

estudiante y las materias del trimestre.

Primeramente seleccionamos los datos anteriormente especificados, luego

procedemos hacer clic en el botón Mostrar y automáticamente se mostrarán

los datos ya especificados anteriormente, y sino desea mostrar los datos del

reporte seleccione el botón Salir para cerrar la interfaz actual.

2.23. INTERFAZ NOTAS GENERAL DEL ESTUDIANTE

Está interfaz sirve para mostrar los datos de notas del estudiante de los tres

trimestres con sus respectivas materias y sus promedios generales.

Primeramente seleccionamos el año de básica, año lectivo, el estudiante para

luego dar clic en el botón Mostrar y de está manera se mostrará la hoja de

Page 248: Libro Tesis escuela

248

reporte, en el caso de no querer mostrar los datos deberá dar clic en el botón

Salir, para cerrar la interfaz actual.

2.24. INTERFAZ CARNET DEL ESTUDIANTE

Está interfaz sirve para mostrar el carnet de los estudiantes por año de básica y

año lectivo.

Primeramente seleccionamos el año de básica y año lectivo para luego dar clic

en el botón Mostrar y de está manera se mostrará la hoja de reporte, en el

caso de no querer mostrar los datos deberá dar clic en el botón Salir, para

cerrar la interfaz actual.

Page 249: Libro Tesis escuela

249

2.25. INTERFAZ ACTA DE MATRÍCULAS

Está interfaz sirve para mostrar el reporte de los estudiantes matriculados.

Primeramente seleccionamos el año lectivo para luego dar clic en el botón

Mostrar y de está manera se mostrará la hoja de reporte, en el caso de no

querer mostrar los datos deberá dar clic en el botón Salir, para cerrar la

interfaz actual.

2.26. INTERFAZ CERTIFICADO DE MATRÍCULA

Está interfaz sirve para mostrar el reporte de los datos del certificado de

matrícula del estudiante.

Primeramente seleccionamos el año básico, año lectivo y el nombre del

estudiante para luego dar clic en el botón Mostrar y de está manera se

mostrará la hoja de reporte, en el caso de no querer mostrar los datos deberá

dar clic en el botón Salir, para cerrar la interfaz actual.

Page 250: Libro Tesis escuela

250

2.27. INTERFAZ CERTIFICADO DE CONDUCTA

Está interfaz sirve para mostrar el reporte de los datos del certificado de

conducta del estudiante.

Primeramente seleccionamos el año básico, año lectivo y el nombre del

estudiante para luego dar clic en el botón Mostrar y de está manera se

mostrará la hoja de reporte, en el caso de no querer mostrar los datos deberá

dar clic en el botón Salir, para cerrar la interfaz actual.

Page 251: Libro Tesis escuela

251

2.28. INTERFAZ CERTIFICADO DE CONDUCTA

Está interfaz sirve para mostrar el reporte de los datos del profesor y sus

materias.

Primeramente seleccionamos el nombre del profesor y año lectivo para luego

dar clic en el botón Mostrar y de está manera se mostrará la hoja de reporte,

en el caso de no querer mostrar los datos deberá dar clic en el botón Cancelar,

para cerrar la interfaz actual.

2.29. ACERCA DE…..

Este modulo sirve para mostrar los datos del computador, de aquí podemos

ver el hardware del computador y otros datos del software apropiados.

Page 252: Libro Tesis escuela

252