You are on page 1of 135

INTRODUCCIN

La implementacin de un sub sistema de matrcula en una organizacin


ayuda a mejorar la gestin del desarrollo de la institucin, y esto traer como
consecuencia una disminucin de los problemas y errores, favoreciendo las
relaciones y comunicacin entre las personas y grupos de organizacin, y de
stos con los usuarios. Utilizar un subsistema de matrcula para el proceso de
matrcula disminuye inicialmente los costos de de la tarea institucional, pero
debe disminuir en mucha mayor medida los costos de su mantenimiento. Lo
que se busca con este proyecto es en realidad solucionar una de los que la
Institucin Educativa experimenta.
El presente proyecto se ha realizado en la Institucin Educativa Pablo
Patrn de Chosica con el nombre de Subsistema de Matrcula, cuya finalidad
es de beneficiar a toda la comunidad educativa para que puedan brindar un
mejor servicio.
Este proyecto surgi con la necesidad de resolver los inconvenientes
frecuentes que se presentaban al momento de efectuar la matrcula de los
educandos, ya que se desarrollaba en forma manual y esto implicaba mucha
demora en la atencin, adems almacenaba informacin desordenada lo que
no permita generar reportes de educandos matrculados.
Luego de una investigacin preliminar, recopilacin de la informacin necesaria
para el desarrollo del software; se determin los requerimientos del sistema y
se procedi a disearlo y posteriormente implementarlo en la Institucin
Educativa Pablo Patrn de Chosica.

1. DATOS GENERALES:
1.1. Titulo: Implementacin De Un Sub Sistema De Matrcula En La
Institucin Educativa Pablo Patrn chosica
1.2.

Autor : CHVEZ CIEZA, Virgilio

1.3.

Lugar de investigacin: Institucin Educativa Pablo Patrn


chosica ubicado en el distrito de Lurigancho chosica.

2. PLANEAMIENTO DEL PROBLEMA DE ESTUDIO:


El sistema actual

de matrcula que la institucin maneja tiene algunas

partes que son automticos (en Excel, Word) y otras que son manuales. El
estudiante se presenta al rea de registraduria para recibir su matrcula. El
registrador busca una libreta de informes hecho en Microsoft Word, del rea
de recaudaciones quienes son los que tienen deuda, si tienen deuda el
estudiante tiene que hacer los arreglos para pagar la deuda y certificar que
se haya pagado para poder completar su proceso de matrcula. Los
estudiantes que no tienen deuda le entregan un informe que contiene la
matrcula del estudiante para el prximo Bimestre. Todo esto est en
almacenes de datos aparte. Si el estudiante fracasa un curso que es primer
requisito del siguiente ao nivel, el registrador tiene que fsicamente hablar
con el estudiante para hacerle el cambio o darle de baja. El sistema actual
no genera secciones automticamente, se le asigna seccin 001 a cursos
que son diurno 011 los que son de noche. Si hay algn curso que se est
asignando dos veces en el mismo trmino, se le asigna 002, 003, etc.
La informacin de matrcula del estudiante est en un almacn de datos
computarizado, el almacn de datos de profesores, cursos, estudiantes y
secciones son almacenes manuales.

2.1.

Formulacin del problema:


Cmo se realiza el proceso de matricula en la Institucin
Educativa Pablo Patrn?
7

2.2.

Justificacin:
De acuerdo a los resultados obtenidos en las encuestas donde el
80% de los estudiantes y padres de familia aprueban la
implementacin de un Subsistema de matrcula. Y entrevistas
aplicadas

la

comunidad

educativa

se

hace

ineludible

automatizar el proceso de matrcula para optimizar la atencin a


los estudiantes.
3. FORMULACIN DE OBJETIVOS:
3.1.

Objetivo general:
Implementar el Subsistema de Matrcula en la Institucin Eductiva
Pablo Patrn de chosica

para optimizar la atencin a los

estudiantes.
3.2.

Objetivos especficos
Llevar un control adecuado en el manejo de informacin.
Optimizar el tiempo en el proceso de matrcula.
Emitir reportes con informacin oportuna que permita la toma
de decisiones.

4. MARCO TERICO.
4.1.

Antecedentes del estudio:


Como antecedente del presente estudio tenemos los siguientes
trabajos de investigacin:
2009. CARHUAVILCA CAPCHA DANNY. Subsistema de
Matrcula en el Centro de Educacin Tcnica Productiva
Nicolas de Pierola se implement un Subsistema que
permite optimizar el proceso de matrcula, y obtener una
oportuna emisin de informacin de las matriculas de los

estudiantes.
2006. LEN HICHIPOS Jorge Mateo. Subsistema de
Matrcula para la Institucin Educativa Nicolas de Pierola se
implement un Subsistema que permite optimizar el proceso
de matrcula, y obtener una oportuna emisin de informacin

de las matriculas de los estudiantes.


2005. COTERA SEGURA Mara Angelica. Subsistema de
Matrcula realizado en la Institucin Educativa Felipe
8

Huamn Poma de Ayala permiti automatizar el proceso de


matrcula para lograr de esta forma un alcance total del 100%
de la Institucin, personal administrativo, alumnos, profesores

y usuarios en general.
2003. CARITAS QUISPE Martha. Subsistema de Matrcula
realizado en la Institucin Educativa Inicial N 207 que
permiti realizar reportes, mantener informado con exactitud a
las reas de Direccin, personal docente y administrativo,
acelerando el flujo de informacin y mensajes.

4.2.

Definicin de trminos:
Sistema.- conjunto de partes o elementos organizados y
relacionados que interactan entre s, para lograr un objetivo.
Los sistemas reciben (entrada) datos, energa o materia de
ambiente y proveen (salida) informacin, energa o materia.
Un sistema puede ser fsico o concreto (una computadora, un
televisor, un humano) o puede ser abstracto o conceptual (un
software).
Automatizar.- Convertir ciertos movimientos corporales en
movimientos

automaticos

indeliberados.

Aplicar

la

automtica a un proceso, a un dispositivo, etc.


Optimizar.- Buscar la mejor manera de realizar una actividad.
Matrcula.- Lista o catlogo de los nombres de las personas,
o especificcin de los bienes races que se acientan para un
fin determinado por las leyes o reglamentos.

4.3. Base terica Cientfica:


4.3.1 Gestin administrativa:
Conjunto de acciones mediante las cuales el directivo
desarrolla sus actividades a travs del cumplimiento de las
fases del proceso administrativo: Planear, organizar, dirigir,
coordinar y controlar.
4.3.2 Gestin de proceso:
El conjunto de actividades, desiciones, actividades y tareas que
se encadenan en forma secuencial y ordenada para conseguir un

resultado que satisfaga plenamente los requerimientos de los


usuarios.
4.3.3. Sistemas de seguimiento y control de proyectos y planes
operativos:
Son herramientas agiles y fciles de usar, que permiten a los
directores, profesores y personal responsable, implementar
practicas para la gestin de objetivos en ambientes de trabajo en
grupo. Estas herramientas permiten que el personal operativo
trabaje estratgicamente aliniandose a los planes de ejecucin,
documente los avances realizados, guarde archivos e ingrese
indicadores BSC. De manera que por medio de estos indicadores
rpidamente se tenga una visin precisa del estado de trabajo y si
se desea, acceso al detalle de las actividades realizadas y los
documentos guardados.
4.4

Base tecnolgica:
En el proceso de desarrollo de este proyecto se utilizarn el
software. Rational Rose, Microsoft Access y Visual Basic.

Visual Basic 6.0 es un lenguaje de programacin desarrollado por


Alan Cooper para Microsoft. El lenguaje de programacin es un
dialecto de BASIC, con importantes aadidos. Su primera versin
fue presentada en 1991 con la intencin de simplificar la
programacin utilizando un ambiente de desarrollo completamente
grfico que facilitara la creacin de interfaces grficas y en cierta
medida tambin la programacin misma. En 2001 Microsoft
propone abandonar el desarrollo basado en la API Win32 y pasar a
trabajar sobre un framework o marco comn de libreras
independiente

de

la

version

del

sistema

operativo,

.NET

Framework, a travs de fcil transicin de cdigo entre ellos) que


presenta serias incompatibilidades con el cdigo Visual Basic
existente.
Visual Basic constituye un IDE (entorno de desarrollo integrado o
en ingls Integrated Development Enviroment) que ha sido

10

empaquetado como un programa de aplicacin, es decir, consiste


en un editor de cdigo (programa donde se escribe el cdigo
fuente), un depurador (programa que corrige errores en el cdigo
fuente para que pueda ser bien compilado), un compilador
(programa que traduce el cdigo fuente a lenguaje de mquina), y
un constructor de interfaz grfica o GUI (es una forma de
programar en la que no es necesario escribir el cdigo para la parte
grfica del programa, sino que se puede hacer de forma visual).
Es un

lenguaje

de

fcil

aprendizaje

pensado

tanto

para

programadores principiantes como expertos, guiado por eventos, y


centrado en un motor de formularios que facilita el rpido desarrollo
de aplicaciones grficas. Su sintaxis, derivada del antiguo BASIC,
ha sido ampliada con el tiempo al agregarse las caractersticas
tpicas de los lenguajes estructurados modernos. Se ha agregado
una implementacin limitada de la programacin orientada a
objetos (los propios formularios y controles son objetos), aunque s
admite el polimorfismo mediante el uso de los Interfaces, no admite
la herencia. No requiere de manejo de punteros y posee un manejo
muy sencillo de cadenas de caracteres. Posee varias bibliotecas
para manejo de bases de datos, pudiendo conectar con cualquier
base de datos a travs de ODBC (Informix, DBase, Access,
MySQL, SQL Server, PostgreSQL ,etc) a travs de ADO.
Es utilizado principalmente para aplicaciones de gestin de
empresas, debido a la rapidez con la que puede hacerse un
programa que utilice una base de datos sencilla, adems de la
abundancia de programadores en este lenguaje.
El compilador de Microsoft genera ejecutables que requieren una
DLL

para

que

funcionen,

en

algunos

casos

llamada

MSVBVMxy.DLL (acrnimo de "MicroSoft Visual Basic Virtual


Machine x.y", siendo x.y la versin) y en otros VBRUNXXX.DLL
("Visual Basic Runtime X.XX"), que provee todas las funciones
implementadas en el lenguaje. Adems existen un gran nmero de
bibliotecas (DLL) que facilitan el acceso a muchas funciones del
sistema operativo y la integracin con otras aplicaciones. Sin
11

embargo esto slo es una limitacin en sistemas obsoletos, ya que


las bibliotecas necesarias para ejecutar programas en Visual Basic
vienen de serie en todas las versiones de Windows desde Windows
2000.

Microsof office Access:


Microsoft Access es un programa sistema de gestin de base de
datos relacional creado y modificado por Microsoft para uso
personal en pequeas organizaciones. Es un componente de la
suite Microsoft Office, aunque no se incluye en el paquete
"bsico".

UML.
UML es un popular lenguaje de modelado de sistemas de
software.
Se trata de un lenguaje grfico para construir, documentar,
visualizar y especificar un sistema de software. Entre otras
palabras, UML se utiliza para definir un sistema de software.
Posee la riqueza suficiente como para crear un modelo del
sistema,

pudiendo

modelar

los

procesos

de

negocios,

funciones, esquemas de bases de datos, expresiones de


lenguajes de programacin, etc. Para ello utiliza varios tipos
diferentes de diagramas, por ejemplo, en UML 2.0 hay 13 tipos
de diagramas. Estos diagramas se pueden diferenciar en tres
categoras:
Diagramas de estructura:
Diagrama de clases
Diagrama de componentes
Diagrama de objetos
Diagrama de estructura compuesta (UML 2.0)
Diagrama de despliegue
Diagrama de paquetes
Diagramas de comportamiento:

12

Diagrama de actividades
Diagrama de casos de uso
Diagrama de estados
Diagramas de interaccin:
Diagrama de secuencia
Diagrama de comunicacin
Diagrama de tiempos (UML 2.0)
Diagrama de vista de interaccin (UML 2.0)

Rational Rose:
Herramienta de desarrollo basada en modelos que se integra
con las bases de datos y los IDE de las principales plataformas
del sector...

I.

VENTAJAS:
a. La forma que se almacena los datos se simplificara.
b. Se facilitara la forma en cual se genera los informes.
c. La rapidez en cual el proceso de matricula se completa.
d. Mayor seguridad para el proceso y almacenamiento de datos.

5. HIPTESIS DE INVESTIGACIN:
5.1
Hiptesis general:
Si se implementa el sub sistema de matrcula de la Institucin
Educativa Pablo Patron entonces se optimizar la eficiencia
del servicio de atencin a los estudiantes.
5.1.1 Hiptesis especifica:
Si se implementa el Subsistema de matrcula entonces se

agilizar el proceso de matrcula de los estudiantes.


Si se implementa el Subsistema de matricula entonces nos
permitir obtener la ficha de matrcula de los estudiantes

luego realizar la transaccin.


Si se implementa el Subsistema de matrcula entonces nos
permitir modificar o actualizar los datos de los estudiantes.

6 METODOLOGA DE INVESTIGACIN:

13

6.1 Tipo de investigacin:


Aplicada y tcnica.
6.2 Mtodo de investigacin:
Mtodo Experimental.
6.2.1. Investigacin preliminar:
Datos Generales:

A.

Denominacin: Institucin Educativa Nacional Pablo Patron

Domicilio: chosica.

Telfono Telefax: 361 - 1506

Constitucin e Inscripcin:

La Institucin Educativa Nacional Pablo Patrn fue fundado el 31 de


octubre de 1994 promovida por la iglesia San Juan Bautista
misionera, realmente inicia sus actividades a partir del ao 1996.
Procesos Judiciales: No tiene

B.

Administracin:
La Institucin Educativa esta de la siguiente manera:

Administrativo

Secretara

Profesores

Personal de apoyo.

6.2.1.1. Clarificacin de requerimientos:

Misin: La Institucin Educativa PabloPatrn

tiene

como misin formar ciudadanos ntegros con direccin


distinta a lo normal.

Visin: Somos una institucin educativa Cristiana con


principios y valores bblicos para la formacin de los
lderes del futuro al servicio de nuestro pas.

14

Desarrollo

estratgico.

Cuenta

con

desarrollo

estratgico como: FODA e implementacin de metas


estratgicos.

Objetivos de la empresa: El objetivo de la empresa es alcanzar el


grado de liderazgo en la Educacin peruana, es decir; lograr
ser una Institucin Educativa prestigiosa en Educacin.
Otro objetivo es formar futuros ciudadanos lderes y con
principios cristianos.

6.2.2 Determinacin de requerimientos:


La Institucin Educativa requiere de un Subsistema de matrcula
automatizado para dar solucin a sus dificultades.
A) Determinacin del alcance del Subsistema:
El Subsistema de matrcula de la Institucin Eductiva de Pablo Patrn
comprende nicamente el proceso de matrcula con los siguientes
alcances:
Control exacto de los estudiantes mediante cdigos en los diferentes
grados y

secciones, tanto de nivel primaria como secundaria.

I E.
SOLICITA MATRCULA

SUBSISTEMA
DE MATRCULA FICHA DE MATRCULA

Imagen 6.1 Alcance del Subsistema.

6.2.2 Anlis Estructurado:


Para el anlisis estructurado de datos utilizaremos los siguientes
modelos: diagrama de flujo de datos, modelo de entidad relacin, modelo
relacional.
6.2.3 Diagrama de contexto o diagrama de flujo de datos:
Muestran en forma visual slo el flujo de datos entre los distintos
procesos, entidades externas y almacenes que conforman un sistema.
15

Cuando los analistas de sistemas investigan sobre los requerimientos de


informacin de los usuarios, deben ser capaces de concebir la manera en que
los datos fluyen a travs del sistema u organizacin, los procesos que sufren
estos datos y sus tipos de salida. Entidad externa, proceso, flujo de datos y
almacen de datos.

Requerimiento Matrcula
Identificacin

ALUMNOS

Documentos Matrcula
Constancia de Matrcula

Alumnos Matriculados

0
MATRCULA

Horarios

COMISIN DE
MATRCULA

Alumnos Matriculados

DATOS DEL ALUMNO

Imagen 6.2. Diagrama de flujo del Subsistema de matrcula.

6.2.3.2 Modelo entidad relacin (MER)


El modelo de datos ms extendido es el denominado
ENTIDAD/RELACIN (E/R) En el modelo E/R se parte de una situacin
real a partir de la cual se definen entidades y relaciones entre dichas
entidades:

Relacin.- Asociacin entre entidades, sin existencia propia en el


mundo real que estamos modelando, pero necesaria para reflejar las
interacciones existentes entre entidades. Las relaciones pueden ser
de tres tipos:

Relaciones 1-1.- Las entidades que intervienen en la relacin se


asocian una a una. Relaciones 1-n.- Una ocurrencia de una entidad
est asociada con muchas (n) de otra.

16

Relaciones n-n.-Cada ocurrencia, en cualquiera de las dos


entidades de la relacin, puede estar asociada con muchas (n) de la
otra y viceversa.

Imagen 6.3. Modelo Entidad Relacin del Sub Sistema de matrcula

17

Diseo Entidad Relacin.

ALUMNO

PAGO

Realiz
a
Tiene

NOTA

Tiene

Tiene

REC

CURSO

Se
Tiene

PADRE

MATRICULA

Tiene

SECCIN
Pertenec
e

Tiene

USUARIO

DERECHO

Tiene

Pertenec
e

GRADO

Imagen 6.4. Diseo E R Sub Sistema de matrcula

18

CUR

6.2.4

Anlisis orientado a objetos:


Rational Rose utiliza un proceso de desarrollo iterativo controlado
(controlled iterative process development), donde el desarrollo se lleva
a cabo en una secuencia de iteraciones. Cada iteracin comienza con
una primera aproximacin del anlisis, diseo e implementacin para
identificar los riesgos del diseo, los cuales se utilizan para conducir la
iteracin, primero se identifican los riesgos y despus se prueba la
aplicacin para que stos hagan minimos.
Cuando la implementacin pasa todas las pruebas que se determinan
en el proceso, sta se revisa y se aaden los elementos modificados al
modelo de anlisis y diseo. Una vez que la actualizacin del modelo
se ha modificado, se realiza la siguiente iteracin.
6.2.1.1.1

Modelo de negocio:
Para ser estudiante de la Institucin Educativa Pablo
Patron se debe realizar lo siguiente:
El padre de familia debe de realizar un pago por derecho
de apafa la matricula es gratis para todos.

6.2.1.2

Modelamiento de proceso de negocio :


Identificacin de los procesos de negocio:

Proceso de Negocio

01

Automatizar el proceso de matrcula

Diagrama de casos de usos del negocio:


Institucin Educativa Pablo Patrn

19

Alumno

Gestiona proceso de matrcula

Diretor.

Imagen 6.10. Diagrama de Caso de Uso del Negocio:

Formato de identificacin de actores:

Actor

01

Alumno

Roles/Responsabilidades
- Entrega la ficha nica de
matrcula iniciando el proceso.
- Selecciona el grado que va a
estudiar.
- Canjea el voucher por un recibo.
- Evalua expedientes.
- Aprueba el proceso de matricula

02

Director

6.2.1.3

Diagrama de casos de uso del Subsistema:

20

Imagen 6.11 Diagrama de casos de uso a nivel general del Subsistema de matrcula.

Diagrama de Clases:

Imagen 6.12. Diagrama de clases del Sub Sistema de matrcula.

Diagrama de Secuencia:

21

:
ComisionMatricula

: Padre

: Caja

SolicitaMatricula

Pregunta. ParaQueGrado?
RespondeLaPregunta
VerificaVacante
EnvaALa Caja
SolicitaPagoMatricula
Le Pide sus datos
Da sus Datos
RegistraDatos
Le Pide El Monto

Entrega el Monto
PreparaBoleta
Entrega Boleta y Vuelto

Presenta La Boleta
Prepara Ficha De Matricula
Registra Datos Del Alumno

EntregaDomentoDeMatricula
Recoje el Documento

Imagen 6.13 Diagrama de Secuencia del Sub Sistema de matrcula.

22

Diagrama de Colaboracin:

4: VerificaVacante
15: Prepara Ficha De Matricula
16: Registra Datos Del Alumno
1: SolicitaMatricula
3: RespondeLaPregunta
14: Presenta La Boleta
18: Recoje el Documento
: ComisionMatricula
2: Pregunta. ParaQueGrado?
5: EnvaALa Caja
17: EntregaDomentoDeMatricula

: Padre

6: SolicitaPagoMatricula
8: Da sus Datos
11: Entrega el Monto
7: Le Pide sus datos
10: Le Pide El Monto
13: Entrega Boleta y Vuelto
9: RegistraDatos
12: PreparaBoleta

: Caja

Imagen 6.14 Diagrama de Colaboracin del Sub Sistema de matricula.

Diagrama de Componentes:

23

Instalador

Codigo
Fuente

Matricula.
exe
Librera
DLL

Documen
tacion

Librera
OCX

BasesDeDatos

Imagen 6.15. Diagrama de Componentes del Sub Sistema de matrcula

Desarrollo del Software:


A continuacin presentamos todo el procedimiento que se realiz para el
desarrollo de este proyecto, denominado Subsistema de matrcula.
Cdigo fuente:
Formularios:
Formulario de Presentacin:

Imagen 6.16. Formulario de presentacin.

Codificacin
12.1. MDULO
Global Cn As ADODB.Connection 'conexion global del proyecto

24

Global Rs As ADODB.Recordset 'Variables de tipo tabla ulitizable en cualquier


parte del proyecto
Global Ry As ADODB.Recordset 'Variables de tipo tabla ulitizable en cualquier
parte del proyecto
Global Rx As ADODB.Recordset 'Variables de tipo tabla ulitizable en cualquier
parte del proyecto
Global Rz As ADODB.Recordset 'Variables de tipo tabla ulitizable en cualquier
parte del proyecto
Global R0 As ADODB.Recordset 'slo de busqueda de datos
Global R1 As ADODB.Recordset 'Solo de busqueda de datos
Public Ruta As String
Global Sq As String 'variable de tipo texto de alcance global
Public Opcion As Boolean 'sirve para verificar la tabla Derecho
Global Busca As String '
Global CoIE As String 'Sirve para almacenar Codigo del colegio de procedencia
Global NuIE As String 'Sirve para almacenar numero de colegio de procedencia
Global NoIE As String 'sirve para almacenar el nombre de colegio de
procedencia
Global MoIE As String 'Sirve para almacenar el motivo de traslado
Global DNI As String 'Sirve para almacenar el Dni del apoderado
Sub Main()
Ruta = App.Path & "\Matricula.mdb"
Set Cn = New ADODB.Connection
With Cn
.Mode = adModeReadWrite
.CursorLocation = adUseClient
.ConnectionString = "Provider=microsoft.jet.oledb.4.0;data source=" & Ruta
.Open
End With
Menu.Show
Codificacin del formulario presentacin:
Dim Con As Integer, Pun As String, Bar As Integer
Private Sub Form_Load()

25

Con = 1
Pun = ".........."
Bar = 0
End Sub
Private Sub Timer1_Timer()
Label1.ForeColor = QBColor(Int((10 - 0 + 0) * Rnd + 0))
Label2.ForeColor = QBColor(Int((10 - 0 + 0) * Rnd + 0))
End Sub
Private Sub Timer2_Timer()
ProgressBar1.Value = ProgressBar1.Value + 1
If ProgressBar1.Value >= 100 Then
Unload Me
Timer2.Enabled = False
End If
End Sub
Private Sub Timer3_Timer()
Label7.Visible = Not Label7.Visible
End Sub
Formulario de seguridad:

Codificacin del formulario de seguridad:


Dim Rb As ADODB.Recordset
Private Sub CmdAceptar_Click()
Ejecutar
26

End Sub
Private Sub CmdAceptar_KeyDown(KeyCode As Integer, Shift As
Integer)
If KeyCode = 13 Then
Ejecutar
End If
End Sub
Private Sub CmdCancelar_Click()
End
End Sub
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Ejecutar
End If
End Sub
Private Sub Form_Load()
Presentacion.Show vbModal
Cargar
Me.WindowState = 2
Combo1.Text = "Elija.."
Text1.Text = ""
End Sub
Sub Ejecutar()
Set Rb = New ADODB.Recordset
Rb.CursorLocation = adUseClient
Rb.Open "select U.*, D.* from Usuario U, Derecho D where U.CodUsu=
D.CodUsu and D.CarDer='" & Combo1.Text & "' and D.ConDer='" &
Text1.Text & "'", Cn, adOpenStatic, adLockReadOnly, adCmdText
If Rb.RecordCount > 0 Then
Menu.StatusBar1.Panels(8).Text = " Usuario: " & Rb!NomUsu & " " & Rb!
ApeUsu
Unload Me
Else
MsgBox "Contrasea Incorrecta"
27

End If
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Ejecutar
End If
End Sub
Sub Cargar()
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Rs.Open "select * from Derecho", Cn, adOpenStatic, adLockReadOnly,
adCmdText
If Rs.RecordCount > 0 Then
Rs.MoveFirst
While Not Rs.EOF
Combo1.AddItem Rs!CarDer
Rs.MoveNext
Opcion = True
Wend
Else
Opcion = False
If MsgBox("An no se asign cargos a los usuarios." & vbNewLine &
"Deseas Asginar cargos a los usuarios?", 36, "Confirme") = 6 Then
Usuario.Show vbModal
Else
End
End If
End If
Men principal:

28

Codificacin del men principal:


Private Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA"
(ByVal hwnd As Long, ByVal szApp As String, ByVal szOtherStuff As
String, ByVal hIcon As Long) As Long
Dim Rlec As ADODB.Recordset
Dim Rie As ADODB.Recordset
Private Sub MDIForm_Load()
Me.WindowState = 2
AgregarAoLectivo
Seguridad.Show vbModal
End Sub
Private Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, X
As Single, y As Single)
If Button = 2 Then
PopupMenu MnuMantenimiento, 4, , , MnuMat
End If
End Sub
Private Sub MnuAcerca_Click()
29

Call ShellAbout(Me.hwnd, "sistema de matrcula", "Copyright 2008,


Dj_Dexter, Es una Aplicacion ", Me.Icon)
End Sub
Private Sub MnuAH_Click()
ConsultaPH.Show
End Sub
Private Sub MnuAlumno_Click()
Alumno.Show
End Sub
Private Sub MnuApoderado_Click()
Apoderado.Show
End Sub
Private Sub MnuBCargo_Click()
Dim Sql As String
Sql = "Delete from Derecho"
If MsgBox("Realmente desea eliminar?", 36, "Confirme") = 6 Then
Cn.Execute Sql
MsgBox "Se Borr con xito"
End If
End Sub
Private Sub MnuBorrar_Click()
Dim Sql As String
Sql = "delete from Usuario"
If MsgBox("Realmente desea eliminar?", 36, "Confirme") = 6 Then
Cn.Execute Sql
MsgBox "Se Borr con xito"
End If
End Sub
Private Sub MnuCalculadora_Click()
Shell "C:\WINDOWS\system32\calc.exe", 1
End Sub
Private Sub MnuCalendario_Click()
Calendario.Show
End Sub
30

Private Sub MnuCurricula_Click()


GRado.Show
End Sub
Private Sub MnuCPG_Click()
ConApoderado.Show
End Sub
Private Sub MnuCPS_Click()
ConApoSec.Show
End Sub
Private Sub MnuCur_Click()
ConCurso.Show
End Sub
Private Sub MnuCurso_Click()
Curso.Show
End Sub
Private Sub MnuGrado_Click()
GRado.Show
End Sub
Private Sub MnuHA_Click()
ConsultaHP.Show
End Sub
Private Sub MnuIE_Click()
IE.Show
End Sub
Private Sub MnuMat_Click()
Matricula1.Show
End Sub
Private Sub MnuNuevo_Click()
Matricula.Show
End Sub
Private Sub MnuPG_Click()
ConNomina1.Show
End Sub
Private Sub MnuPN_Click()
31

ConsultaApo.Show
End Sub
Private Sub MnuProfesor_Click()
Profesor.Show
End Sub
Private Sub MnuPS_Click()
ConNomina.Show
End Sub
Private Sub MnuRegular_Click()
Matricula1.Show
End Sub
Private Sub MnuRProfesor_Click()
RProfesor.Show
End Sub
Private Sub MnuSalir_Click()
If MsgBox("Realmente desea salir?", 36, "Confirme") = 6 Then
End
End If
End Sub
Private Sub MnuSistema_Click()
Ayuda Sistema.Show
End Sub
Private Sub MnuUsuario_Click()
Usuario.Show
End Sub
Private Sub MnuWord_Click()
On Error GoTo FALLA
Shell

"C:\Archivos

de

programa\Microsoft

Office\Office12\WINWORD.EXE", 1
Exit Sub
FALLA:
MsgBox "Error N: " & Err.Number & vbNewLine & "Descripcin de Error:
" & Err.Description
End Sub
32

Private Sub StatusBar1_PanelClick(ByVal Panel As MSComctlLib.Panel)


Select Case Panel.Index
Case 1:
Case 2:
Case 3: Calendario.Show
Case 4:
On Error GoTo eee
Shell "C:\WINDOWS\system32\calc.exe", 1
Exit Sub
MsgBox "Error N: " & Err.Number & vbNewLine & "Descripcin de
Error: " & Err.Description
Case 5:
Case 6:
Case 7:
End Select
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 2: PopupMenu MnuSeguridad
Case 7: PopupMenu MnuMatricula
Case 12: PopupMenu MnuMantenimiento
Case 21: PopupMenu MnuReporte
Case 26: 'PopupMenu MnuConsulta
Case 31: 'PopupMenu MnuPago
Case 34: PopupMenu MnuUtilitario
Case 39: PopupMenu MnuAyuda
Case 43: If MsgBox("Realmente desea salir?", 36, "Confirme") = 6
Then End
Case 46:
On Error GoTo Nopudo
Shell "C:\WINDOWS\system32\calc.exe", 1
Exit Sub
Nopudo:

33

MsgBox "Error N: " & Err.Number & vbNewLine & "Descripcin de


Error: " & Err.Description
Case 49: Calendario.Show
Case 82: frmBrowser.Show
frmBrowser.WindowState = 2
End Select
End Sub
Sub AgregarAoLectivo()
Dim Sqa As String, Srr As String
Set Ry = Cn.Execute("SELECT CodIE from IE")
If Not Ry.RecordCount > 0 Then Exit Sub
Sqa = "select * from ALectivo where ALec='" & Year(Date) & "'"
Set Rlec = Cn.Execute(Sqa)
If Not Rlec.RecordCount > 0 Then
Sqa = "select CodIE from IE"
Set Rie = Cn.Execute(Sqa)
Srr = "insert into ALectivo (Alec,CodIE) values('" & Year(Date) & "','" &
Rie!CodIE & "')"
Cn.Execute Srr
End If
Rlec.Requery
End Sub

Formulario del usuario:

34

Codificacin del formulario del usuario:


Dim Ru As ADODB.Recordset, Rd As ADODB.Recordset
Dim a As Boolean 'sirve para verificar si los datos a guardar son nuevos
o actualizacones
Dim w As Integer
Private Sub Cmd1_Click(Index As Integer)
Select Case Index
Case 0: Ru.MoveFirst
VerUsuario
HabilitarCmd1 False
Case 1: Ru.MovePrevious
If Ru.BOF Then
Ru.MoveFirst
HabilitarCmd1 False
Else
HabilitarCmd1Todo True
End If

35

VerUsuario
Case 2: Ru.MoveNext
If Ru.EOF Then
Ru.MoveLast
HabilitarCmd1 True
Else
HabilitarCmd1Todo True
End If
VerUsuario
Case 3: Ru.MoveLast
VerUsuario
HabilitarCmd1 True
End Select
End Sub
Private Sub Cmd2_Click(Index As Integer)
Select Case Index
Case 0: HabilitarTextos False
Text1(0).SetFocus
Nuevo
HabilitarCmd1Todo False
HabilitarCmd2 False
a = True
Case 1: HabilitarTextos False
HabilitarCmd1Todo False
HabilitarCmd2 False
Text1(0).SetFocus
a = False
Case 2:
If a = True Then
Grabar
ElseIf a = False Then
Actualizar
End If
36

HabilitarCmd1Todo True
HabilitarTextos True
HabilitarCmd2 True
Case 3: Buscar
VerUsuario
Case 4: EliminarU
VerUsuario
Case 5: HabilitarTextos True
'VerUsuario
Case 6:
If Opcion = True Then
Unload Me
ElseIf Opcion = False Then
Unload Me
Seguridad.Cargar
End If
End Select
End Sub
Private Sub CmdAsignar_Click()
For i = 0 To List1.ListCount - 1
If LCase(List1.List(i)) = LCase(Combo1(2).Text) Then
w=w+1
End If
Next i
If w = 0 Then
List1.AddItem Combo1(2).Text
Else
MsgBox "El cargo seleccionado ya est en la lista", vbInformation
CmdAsignar.Enabled = False
End If
End Sub
Private Sub CmdEliminar_Click()
EliminarC
37

CmdEliminar.Enabled = False
End Sub

Private Sub Combo1_Click(Index As Integer)


Select Case Index
Case 2: CmdAsignar.Enabled = True
End Select
End Sub
Private Sub Form_Load()
Set Ru = New ADODB.Recordset
With Ru
.CursorLocation = adUseClient
.ActiveConnection = Cn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "select * from Usuario"
End With
Set Rd = New ADODB.Recordset
With Rd
.CursorLocation = adUseClient
.ActiveConnection = Cn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "select * from Derecho"
End With
If Ru.RecordCount > 0 Then
HabilitarCmd1Todo True
VerUsuario
38

Else
HabilitarCmd1Todo False
End If
Combo1(0).AddItem "M"
Combo1(0).AddItem "F"
Combo1(1).AddItem "Profesor"
Combo1(1).AddItem "Ingeniero"
Combo1(1).AddItem "Abogado"
Combo1(1).AddItem "Doctor"
Combo1(1).AddItem "Albail"
Combo1(1).AddItem "Obrero"
Combo1(1).AddItem "Ama de casa"
Combo1(1).AddItem "Enfermera"
Combo1(1).AddItem "Cosmtica"
Combo1(1).AddItem "Otro.."
Combo1(2).AddItem "Secretaria"
Combo1(2).AddItem "Mantenimiento"
Combo1(2).AddItem "Director"
Combo1(2).AddItem "Caja"
HabilitarTextos True
w=0
CmdAsignar.Enabled = False
CmdEliminar.Enabled = False
HabilitarCmd2 True
End Sub
Sub HabilitarCmd1(Ok As Boolean)
Cmd1(0).Enabled = Ok
Cmd1(1).Enabled = Ok
Cmd1(2).Enabled = Not Ok
Cmd1(3).Enabled = Not Ok
End Sub
Sub HabilitarCmd1Todo(Ok As Boolean)
39

For i = 0 To 3
Cmd1(i).Enabled = Ok
Next i
End Sub
Sub VerUsuario()
With Ru
Text1(0) = !COdUsu
Text1(1) = !NomUsu
Text1(2) = !ApeUsu
DTPicker1.Value = !FechNacUsu
Combo1(0).Text = !GenUsu
Combo1(1).Text = !ProUsu
DTPicker2.Value = !FechIngUsu
End With
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Rs.Open "select CarDer,ConDer from Derecho where CodUsu='" &
Text1(0) & "'", Cn, adOpenStatic, adLockReadOnly, adCmdText
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Text1(3) = Rs!ConDer
List1.Clear
While Not Rs.EOF
List1.AddItem Rs!CarDer
Rs.MoveNext
Wend
End If
End Sub
Private Sub List1_Click()
Combo1(2).Text = List1.Text
CmdEliminar.Enabled = True
End Sub
40

Sub HabilitarCmd2(si As Boolean)


Cmd2(0).Enabled = si
Cmd2(1).Enabled = si
Cmd2(2).Enabled = Not si
Cmd2(3).Enabled = si
Cmd2(4).Enabled = si
End Sub
Sub Nuevo()
For i = 0 To 3
Text1(i).Text = ""
Next i
For i = 0 To 2
Combo1(i).Text = "Elija.."
Next i
DTPicker1.Value = Date
DTPicker2.Value = Date
List1.Clear
End Sub
Sub HabilitarTextos(Ya As Boolean)
For i = 0 To 3
Text1(i).Locked = Ya
Next i
For i = 0 To 2
Combo1(i).Locked = Ya
Next i
End Sub
Sub Grabar()
Dim Sql As String
Sql

"insert

into

Usuario

(CodUsu,NomUsu,ApeUsu,FechNacUsu,GenUsu,ProUsu,FechIngUsu)
values ('" & _
Text1(0) & "','" & Text1(1) & "','" & Text1(2) & "',#" & DTPicker1.Value &
"#,'" & Combo1(0).Text & _
"','" & Combo1(1) & "',#" & DTPicker2.Value & "#)"
41

Cn.Execute Sql
Ru.Requery
For i = 0 To List1.ListCount - 1
Sql = "insert into Derecho (CodDer,CodUsu,CarDer,ConDer,FechDer)
values ('" & _
Left(List1.List(i), 3) & Right("0000" & (Rd.RecordCount + 1), 3) & "','" & _
Text1(0) & "','" & List1.List(i) & "','" & Text1(3) & "',#" & Date & "#)"
Cn.Execute Sql
Rd.Requery
Next i
MsgBox "Los datos se grab con xito:"
End Sub
Sub Actualizar()
Dim Sql As String
Sql = "update Usuario set NomUsu='" & Text1(1) & "',ApeUsu='" &
Text1(2) & "',FechNacUsu=#" & DTPicker1.Value & "#,GenUsu='" & _
Combo1(0).Text & "',ProUsu='" & Combo1(1).Text & "',FechIngUsu=#" &
DTPicker2.Value & "# where CodUsu='" & Text1(0) & "'"
Cn.Execute Sql
Ru.Requery
For i = 0 To List1.ListCount - 1
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Rs.Open "select * from Derecho where CodUsu='" & Text1(0) & "' and
CarDer='" & List1.List(i) & "'", Cn, adOpenStatic, adLockReadOnly,
adCmdText
If Rs.RecordCount = 0 Then
Sql = "insert into Derecho (CodDer,CodUsu,CarDer,ConDer,FechDer)
values ('" & _
Left(List1.List(i), 3) & Right("0000" & (Rd.RecordCount + 1), 3) & "','" & _
Text1(0) & "','" & List1.List(i) & "','" & Text1(3) & "',#" & Date & "#)"
Cn.Execute Sql
Rd.Requery
42

End If
Next i
End Sub
Sub EliminarC()
Dim Sql As String
Sql = "delete from Derecho where CodUsu='" & Text1(0) & "' and CarDer
='" & List1.List(List1.ListIndex) & "'"
Cn.Execute Sql
Rd.Requery
List1.RemoveItem List1.ListIndex
End Sub
Sub EliminarU()
Dim Sql As String
Sql = "Delete from Usuario where CodUsu='" & Text1(0) & "'"
Cn.Execute Sql
Ru.Requery
MsgBox "Usuario Eliminado"
End Sub
Sub Buscar()
Dim Bus As String
Bus = InputBox("Ingrese DNI del usuario", "Buscar")
Ru.MoveFirst
Ru.Find "CodUsu='" & Bus & "'"
If Ru.EOF Then
Ru.MoveLast
MsgBox "Usuario no encontrado"
End If
End Sub

Formulario de datos de la Institucin Educativa:

43

Codificacin del formulario de la Institucin Educativa:


Dim Ri As ADODB.Recordset
Dim Cmdi As ADODB.Command
Dim B9 As Boolean ' sirve para detectar si la tabla IE tiene contenido
Sub AgregarCombo()
Combo1(0).AddItem "EBR"
Combo1(0).AddItem "EBA"
Combo1(0).AddItem "EDA"
Combo1(0).AddItem "EBE"
Combo1(0).AddItem "EAD"
Combo1(1).AddItem "Escolarizada"
Combo1(1).AddItem "No Escolarizada"
Combo1(1).AddItem "Escolarizada"
Combo1(1).AddItem "Presencial"
Combo1(1).AddItem "Semi Presencial"
Combo1(1).AddItem "A Distancia"
Combo1(2).AddItem "Unidocente"
Combo1(2).AddItem "Polidocente Multigrado"
Combo1(2).AddItem "Polidocente Completo"
Combo1(3).AddItem "Privado"

44

Combo1(3).AddItem "Pblico"
Combo1(4).AddItem "Primaria"
Combo1(4).AddItem "Secundaria"
End Sub
Private Sub Cmd2_Click(Index As Integer)
Select Case Index
Case 0: HabilitarTexto False
If Cmd2(0).Caption = "NUEVO" Then
Text1(2).Locked = False
ElseIf Cmd2(2).Caption = "EDITAR" Then
Text1(0).Locked = True
End If
HabilitarCmd2 False
Case 1:
If Cmd2(0).Caption = "NUEVO" Then
Grabar
Menu.AgregarAoLectivo
Cmd2(0).Caption = "EDITAR"
ElseIf Cmd2(0).Caption = "EDITAR" Then
Actualizar
End If
HabilitarTexto True
HabilitarCmd2 True
VerDatos
Case 2:
If MsgBox("La accin afectar a todos los registros relacionados." &
vbNewLine & "Realmente deseas eliminar el registro?", 36, "Confirme")
= 6 Then
Eliminar
Limpiar
45

Cmd2(0).Caption = "NUEVO"
End If
Case 3: HabilitarTexto True
HabilitarCmd2 True
Limpiar
VerDatos
Case 4:
Unload Me
End Select
End Sub
Private Sub Form_Load()
Me.Top = 100
Me.Left = 100
B9 = False
Set Cmdi = New ADODB.Command
Cmdi.ActiveConnection = Cn
Cmdi.CommandType = adCmdText
Cmdi.CommandText = "select * from IE"
Set Ri = Cmdi.Execute
If Ri.RecordCount > 0 Then
Cmd2(0).Caption = "EDITAR"
Else
Cmd2(0).Caption = "NUEVO"
End If
AgregarCombo
Limpiar
HabilitarTexto True
HabilitarCmd2 True
VerDatos
End Sub
Sub HabilitarTexto(Ok As Boolean)
For i = 0 To 8
Text1(i).Locked = Ok
46

If i < 8 Then
Combo1(i).Locked = Ok
End If
Next i
End Sub
Sub Limpiar()
For i = 0 To 8
Text1(i).Text = ""
If i < 8 Then
Combo1(i).Text = ""
End If
Next i
End Sub
Sub HabilitarCmd2(si As Boolean)
Cmd2(0).Enabled = si
Cmd2(1).Enabled = Not si
Cmd2(2).Enabled = si
End Sub
Sub Grabar()
Sq

"insert

into

IE

(CodIE,CodUgel,NomUgel,ResCreIE,NumIE,NomIE,ModIE,ForIE,CarIE,
ProgIE,GesIE,NivIE,DepIE,ProIE,DisIE,ComIE,DirIE,FechIngIE)

values

('" & _
Trim(Text1(2)) & "','" & Trim(Text1(0)) & "','" & Trim(Text1(1)) & "','" &
Trim(Text1(3)) & "','" & Trim(Text1(4)) & "','" & Trim(Text1(5)) & "','" & _
Trim(Combo1(0)) & "','" & Trim(Combo1(1)) & "','" & Trim(Combo1(2)) &
"','" & Trim(Text1(6)) & "','" & Trim(Combo1(3)) & "','" & Trim(Combo1(4))
& "','" & _
Trim(Combo1(5)) & "','" & Trim(Combo1(6)) & "','" & Trim(Combo1(7)) &
"','" & Trim(Text1(7)) & "','" & Trim(Text1(8)) & "',#" & Date & "#)"
Cn.Execute Sq
Ri.Requery
47

End Sub
Sub Actualizar()
Sq = "update IE set CodUgel='" & Trim(Text1(0)) & "',NomUgel='" &
Trim(Text1(1)) & "',ResCreIE='" & Trim(Text1(3)) & "',NumIE='" &
Trim(Text1(4)) & "',NomIE='" & Trim(Text1(5)) & "',ModIE='" & _
Trim(Combo1(0)) & "',ForIE='" & Trim(Combo1(1)) & "',CarIE='" &
Trim(Combo1(2)) & "',ProgIE='" & Trim(Text1(6)) & "',GesIE='" &
Trim(Combo1(3)) & "',NivIE='" & Trim(Combo1(4)) & "',DepIE='" & _
Trim(Combo1(5)) & "',ProIE='" & Trim(Combo1(6)) & "',DisIE='" &
Trim(Combo1(7)) & "',ComIE='" & Trim(Text1(7)) & "',DirIE='" &
Trim(Text1(8)) & "',FechIngIE=#" & Date & "# where CodIE='" &
Trim(Text1(2)) & "'"
Cn.Execute Sq
Ri.Requery
End Sub
Sub Eliminar()
Cn.Execute "delete from IE"
Ri.Requery
End Sub
Sub VerDatos()
If Ri.EOF Then Exit Sub
If Ri.BOF Then Exit Sub
Text1(0) = Ri!CodUgel
Text1(1) = Ri!NomUgel
Text1(2) = Ri!CodIE
Text1(3) = Ri!ResCreIE
Text1(4) = Ri!NumIE
Text1(5) = Ri!NomIE
Combo1(0) = Ri!ModIE
Combo1(1) = Ri!ForIE
Combo1(2) = Ri!CarIE
Text1(6) = Ri!ProgIE
Combo1(3) = Ri!GesIE
48

Combo1(4) = Ri!NivIE
Combo1(5) = Ri!DepIE
Combo1(6) = Ri!ProIE
Combo1(7) = Ri!disIE
Text1(7) = Ri!ComIE
Text1(8) = Ri!DirIE
End Sub
Formulario de matricula de alumnos:

Codificacin del formulario matrcula de alumnos:


Dim Ni As String 'Sirve para saber el nivel
Dim Docu As String 'Sirve para almacenar documento del padre del
Estudiante
Dim Rss As ADODB.Recordset 'Sirve para abrir la tabla seccion
Dim JJ As Integer 'sirve para contar
Private Sub Check1_Click()
Procedencia.Show
Check1.Value = False
End Sub

49

Private Sub Cmd2_Click(Index As Integer)


Select Case Index
Case 0:
DNI = Trim(Text1.Text)
LimpiarApo
LimpiarAlu
LimpiarMat
HabilitarPadre False
HabilitarAlumno False
HabilitarMatricula False
SSTab1.Tab = 0
SSTab1.TabEnabled(1) = False
SSTab1.TabEnabled(2) = False
HabilitarCmd2 False
HabilitarComboMat
Text1.SetFocus
Case 1:
If Not Len(Trim(Text5(8).Text)) = 8 Then
MsgBox "El DNI del Padre no se Registr correctamente.!"
SSTab1.Tab = 0
Text1.SetFocus
Exit Sub
End If
If Not Len(Trim(Text5(0).Text)) = 14 Then
MsgBox "El Cdigo del Alumno no est registrado correctamente."
SSTab1.Tab = 1
Text5(0).SetFocus
Exit Sub
End If
If Not Len(Trim(Combo2(6).Text)) = 4 Then
MsgBox "El ao lectivo simplemente se tiene que seleccionar." &
vbNewLine & "El ao lectivo es el ao cadmico."
SSTab1.Tab = 2
50

Combo2(6).SetFocus
Exit Sub
End If
If Not Len(Trim(Combo2(2).Text)) = 2 Then
MsgBox "El Grado simplemente se tiene que seleccionar"
SSTab1.Tab = 2
Combo2(2).SetFocus
Exit Sub
End If
If Not Len(Trim(Combo2(3))) = 1 Then
MsgBox "La seccin Simplemente se tiene que seleccionar."
Combo2(3).SetFocus
Exit Sub
End If
If Not Len(Trim(CoIE)) >= 7 And Not Len(Trim(NuIE)) >= 5 Then
MsgBox "Falta registrar el colegio de procedecia. El colegio de
procedencia es el colegio donde estudi" & vbNewLine & "anteriormente
el nio, ya sea Inicial, Primaria o secundaria."
Procedencia.Show
Procedencia.Text1(0).SetFocus
Exit Sub
End If
GrabarApoderadoAlumnoMatricula
HabilitarCmd2 True
Case 2:
Case 3: LimpiarApo
LimpiarAlu
LimpiarMat
HabilitarCmd2 True
HabilitarPadre True
HabilitarAlumno True
HabilitarMatricula True
DNI = ""

51

Case 4: Unload Me
End Select
End Sub
Private Sub CmdSigue_Click()
If Not Len(Trim(Text5(0).Text)) > 0 Then
MsgBox "Falta ingresar los datos del alumno."
Exit Sub
End If
Text4(0).Text = Text5(0).Text
Text4(1).Text = UCase(Text5(2)) & " " & UCase(Text5(3)) & ", " &
StrConv(Text5(1), 3)
SSTab1.Tab = 2
SSTab1.TabEnabled(2) = True
End Sub
Private Sub CmdSiguiente_Click()
SSTab1.TabEnabled(1) = True
SSTab1.Tab = 1
If Len(Trim(Text1.Text)) = 8 Then
Text5(8).Text = Text1.Text
Else
Text5(8).Text = DNI
End If
End Sub

Private Sub Combo2_Click(Index As Integer)


Select Case Index
Case 0:
Combo2(2).Clear
Combo2(3).Clear
Combo2(4).Text = ""
52

Combo2(5).Text = ""
If Combo2(0).ListIndex = 0 Then
Ni = "P"
ElseIf Combo2(0).ListIndex = 1 Then
Ni = "S"
End If
Sq = "select * from Grado where CodGrad like '%" & Ni & "'"
Set Rs = Cn.Execute(Sq)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
While Not Rs.EOF
Combo2(2).AddItem Rs!CodGrad
Rs.MoveNext
Wend
Else
MsgBox "No se encontr Ningn Grado registrado de: " &
Combo2(0).Text & vbNewLine & "Antes de proseguir la operacin ser
mejor" & vbNewLine & "que registre los grados."
Exit Sub
End If
Combo2(2).Locked = False
Case 2:
Combo2(3).Clear
Combo2(3).Text = ""
Combo2(4).Text = ""
Combo2(5).Text = ""
Sq = "select * from Seccion where CodGrad='" & Combo2(2).Text &
"'"
Set Rs = Cn.Execute(Sq)
If Rs.RecordCount > 0 Then
Rs.MoveFirst
While Not Rs.EOF
Combo2(3).AddItem Rs!NomSec
53

Rs.MoveNext
Wend
Else
MsgBox "No hay ningn seccin Asignado al grado seleccionado."
& vbNewLine & "Es necesario que asignes seccionados a los grados
antes de proceguir esta operacin."
Exit Sub
End If
MostrarCurso
Combo2(3).Locked = False
Case 3:
Sq = " select AulSec,PisSec from Seccion where CodGrad='" &
Combo2(2).Text & "' and NomSec='" & Combo2(3).Text & "'"
Set Rs = Cn.Execute(Sq)
Combo2(4).Text = Rs!AulSec
Combo2(5).Text = Rs!PisSec
Case 4:
Case 5:
End Select
End Sub

Private Sub Combo3_Click(Index As Integer)


Select Case Index
Case 2:
Select Case Combo3(2).Text
Case "Per"
Combo3(3).AddItem "Lima"
Combo3(3).AddItem "Tacna"
Combo3(3).AddItem "Apurmac"
Combo3(3).AddItem "Cuzco"
Combo3(3).AddItem "Lambayeque"
Combo3(3).AddItem "Piura"
54

Combo3(3).AddItem "Cajamarca"
Combo3(3).AddItem "Loreto"
Combo3(3).AddItem "Arequipa"
Combo3(3).AddItem "Calao"
Combo3(3).AddItem "Ayacucho"
Combo3(3).AddItem "Tumbes"
Combo3(3).AddItem "Junn"
End Select
End Select
End Sub
Private Sub Form_Load()
'Me.WindowState = 2
Me.Top = 100
Me.Left = 100
If IsEmpty(CoIE) = True Then
MsgBox "La variable est vaca"
End If

AgregarComboPad
AgregarComboAlu
AgregarComboMat
LimpiarApo
LimpiarAlu
LimpiarMat
HabilitarAlumno True
HabilitarPadre True
HabilitarMatricula True
HabilitarCmd2 True
AoLectivo
JJ = 0
End Sub
Sub LimpiarApo()
55

Text1.Text = ""
For i = 0 To 4
Text3(i).Text = ""
Next i
For i = 0 To 2
Combo1(i).Text = ""
Next i
End Sub
Sub LimpiarAlu()
For i = 0 To 14
Combo3(i).Text = ""
If i < 9 Then
Text5(i).Text = ""
End If
Next i
End Sub
Sub LimpiarMat()
Text4(0).Text = ""
Text4(1).Text = ""
For i = 0 To 6
Combo2(i).Text = ""
Next i
End Sub
Sub AgregarComboAlu()
Combo3(0).AddItem "M"
Combo3(0).AddItem "F"
For i = 1 To 10
Combo3(1).AddItem i
Combo3(13).AddItem i
Next i
Combo3(2).AddItem "Per"
Combo3(2).AddItem "Argentina"
Combo3(2).AddItem "Ecuador"
Combo3(2).AddItem "Brasil"
56

Combo3(2).AddItem "Bolivia"
Combo3(2).AddItem "Venezuela"
Combo3(2).AddItem "Uruguay"
Combo3(2).AddItem "Chile"
Combo3(2).AddItem "Colombia"
Combo3(2).AddItem "Paraguay"
Combo3(2).AddItem "Estados Unidos"
Combo3(2).AddItem "Mxico"
Combo3(2).AddItem "Espaa"
Combo3(6).AddItem "Si"
Combo3(6).AddItem "No"
For i = 0 To 12
Combo3(7).AddItem i
Next i
Combo3(8).AddItem "Espaol"
Combo3(8).AddItem "Quechua"
Combo3(8).AddItem "Aymara"
Combo3(8).AddItem "Ingls"
Combo3(8).AddItem "Portugus"
Combo3(8).AddItem "Mandarn"
Combo3(8).AddItem "Italiano"
Combo3(9).AddItem "Espaol"
Combo3(9).AddItem "Quechua"
Combo3(9).AddItem "Aymara"
Combo3(9).AddItem "Ingls"
Combo3(9).AddItem "Portugus"
Combo3(9).AddItem "Mandarn"
Combo3(9).AddItem "Italiano"
Combo3(10).AddItem "Si"
Combo3(10).AddItem "No"
Combo3(11).AddItem "Si"
Combo3(11).AddItem "No"
Combo3(12).AddItem "Si"
Combo3(12).AddItem "No"
57

Combo3(14).AddItem "Catlico"
Combo3(14).AddItem "Cristiano"
End Sub
Sub AgregarComboMat()
Combo2(1).AddItem "Maana"
Combo2(1).AddItem "Tarde"
Combo2(1).AddItem "Noche"
Combo2(0).AddItem "Primaria"
Combo2(0).AddItem "Secundaria"
End Sub
Sub AgregarComboPad()
Combo1(0).AddItem "M"
Combo1(0).AddItem "F"
Combo1(1).AddItem "Abogado"
Combo1(1).AddItem "Ingeniero"
Combo1(1).AddItem "Ingeniera"
Combo1(1).AddItem "Profesor"
Combo1(1).AddItem "Albail"
Combo1(1).AddItem "Mecnico"
Combo1(1).AddItem "Secretaria"
Combo1(1).AddItem "Otros.."
Combo1(2).AddItem "Estudiante"
Combo1(2).AddItem "Trabajo"
Combo1(2).AddItem "Trabaja y estudia"
Combo1(2).AddItem "Otro.."
End Sub
Sub HabilitarPadre(ZZZ As Boolean)
For i = 0 To 4
Text3(i).Locked = ZZZ
Next i
Text1.Locked = ZZZ
For i = 0 To 2
Combo1(i).Locked = ZZZ
58

Next i
DTPicker1.Enabled = Not ZZZ
End Sub
Sub HabilitarAlumno(AAA As Boolean)
For i = 0 To 8
Text5(i).Locked = AAA
Next i
For i = 0 To 14
Combo3(i).Locked = AAA
Next i
DTPicker2.Enabled = Not AAA
End Sub
Sub HabilitarMatricula(MMM As Boolean)
Text4(0).Locked = MMM
Text4(1).Locked = MMM
For i = 0 To 6
Combo2(i).Locked = MMM
Next i
End Sub
Sub HabilitarCmd2(si As Boolean)
Cmd2(0).Enabled = si
Cmd2(1).Enabled = Not si
Cmd2(2).Enabled = si
End Sub
Sub HabilitarComboMat()
Combo2(2).Locked = True
Combo2(3).Locked = True
Combo2(4).Locked = True
Combo2(5).Locked = True
End Sub
Sub AoLectivo()
Sq = "Select * from ALectivo"
Set Rs = Cn.Execute(Sq)
If Rs.RecordCount > 0 Then
59

Rs.MoveFirst
Do While Not Rs.EOF
Combo2(6).AddItem Rs!ALec
Rs.MoveNext
Loop
End If
End Sub
Sub GrabarApoderadoAlumnoMatricula()
Sq = "select * from Apoderado where CodApo='" & Trim(Text5(8).Text) &
"'"
Set Rs = Cn.Execute(Sq)
If Rs.RecordCount <= 0 Then
Sq

"insert

into

Apoderado

(CodApo,NomApo,ApeApo,FechNacApo,GenApo,ProApo,OcuApo,TelAp
o,DirApo,EmailApo) values('" & Trim(Text1.Text) & "','" & _
Trim(Text3(0).Text) & "','" & Trim(Text3(1).Text) & "',#" & DTPicker1.Value
& "#,'" & Trim(Combo1(0).Text) & "','" & Trim(Combo1(1).Text) & "','" & _
Trim(Combo1(2).Text)

&

"','"

&

Trim(Text3(2).Text)

&

"','"

&

Trim(Text3(3).Text) & "','" & Trim(Text3(4).Text) & "')"


Cn.Execute Sq
End If
Sq = "select * from Alumno where CodAlum='" & Trim(Text5(0).Text) & "'"
Set Rs = Cn.Execute(Sq)
If Rs.RecordCount <= 0 Then
Sq

"insert

into

Alumno

(CodAlum,CodApo,NomAlum,ApePatAlum,ApeMatAlum,GenAlum,HerAl
um,LugOcuHerAlum,TraAlum,HTraAlum,VivPatAlum,VivMatAlum,VivPad
Alum," & _
"FechNacAlum,PaisNacAlum,DepNacAlum,ProNacAlum,DisNacAlum,Lu
gNacAlum,Len1Alum,Len2Alum,RelAlum,DirAlum,TelAlum,EmailAlum,Fe
chIngAlum) values('" & _
Trim(Text5(0).Text)

&

"','"

&

Trim(Text5(8).Text)

&

"','"

&

Trim(Text5(1).Text)

&

"','"

&

Trim(Text5(2).Text)

&

"','"

&

Trim(Text5(3).Text) & "','" & _


60

Mid(Trim(Combo3(0).Text), 1, 1) & "','" & Combo3(1).Text & "','" &


Combo3(13).Text

&

"','"

&

Trim(Combo3(6).Text)

&

"','"

&

Trim(Combo3(7).Text) & "','" & _


Trim(Combo3(10).Text) & "','" & Trim(Combo3(11).Text) & "','" &
Trim(Combo3(12).Text)

&

"',#"

&

DTPicker2.Value

&

"#,'"

&

"','"

&

"','"

&

& "','"

&

Trim(Combo3(2).Text) & "','" & _


Trim(Combo3(3).Text)

&

Trim(Combo3(5).Text)

&

"','"

&

"','"

&

Trim(Combo3(4).Text)
Trim(Text5(4).Text)

&
&

Trim(Combo3(8).Text) & "','" & _


Trim(Combo3(9).Text)
Trim(Text5(6).Text)

& "','"
&

"','"

& Trim(Combo3(14).Text)
&

Trim(Text5(5).Text)

&

"','"

&

Trim(Text5(7).Text) & "',#" & _


Date & "#)"
Cn.Execute Sq
End If
If Len(Trim(Text1.Text)) = 8 Then
DNI = Trim(Text1.Text)
End If
Sq = "select * from Matricula where CodAlum='" & Trim(Text5(0).Text) &
"'and

CodGrad='"

& Trim(Combo2(2).Text)

& "'

and Alec='"

&

Trim(Combo2(6).Text) & "'"


Set Rs = Cn.Execute(Sq)
If Rs.RecordCount <= 0 Then
Sq

"insert

into

Matricula

(CodMat,CodAlum,CodGrad,FechMat,TurMat,SecMat,ALec) values('" &


Right(Trim(Combo2(6).Text), 2) & StrReverse(Trim(Combo2(2).Text)) &
Trim(Combo2(3)) & Left(Trim(Combo2(1).Text), 1) & DNI & Right("00" &
Trim(Combo3(13).Text), 2) & _
"','" & Trim(Text4(0).Text) & "','" & Trim(Combo2(2).Text) & "',#" & Date &
"#,'" & Left(Trim(Combo2(1).Text), 1) & "','" & Trim(Combo2(3).Text) & "','"
& Trim(Combo2(6).Text) & "')"
Cn.Execute Sq
End If

61

Sq = "select * from Traslado where CodAlum='" & Trim(Text4(0).Text) &


"'"
Set Rs = Cn.Execute(Sq)
If Rs.RecordCount <= 0 Then
Sq

"insert

into

(CodAlum,CodIE,NumIE,NomIE,MotTra,FechTra)

Traslado
values('"

&

Trim(Text4(0).Text) & "','" & CoIE & "','" & NuIE & "','" & NoIE & "','" &
MoIE & "',#" & Date & "#)"
Cn.Execute Sq
End If
CoIE = ""
NuIE = ""
NoIE = ""
MoIE = ""
MsgBox "Los datos se grab con xito."
End Sub
Sub MostrarCurso()
Sq = "select CodCur as Cdigo,NomCur as Asignatura, DesCur as
Descripcin from Curso where CodGrad='" & Trim(Combo2(2).Text) & "'"
Set Rz = Cn.Execute(Sq)
With DataGrid1
Set .DataSource = Rz
.Refresh
.HeadFont.Bold = True
.HeadFont.Size = 12
.Font.Size = 11
.ForeColor = QBColor(1)
.AllowAddNew = False
.ColumnHeaders = True
.Columns(0).AllowSizing = True
.Columns(1).AllowSizing = True
.Columns(2).AllowSizing = True
End With
End Sub
62

Formulario de matrcula regular:

Codificacin del formulario matenimiento de matrcula:


Dim Rm As ADODB.Recordset
Dim ANO As String ' sirve para verificcar el ao
Dim A6 As Boolean 'sirve para saber si va agregar nuevo o editar
Dim A5 As Boolean ' para saber si es nuevo o editar
Private Sub Cmd1_Click(Index As Integer)
Select Case Index
Case 0: Rm.MoveFirst
VerDatos
HabilitarCmd1 False
Case 1:
Rm.MovePrevious
If Rm.BOF Then

63

Rm.MoveFirst
HabilitarCmd1 False
Else
HabilitarCmd1Todo True
End If
VerDatos
Case 2:
Rm.MoveNext
If Rm.EOF Then
Rm.MoveLast
HabilitarCmd1 True
Else
HabilitarCmd1Todo True
End If
VerDatos
Case 3:
Rm.MoveLast
HabilitarCmd1 True
VerDatos
End Select
End Sub
Private Sub Cmd2_Click(Index As Integer)
Select Case Index
Case 0: A6 = True
A5 = True
LimpiarMat
HabilitarMatricula False
HabilitarCmd2 False
HabilitarCmd1Todo False
Set DataGrid1.DataSource = Nothing
DataGrid1.Refresh
Case 1: A6 = True
64

A5 = False
HabilitarMatricula False
HabilitarCmd2 False
HabilitarCmd1Todo False

Case 2:
If A5 = True Then
Grabar
ElseIf A5 = False Then
Actualizar
End If
HabilitarMatricula True
HabilitarCmd2 True
HabilitarCmd1Todo True
Rm.Requery
A6 = False
Case 3:
Buscar
Case 4:
Eliminar
Case 5:
HabilitarCmd2 True
LimpiarMat
HabilitarMatricula True
A6 = False
If Rm.RecordCount > 0 Then
HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
End If
Case 6: Unload Me
End Select
End Sub
65

Sub FormatoGrid()
With DataGrid1
End With
End Sub

Private Sub Combo2_Click(Index As Integer)


Select Case Index
Case 0:
Sq = "select CodGrad from Grado where Codgrad like '%" &
Left(Combo2(0).List(Combo2(0).ListIndex), 1) & "'"
Set Ry = Cn.Execute(Sq)
Combo2(2).Clear
If Ry.RecordCount > 0 Then
Ry.MoveFirst
While Not Ry.EOF
Combo2(2).AddItem Ry!CodGrad
Ry.MoveNext
Wend
End If
Case 1:
Case 2:
Sq = "select * from seccion where CodGrad='" &
Combo2(2).List(Combo2(2).ListIndex) & "'"
Set Ry = Cn.Execute(Sq)
Combo2(3).Clear
If Ry.RecordCount > 0 Then
Ry.MoveFirst
While Not Ry.EOF
Combo2(3).AddItem Ry!NomSec
Ry.MoveNext
Wend
66

End If
Sq = "select CodCur as Cdigo, NomCur as Asignatura, DesCur as
Descripcin

from

Curso

where

CodGrad='"

&

Combo2(2).List(Combo2(2).ListIndex) & "'"


Set Ry = Cn.Execute(Sq)
Set DataGrid1.DataSource = Ry
DataGrid1.Refresh
Case 3:
Sq = "select * from Seccion where CodGrad='" & Combo2(2).Text &
"' and NomSec='" & Combo2(3).List(Combo2(3).ListIndex) & "'"
Set Ry = Cn.Execute(Sq)
Combo2(4).Text = Ry!AulSec
Combo2(5).Text = Ry!PisSec
Case 4:
Case 5:
Case 6:
If A6 = True Then Exit Sub
ANO = Combo2(6).Text
AbrirMatricula
If Rm.RecordCount > 0 Then
VerDatos
HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
End If
End Select
End Sub
Private Sub Form_Load()
Me.Top = 100
Me.Left = 100
ANO = Year(Date)
A6 = False
LimpiarMat
67

HabilitarMatricula True
AgregarComboMat
HabilitarCmd2 True
Set Ry = Cn.Execute("select distinct ALec from ALectivo")
If Ry.RecordCount > 0 Then
Combo2(6).Clear
Ry.MoveFirst
Do While Not Ry.EOF
Combo2(6).AddItem Ry!ALec
Ry.MoveNext
Loop
End If
AbrirMatricula
If Rm.RecordCount > 0 Then
VerDatos
HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
End If

End Sub
Sub HabilitarCmd2(si As Boolean)
Cmd2(0).Enabled = si
Cmd2(1).Enabled = si
Cmd2(2).Enabled = Not si
Cmd2(3).Enabled = si
Cmd2(4).Enabled = si
End Sub
Sub HabilitarCmd1(Ok As Boolean)
Cmd1(0).Enabled = Ok
Cmd1(1).Enabled = Ok
Cmd1(2).Enabled = Not Ok
68

Cmd1(3).Enabled = Not Ok
End Sub
Sub HabilitarCmd1Todo(Ok As Boolean)
For i = 0 To 3
Cmd1(i).Enabled = Ok
Next i
End Sub
Sub LimpiarMat()
Text4(0).Text = ""
Text4(1).Text = ""
For i = 0 To 6
Combo2(i).Text = ""
Next i
End Sub
Sub AgregarComboMat()
Combo2(1).AddItem "Maana"
Combo2(1).AddItem "Tarde"
Combo2(1).AddItem "Noche"
Combo2(0).AddItem "Primaria"
Combo2(0).AddItem "Secundaria"
End Sub
Sub HabilitarMatricula(MMM As Boolean)
Text4(0).Locked = MMM
Text4(1).Locked = MMM
For i = 0 To 6
Combo2(i).Locked = MMM
Next i
Text4(0).Locked = False
Combo2(6).Locked = False
End Sub
Sub Grabar()

69

Sq = "select CodAPo,LugOcuHerAlum from Alumno where CodAlum='" &


Text4(0).Text & "'"
Set Rz = Cn.Execute(Sq)
Sq = "select * from Matricula where CodAlum='" & Trim(Text4(0).Text) &
"'and

CodGrad='"

& Trim(Combo2(2).Text)

& "'

and Alec='"

&

Trim(Combo2(6).Text) & "'"


Set Rs = Cn.Execute(Sq)
If Rs.RecordCount <= 0 Then
Sq

"insert

into

Matricula

(CodMat,CodAlum,CodGrad,FechMat,TurMat,SecMat,ALec) values('" &


Right(Trim(Combo2(6).Text), 2) & StrReverse(Trim(Combo2(2).Text)) &
Trim(Combo2(3)) & Left(Trim(Combo2(1).Text), 1) & Rz!CodApo &
Right("00" & Rz!LugOcuHerAlum, 2) & _
"','" & Trim(Text4(0).Text) & "','" & Trim(Combo2(2).Text) & "',#" & Date &
"#,'" & Left(Trim(Combo2(1).Text), 1) & "','" & Trim(Combo2(3).Text) & "','"
& Trim(Combo2(6).Text) & "')"
Cn.Execute Sq
End If
MsgBox "Los datos se grab correctamente!"
End Sub
Sub Actualizar()
Sq = "update Matricula set CodAlum='" & Trim(Text4(0).Text) &
"',CodGrad='" & Trim(Combo2(2).Text) & "',FechMat=#" & Date &
"#,TurMat='"

&

Left(Trim(Combo2(1).Text),

1)

&

"',SecMat='"

Trim(Combo2(3).Text) & "',ALec='" & Trim(Combo2(6).Text) & _


"' where CodMat='" & Rm!CodMat & "'"
Cn.Execute Sq
MsgBox "Los datos se actualiz con xito!"
End Sub
Sub Eliminar()
Sq = "delete from Matricula where CodMat='" & Rm!CodMat & "'"
Cn.Execute Sq
Rm.Requery
70

&

If Not Rm.RecordCount > 0 Then


HabilitarCmd1Todo False
End If
MsgBox "Los datos se elimin con xito!"
End Sub
Sub AbrirMatricula()
Sq = "select * from Matricula where Alec='" & ANO & "'"
Set Rm = Cn.Execute(Sq)
End Sub
Sub VerDatos()
Combo2(6).Text = Rm!ALec
Text4(0).Text = Rm!CodAlum
Combo2(2).Text = Rm!CodGrad
If Right(Rm!CodGrad, 1) = "P" Then
Combo2(0).Text = "Primaria"
ElseIf Right(Rm!CodGrad, 1) = "S" Then
Combo2(0).Text = "Secundaria"
End If
If Rm!TurMat = "T" Then
Combo2(1).Text = "Tarde"
ElseIf Rm!TurMat = "M" Then
Combo2(1).Text = "Maana"
ElseIf Rm!TurMat = "N" Then
Combo2(1).Text = "Noche"
End If
Combo2(3).Text = Rm!SecMat
Sq = "select NomAlum,ApePatAlum,ApeMatAlum from Alumno where
CodAlum='" & Rm!CodAlum & "'"
Set Rs = Cn.Execute(Sq)
Text4(1).Text = Rs!ApePatAlum & " " & Rs!ApeMatAlum & ", " & Rs!
NomAlum
71

Sq = "select * from Seccion where CodGrad='" & Rm!CodGrad & "' and
NomSec='" & Rm!SecMat & "'"
Set Rs = Cn.Execute(Sq)
Combo2(4).Text = Rs!AulSec
Combo2(5).Text = Rs!PisSec
Sq = "select CodCur as Cdigo, NomCur as Asignatura, DesCur as
Descripcin from Curso where CodGrad='" & Rm!CodGrad & "'"
Set Rs = Cn.Execute(Sq)
Set DataGrid1.DataSource = Rs
DataGrid1.Refresh
End Sub
Sub Buscar()
If Len(Trim(Combo2(6).Text)) = 4 And Len(Trim(Text4(0).Text)) = 14 Then
ANO = Trim(Text4(0).Text)
Sq = "select * from Matricula where ALec='" & Trim(Combo2(6).Text) &
"' and CodAlum='" & ANO & "'"
Set Rm = Cn.Execute(Sq)
If Rm.RecordCount > 0 Then
VerDatos
Else
MsgBox "No se encontr el registro buscado!"
HabilitarCmd1Todo False
End If
Else
MsgBox "Ingrese El ao lectivo y el cdigo del alumno."
Combo2(6).SetFocus
End If
End Sub
Formulario de grados:

72

Codificacin del formulario mantenimiento de grado:


Dim rc As ADODB.Recordset 'Una variable para la table curricula
Dim Rg As ADODB.Recordset 'para el grado
Dim Rsec As ADODB.Recordset 'Para seccion
Dim b As Boolean 'para verificar si es grabar o actualizar
Dim B1 As Boolean 'sirve para saber si es primaria o secundaria
Dim B2 As Boolean 'sirve para saber si es nuevo registro o actualizacin
Dim Conta As Integer, Baa As String
Dim Bk As Variant 'Sirve para saber la posicion del registro
Private Sub Cmd1_Click(Index As Integer)
Select Case Index
Case 0:
Rx.MoveFirst
VerDatos
HabilitarCmd1 False
Case 1:

73

Rx.MovePrevious
If Rx.BOF Then
Rx.MoveFirst
HabilitarCmd1 False
Else
HabilitarCmd1Todo True
End If
VerDatos
Case 2:
Rx.MoveNext
If Rx.EOF Then
Rx.MoveLast
HabilitarCmd1 True
Else
HabilitarCmd1Todo True
End If
VerDatos
Case 3:
Rx.MoveLast
VerDatos
HabilitarCmd1 True
End Select
End Sub
Private Sub Cmd2_Click(Index As Integer)
Select Case Index
Case 0: Limpiar
HabilitarTexto False
HabilitarCmd2 False
HabilitarCmd1Todo False
b = True
B2 = True
Option1.Enabled = True
Option2.Enabled = True
74

Case 1: HabilitarTexto False


HabilitarCmd2 False
HabilitarCmd1Todo False
b = False
Option1.Enabled = True
Option2.Enabled = True
Combo1(1).Locked = True
Case 2:
If b = True Then
Grabar
ElseIf b = False Then
Actualizar
End If
HabilitarTexto True
HabilitarCmd2 True
HabilitarCmd1Todo True
B2 = False
Case 3:
Buscar
Case 4:
EliminarG
Case 5:
HabilitarCmd2 True
HabilitarCmd1Todo True
B2 = False
VerDatos
Case 6:
Unload Me
End Select
End Sub
Private Sub CmdEliminar_Click()
CmdEliminar.Enabled = False
75

EliminarSec
End Sub
Private Sub Combo1_Click(Index As Integer)
Select Case Index
Case 2:
For i = 0 To List1.ListCount - 1
If Combo1(2).Text = List1.List(i) Then
Conta = Conta + 1
End If
Next i
If Conta = 0 Then
If List1.ListCount - List2.ListCount <= 0 Then
List1.AddItem Combo1(2).Text
Else
MsgBox "Falta asignar aula y piso a una o a varias secciones"
End If
Else
MsgBox "La seccin seleccionada ya est en la lista!"
End If
Conta = 0
Case 3:
If List1.ListCount > List2.ListCount Then
List2.AddItem Combo1(3).Text
Else
MsgBox "Primero asigne la seccin!"
End If
Case 4:
If List1.ListCount > List3.ListCount Then
List3.AddItem Combo1(4).Text
Else
MsgBox "Primero Asigne Seccin!"
End If
End Select
76

End Sub
Private Sub Form_Load()
Me.Top = 100
Me.Left = 100
Set Rg = New ADODB.Recordset
With Rg
.CursorLocation = adUseClient
.ActiveConnection = Cn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "select * from Grado"
End With
Set Rsec = New ADODB.Recordset
With Rsec
.CursorLocation = adUseClient
.ActiveConnection = Cn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "select * from Seccion"
End With
''/////////////////////////////////////////////////////////
Set Rx = New ADODB.Recordset
Rx.CursorLocation = adUseClient
Sq = "select Grado.* from Grado where CodGrad like '%S'"
Rx.Open Sq, Cn, adOpenStatic, adLockReadOnly, adCmdText
''//////////////////////////////////////////////////////////
If Rx.RecordCount > 0 Then
VerDatos
HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
77

End If
For i = 1 To 50
Combo1(3).AddItem i
If i < 10 Then
Combo1(2).AddItem Chr(64 + i)
Combo1(4).AddItem i
End If
Next i
Limpiar
HabilitarTexto True
'Option2.Value = True
B2 = False
Conta = 0
CmdEliminar.Enabled = False
HabilitarCmd2 True
End Sub
Private Sub List1_Click()
CmdEliminar.Enabled = True
List2.Selected(List1.ListIndex) = True
List3.Selected(List1.ListIndex) = True
End Sub
Private Sub List2_Click()
List1.Selected(List2.ListIndex) = True
List3.Selected(List2.ListIndex) = True
CmdEliminar.Enabled = True
End Sub
Private Sub List3_Click()
List1.Selected(List3.ListIndex) = True
List2.Selected(List3.ListIndex) = True
CmdEliminar.Enabled = True
End Sub
78

Private Sub Option1_Click()


List1.Clear
List2.Clear
List3.Clear
Combo1(1).Clear
For i = 1 To 6
Combo1(1).AddItem i
Next i
Baa = Left(Option1.Caption, 1)
Primaria
If B2 = False Then
If Rx.RecordCount > 0 Then
VerDatos
HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
End If
End If
End Sub
Private Sub Option2_Click()
List1.Clear
List2.Clear
List3.Clear
Combo1(1).Clear
For i = 1 To 5
Combo1(1).AddItem i
Next i
Baa = Left(Option2.Caption, 1)
Secundaria
If B2 = False Then
79

If Rx.RecordCount > 0 Then


VerDatos
HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
End If
End If
End Sub
Sub Limpiar()
For i = 1 To 4
Combo1(i).Text = "Elegir.."
Next i
List1.Clear
List2.Clear
List3.Clear
End Sub
Sub HabilitarCmd1(Ok As Boolean)
Cmd1(0).Enabled = Ok
Cmd1(1).Enabled = Ok
Cmd1(2).Enabled = Not Ok
Cmd1(3).Enabled = Not Ok
End Sub
Sub HabilitarCmd1Todo(Ok As Boolean)
For i = 0 To 3
Cmd1(i).Enabled = Ok
Next i
End Sub
Sub HabilitarCmd2(si As Boolean)
Cmd2(0).Enabled = si
Cmd2(1).Enabled = si
Cmd2(2).Enabled = Not si
Cmd2(3).Enabled = si
Cmd2(4).Enabled = si
End Sub
80

Sub HabilitarTexto(Ok As Boolean)


For i = 1 To 4
Combo1(i).Locked = Ok
Next i
End Sub
Sub VerDatos()
'Combo1(0).Text = Rx!CodCurr
'Text1.Text = Rx!DesCurr
Combo1(1).Text = Rx!CodGrad
Combo1(2).Text = ""
Combo1(3).Text = ""
Combo1(4).Text = ""
List1.Clear
List2.Clear
List3.Clear
Set Ry = New ADODB.Recordset
Ry.CursorLocation = adUseClient
Ry.Open "select * from Seccion where CodGrad='" & Combo1(1).Text &
"'", Cn, adOpenStatic, adLockReadOnly, adCmdText
If Ry.RecordCount > 0 Then
Ry.MoveFirst
While Not Ry.EOF
List1.AddItem Ry!NomSec
List2.AddItem Ry!AulSec
List3.AddItem Ry!PisSec
Ry.MoveNext
Wend
End If
End Sub
Sub EliminarSec()
81

Dim Sql As String


Sql = "delete from Seccion where CodGrad='" & Combo1(1).Text & "' and
NomSec ='" & List1.List(List1.ListIndex) & "'"
Cn.Execute Sql
Rsec.Requery
List1.RemoveItem List1.ListIndex
List2.RemoveItem List2.ListIndex
List3.RemoveItem List3.ListIndex
MsgBox "Se elimin con xito!!"
End Sub
Sub Grabar()
Dim Sql As String
If Rg.RecordCount > 0 Then
Rg.MoveFirst
Rg.Find "CodGrad='" & Combo1(1).Text & "'"
If Rg.EOF Then
Sql = "insert into Grado (CodGrad) values ('" & Combo1(1).Text & Baa &
"')"
Cn.Execute Sql
Rg.Requery
Else
MsgBox "El grado que intenta registrar ya existe!"
Exit Sub
End If
Else
Sql = "insert into Grado (CodGrad) values ('" & Combo1(1).Text & Baa &
"')"
Cn.Execute Sql
Rg.Requery
End If

For i = 0 To List1.ListCount - 1
82

Sql = "insert into Seccion (CodSec,CodGrad,NomSec,AulSec,PisSec)


values ('" & Baa & Combo1(1).Text & List1.List(i) & Right("000" &
Rsec.RecordCount + 1, 3) & _
"','" & Combo1(1).Text & Baa & "','" & List1.List(i) & "','" & List2.List(i) &
"','" & List3.List(i) & "')"
Cn.Execute Sql
Rsec.Requery
Next i
MsgBox "Todos los datos se grab con xito!"
Rx.Requery
End Sub
Sub Actualizar()
Dim Sql As String

For i = 0 To List1.ListCount - 1
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Rs.Open "Select * from seccion where CodGrad='" & Combo1(1).Text &
"'

and

NomSec='"

&

List1.List(i)

&

"'",

Cn,

adOpenStatic,

adLockReadOnly, adCmdText
If Rs.RecordCount = 0 Then
Sql = "insert into Seccion (CodSec,CodGrad,NomSec,AulSec,PisSec)
values ('" & StrReverse(Combo1(1).Text) & List1.List(i) & Right("000" &
Rsec.RecordCount + 1, 3) & _
"','" & Combo1(1).Text & "','" & List1.List(i) & "','" & Str(List2.List(i)) & "','"
& Str(List3.List(i)) & "')"
Cn.Execute Sql
Rsec.Requery
Rx.Requery
End If
Next i
MsgBox "los datos se actualiz con xito"
End Sub
83

Sub EliminarG()
Sq = "delete from Grado where CodGrad='" & Combo1(1).Text & "'"
Cn.Execute Sq
Rg.Requery
Rx.Requery
MsgBox "El grado se elimin con xito!"
End Sub
Sub Buscar()
Busca = InputBox("Ingrese el grado, Por ejemplo: 1P", "Ingrese")
Bk = Rx.Bookmark
Rx.MoveFirst
Rx.Find "CodGrad='" & Busca & "'"
If Rx.EOF Then
MsgBox "Grado no encontrado." & vbnewlinw & vbNewLine & "Verifique
bien si estas en" & vbNewLine & "primaria o secundaria"
Rx.Bookmark = Bk
End If
VerDatos
End Sub
Sub Primaria()
Set Rx = New ADODB.Recordset
Rx.CursorLocation = adUseClient
Sq = "select Grado.* from Grado where CodGrad like '" & "%" & "P" & "'"
Rx.Open Sq, Cn, adOpenStatic, adLockReadOnly, adCmdText
End Sub
Sub Secundaria()
Set Rx = New ADODB.Recordset
Rx.CursorLocation = adUseClient
Sq = "select Grado.* from Grado where CodGrad like '%S'"
Rx.Open Sq, Cn, adOpenStatic, adLockReadOnly, adCmdText
End Sub

84

Formulario de curso:

Codificacin del formulario mantenimiento de curso:


Dim Curi As String, Genera As String, Posicion As Integer
Dim Rco As ADODB.Recordset
Dim A1 As Boolean 'sirve para saber si es grabar o actualizar
Dim A2 As Boolean 'Sirve para saber si estn o no
Private Sub Cmd1_Click(Index As Integer)
Select Case Index
Case 0: Rz.MoveFirst
HabilitarCmd1 False
HabilitarTexto True
VerDatos
Case 1: Rz.MovePrevious
If Rz.BOF Then
Rz.MoveFirst
HabilitarCmd1 False
85

Else
HabilitarCmd1Todo True
End If
HabilitarTexto True
VerDatos
Case 2: Rz.MoveNext
If Rz.EOF Then
Rz.MoveLast
HabilitarCmd1 True
Else
HabilitarCmd1Todo True
End If
HabilitarTexto True
VerDatos
Case 3: Rz.MoveLast
HabilitarCmd1 True
HabilitarTexto True
VerDatos
End Select
End Sub
Private Sub Cmd2_Click(Index As Integer)
Select Case Index
Case 0: HabilitarTexto False
HabilitarCmd1Todo False
HabilitarCmd2 False
Text1(0).Locked = True
Limpiar
A1 = True
A2 = True
Timer1.Enabled = True
Case 1: HabilitarTexto False
HabilitarCmd1Todo False
HabilitarCmd2 False
86

Text1(1).Locked = False
A1 = False
Case 2:
If A1 = True Then
Grabar
ElseIf A1 = False Then
Actualizar
End If
HabilitarCmd2 True
HabilitarTexto True
HabilitarCmd1Todo True
Timer1.Enabled = False
Case 3: Buscar
VerDatos
Case 4: Eliminar
Case 5: HabilitarCmd1Todo True
HabilitarCmd2 True
HabilitarTexto True
Case 6: Unload Me
End Select
End Sub
Private Sub Form_Load()
Rs.Close
Set Rs = Nothing
Me.Top = 100
Me.Left = 100
Set Rco = New ADODB.Recordset
With Rco
.CursorLocation = adUseClient
.ActiveConnection = Cn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "select * from Curso"
87

End With
Curi = "S"
A2 = False
Timer1.Enabled = False
Nivel
NivelCurso
If Rz.RecordCount > 0 Then
VerDatos
Else
HabilitarCmd1Todo False
End If
HabilitarCmd2 True
Posicion = 1
HabilitarTexto True
End Sub
Sub HabilitarCmd2(si As Boolean)
Cmd2(0).Enabled = si
Cmd2(1).Enabled = si
Cmd2(2).Enabled = Not si
Cmd2(3).Enabled = si
Cmd2(4).Enabled = si
End Sub
Sub HabilitarCmd1(Ok As Boolean)
Cmd1(0).Enabled = Ok
Cmd1(1).Enabled = Ok
Cmd1(2).Enabled = Not Ok
Cmd1(3).Enabled = Not Ok
End Sub
Sub HabilitarCmd1Todo(Ok As Boolean)
For i = 0 To 3
Cmd1(i).Enabled = Ok
Next i
88

End Sub
Sub HabilitarTexto(HH As Boolean)
For i = 0 To 2
Text1(i).Locked = HH
Next i
Combo1.Locked = HH
End Sub
Private Sub Option1_Click()
Combo1.Clear
Curi = "P"
Nivel
NivelCurso
If A2 = False Then
If Rz.RecordCount > 0 Then
VerDatos
HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
End If
End If
End Sub
Private Sub Option2_Click()
Combo1.Clear
Curi = "S"
Nivel
NivelCurso
If A2 = False Then
If Rz.RecordCount > 0 Then
VerDatos
HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
89

End If
End If
End Sub
Sub NivelCurso()
Set Rz = New ADODB.Recordset
Rz.CursorLocation = adUseClient
Rz.Open "select * from Curso where CodGrad like '%" & Curi & "'", Cn,
adOpenStatic, adLockReadOnly, adCmdText
End Sub
Sub VerDatos()
Text1(0).Text = Rz!CodCur
Combo1.Text = Rz!CodGrad
Text1(1).Text = Rz!NomCur
Text1(2).Text = Rz!DesCur
End Sub
Sub Nivel()
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Rs.Open "select * from Grado where CodGrad like '%" & Curi & "'", Cn,
adOpenStatic, adLockReadOnly, adCmdText
If Rs.RecordCount > 0 Then
Rs.MoveFirst
While Not Rs.EOF
Combo1.AddItem Rs!CodGrad
Rs.MoveNext
Wend
End If
End Sub
Sub Grabar()
Sq = "insert into Curso (CodCur,CodGrad,NomCur,DesCur) values ('" &
Text1(0).Text & "','" & Combo1.Text & "','" & _
Text1(1).Text & "','" & Text1(2).Text & "')"
90

Cn.Execute Sq
Rco.Requery
Rz.Requery
MsgBox "Los datos se grab con xito"
End Sub
Sub Actualizar()
Sq = "update Curso set CodGrad='" & Combo1.Text & "',NomCur='" &
Text1(1).Text & "',DesCur='" & Text1(2).Text & "' where CodCur='" &
Text1(0).Text & "'"
Cn.Execute Sq
Rco.Requery
Rz.Requery
MsgBox "Se actualiz con xito!"
End Sub
Sub Eliminar()
Sq = "delete from Curso where CodCur='" & Text1(0).Text & "'"
Cn.Execute Sq
Rco.Requery
Rz.Requery
MsgBox "Se elimin con xito!"
End Sub
Sub Buscar()
Busca = InputBox("Ingrese el cdgio del Curso", "Ingrese los datos")
Rz.MoveFirst
Rz.Find "CodCur='" & Busca & "'"
If Not Rz.EOF Then
VerDatos
Else
MsgBox "No se encontr ningn resgistro con dicho cdigo!" &
vbNewLine & vbNewLine & "Verifique si ests en primaria o secundaria"
End If
End Sub
Private Sub Timer1_Timer()
91

GenerarCodigo
End Sub
Sub GenerarCodigo()
Posicion = InStr(Trim(Text1(1).Text), " ")
If Posicion > 1 Then
Genera = UCase(Left(Trim(Text1(1).Text), 2) & Mid(Trim(Text1(1).Text),
Posicion + 1, 1)) & Combo1.Text & Right("000" & Rco.RecordCount + 1,
3)
Else
Genera

UCase(Left(Trim(Text1(1).Text),

3))

&

Combo1.Text

Right("000" & Rco.RecordCount + 1, 3)


End If
Text1(0).Text = Genera
End Sub
Sub Limpiar()
For i = 0 To 2
Text1(i).Text = ""
Next i
End Sub

Formulario de profesores:

92

&

Codificacin del formulario de docentes:


Dim B4 As Boolean
Dim Rp As ADODB.Recordset
Dim Bk As Variant 'sirve para saber la posicion del registro
Private Sub Cmd1_Click(Index As Integer)
Select Case Index
Case 0: Rp.MoveFirst
HabilitarCmd1 False
VerDatos
Case 1: Rp.MovePrevious
If Rp.BOF Then
Rp.MoveFirst
HabilitarCmd1 False
Else
HabilitarCmd1Todo True
End If
VerDatos
Case 2: Rp.MoveNext
If Rp.EOF Then
Rp.MoveLast
93

HabilitarCmd1 True
Else
HabilitarCmd1Todo True
End If
VerDatos
Case 3: Rp.MoveLast
HabilitarCmd1 True
VerDatos
End Select
End Sub
Private Sub Cmd2_Click(Index As Integer)
Select Case Index
Case 0: HabilitarTexto False
HabilitarCmd1Todo False
Limpiar
HabilitarCmd2 False
B4 = True
CmdEliminar.Caption = ""
Case 1: HabilitarTexto False
HabilitarCmd2 False
HabilitarCmd1Todo False
Text1(0).Locked = True
B4 = False
Text1(1).SetFocus
CmdEliminar.Caption = ""
Case 2:
If B4 = True Then
Grabar
ElseIf B4 = False Then
Actualizar
End If
HabilitarCmd2 True
HabilitarTexto True
94

HabilitarCmd1Todo True
Case 3:
Buscar
VerDatos
Case 4:
Eliminar
Limpiar
Case 5: HabilitarTexto True
If Rp.RecordCount > 0 Then
HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
End If
HabilitarCmd2 True
Case 6: Unload Me
End Select
End Sub
Private Sub CmdAsignar_Click()
AsignarCurso.Show
End Sub
Private Sub CmdEliminar_Click()
CmdEliminar.Caption = ""
EliminarCurso
CmdEliminar.Enabled = False
End Sub
Private Sub Form_Load()
Me.Top = 100
Me.Left = 100
Set Rp = New ADODB.Recordset
With Rp
.CursorLocation = adUseClient
95

.ActiveConnection = Cn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "select * from Profesor"
End With
Limpiar
HabilitarTexto True
If Rp.RecordCount > 0 Then
VerDatos
HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
End If
CmdEliminar.Enabled = False
Combo1.AddItem "M"
Combo1.AddItem "F"
HabilitarCmd2 True
End Sub
Sub HabilitarCmd1(Ok As Boolean)
Cmd1(0).Enabled = Ok
Cmd1(1).Enabled = Ok
Cmd1(2).Enabled = Not Ok
Cmd1(3).Enabled = Not Ok
End Sub
Sub HabilitarCmd1Todo(Ok As Boolean)
For i = 0 To 3
Cmd1(i).Enabled = Ok
Next i
End Sub
Sub HabilitarCmd2(si As Boolean)
Cmd2(0).Enabled = si
Cmd2(1).Enabled = si
Cmd2(2).Enabled = Not si
Cmd2(3).Enabled = si
96

Cmd2(4).Enabled = si
End Sub
Sub Limpiar()
For i = 0 To 6
Text1(i).Text = ""
Next i
Combo1.Text = "Select.."
List1.Clear
List2.Clear
End Sub
Sub HabilitarTexto(Ok As Boolean)
For i = 0 To 6
Text1(i).Locked = Ok
Next i
Combo1.Locked = Ok
List1.Enabled = Ok
CmdAsignar.Enabled = Not Ok
End Sub
Sub Grabar()
Sq

"insert

into

Profesor

(CodPro,NomPro,ApePro,FechNacPro,GenPro,TitPro,DirPro,TelPro,Ema
ilPro,FechIngPro) values ('" & Text1(0).Text & "','" & Text1(1).Text & "','" &
Text1(2).Text & "',#" & _
DTPicker1.Value & "#,'" & Combo1.Text & "','" & Text1(3).Text & "','" &
Text1(4).Text & "','" & Text1(5).Text & "','" & Text1(6).Text & "',#" &
DTPicker2.Value & "#)"
Cn.Execute Sq
Rp.Requery

For i = 0 To List1.ListCount - 1
Set R1 = New ADODB.Recordset
R1.CursorLocation = adUseClient

97

R1.Open "select CodCur from Curso where CodGrad='" & List2.List(i) &
"'

and

NomCur='"

&

List1.List(i)

&

"'",

Cn,

adOpenStatic,

adLockReadOnly, adCmdText
Sq = "insert into CurPro (CodPro,CodCur) values ('" & Text1(0).Text & "','"
& R1!CodCur & "')"
Cn.Execute Sq
Next i
MsgBox "Los datos se grab correctamente!"
End Sub
Sub Actualizar()
Sq = "update Profesor set NomPro='" & Text1(1).Text & "', ApePro='" &
Text1(2).Text & "', FechNacPro=#" & DTPicker1.Value & "#, GenPro='" &
Combo1.Text & "', TitPro= '" & Text1(3).Text & _
"', DirPro='" & Text1(4).Text & "', TelPro='" & Text1(5).Text & "',
EmailPro='" & Text1(6).Text & "', FechIngPro=#" & DTPicker2.Value & _
"# where CodPro='" & Text1(0).Text & "'"
Cn.Execute Sq
Rp.Requery

For i = 0 To List1.ListCount - 1
Set R0 = New ADODB.Recordset
R0.CursorLocation = adUseClient
R0.Open "Select CodPro, CodCur from CurPro where CodPro='" &
Text1(0).Text & "' and CodCur in (select CodCur from Curso where
NomCur='" & List1.List(i) & "' and CodGrad='" & List2.List(i) & "')", Cn,
adOpenStatic, adLockReadOnly, adCmdText
If R0.RecordCount = 0 Then
Set R1 = New ADODB.Recordset
R1.CursorLocation = adUseClient
R1.Open "Select CodCur from Curso where CodGrad='" & List2.List(i) &
"'

and

NomCur='"

&

List1.List(i)

&

"'",

Cn,

adOpenStatic,

adLockReadOnly, adCmdText

98

Sq = "insert into CurPro (CodPro,CodCur) values ('" & Text1(0).Text & "','"
& R1!CodCur & "')"
Cn.Execute Sq
End If
Next i
MsgBox "Los datos se actualiz con xito!"
End Sub
Sub Eliminar()
Sq = "delete from Profesor where CodPro='" & Text1(0).Text & "'"
Cn.Execute Sq
Rp.Requery
MsgBox "El registro se elimin!"
End Sub
Sub Buscar()
Busca = InputBox("Ingrese el DNI de Profesor:", "Digite")
Bk = Rp.Bookmark
Rp.MoveFirst
Rp.Find "CodPro='" & Busca & "'"
If Rp.EOF Then
MsgBox "Registro no encontrado"
Rp.Bookmark = Bk
End If
VerDatos
End Sub
Sub VerDatos()
Text1(0) = Rp!CodPro
Text1(1) = Rp!NomPro
Text1(2) = Rp!ApePro
DTPicker1.Value = Rp!FechNacPro
Combo1.Text = Rp!GenPro
Text1(3) = Rp!TitPro
Text1(4) = Rp!DirPro
Text1(5) = Rp!TelPro
Text1(6) = Rp!EmailPro
99

DTPicker2.Value = Rp!FechIngPro
List1.Clear
List2.Clear
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Sq

"select

Curso.*

from

CurPro,

Curso

where

CurPro.CodCur=Curso.CodCur and CurPro.CodPro='" & Text1(0).Text &


"'"
Rs.Open Sq, Cn, adOpenStatic, adLockReadOnly, adCmdText
If Rs.RecordCount > 0 Then
Rs.MoveFirst
While Not Rs.EOF
List1.AddItem Rs!NomCur
List2.AddItem Rs!CodGrad
Rs.MoveNext
Wend
End If
End Sub
Private Sub List1_Click()
CmdEliminar.Enabled = True
CmdEliminar.Caption = "QUITAR CURSO"
List2.Selected(List1.ListIndex) = True
End Sub
Sub EliminarCurso()
Sq = "delete from CurPro where CodPro='" & Text1(0).Text & "' and
CodCur

in

(select

CodCur

from

Curso

where

NomCur='"

&

List1.List(List1.ListIndex) & "' and CodGrad='" & List2.List(List1.ListIndex)


& "')"
Cn.Execute Sq
List1.RemoveItem List1.ListIndex
List2.RemoveItem List2.ListIndex
MsgBox "Se elimin correctamente!"
End Sub
100

Formulario de alumnos:

Codificacin del formulario de mantenimiento de alumnos:


Dim Ra As ADODB.Recordset
Dim Bk1 As Variant 'sirve para saber el indece del registro
Private Sub Cmd1_Click(Index As Integer)
Select Case Index
Case 0: Ra.MoveFirst
HabilitarCmd1 False
VerDatos
Case 1: Ra.MovePrevious
If Ra.BOF Then
Ra.MoveFirst
HabilitarCmd1 False
Else
HabilitarCmd1Todo True
End If
VerDatos
Case 2: Ra.MoveNext
101

If Ra.EOF Then
Ra.MoveLast
HabilitarCmd1 True
Else
HabilitarCmd1Todo True
End If
VerDatos
Case 3: Ra.MoveLast
HabilitarCmd1 True
VerDatos
End Select
End Sub
Private Sub Cmd2_Click(Index As Integer)
Select Case Index
Case 1:
HabilitarFrame True
HabilitarCmd1Todo False
Frame10.Enabled = False
HabilitarCmd2 False
Case 2: Actualizar
HabilitarFrame False
HabilitarCmd1Todo True
HabilitarCmd2 True
Case 3: Buscar
Case 4:
If MsgBox("Realmente desea eliminar el registro actual?", 36,
"Confirme") = 6 Then
Eliminar
End If
Case 5: HabilitarFrame False
HabilitarCmd2 True
102

If Ra.RecordCount > 0 Then


HabilitarCmd1Todo True
Else
HabilitarCmd1Todo False
End If
Case 6: Unload Me
End Select
End Sub

Private Sub Form_Load()


Me.Top = 100
Me.Left = 100
LimpiarAlu
Set Ra = New ADODB.Recordset
Ra.CursorLocation = adUseClient
Ra.Open "select * from Alumno", Cn, adOpenStatic, adLockReadOnly,
adCmdText
If Ra.RecordCount > 0 Then
VerDatos
HabilitarCmd1Todo True
Else
MsgBox "No hay nimgn alumno matriculado. Para tener acceso a esta
opcin" & newline & "Primeramente tendr que matricular alumnos."
Exit Sub
End If
HabilitarCmd2 True
HabilitarFrame False
AgregarComboAlu
End Sub
Sub HabilitarCmd2(si As Boolean)
Cmd2(1).Enabled = si
Cmd2(2).Enabled = Not si
103

Cmd2(3).Enabled = si
Cmd2(4).Enabled = si
End Sub
Sub HabilitarCmd1(Ok As Boolean)
Cmd1(0).Enabled = Ok
Cmd1(1).Enabled = Ok
Cmd1(2).Enabled = Not Ok
Cmd1(3).Enabled = Not Ok
End Sub
Sub HabilitarCmd1Todo(Ok As Boolean)
For i = 0 To 3
Cmd1(i).Enabled = Ok
Next i
End Sub

Sub LimpiarAlu()
For i = 0 To 14
Combo3(i).Text = ""
If i < 9 Then
Text5(i).Text = ""
End If
Next i
End Sub
Sub AgregarComboAlu()
Combo3(0).AddItem "M"
Combo3(0).AddItem "F"
For i = 1 To 10
Combo3(1).AddItem i
Combo3(13).AddItem i
104

Next i
Combo3(2).AddItem "Per"
Combo3(2).AddItem "Argentina"
Combo3(2).AddItem "Ecuador"
Combo3(2).AddItem "Brasil"
Combo3(2).AddItem "Bolivia"
Combo3(2).AddItem "Venezuela"
Combo3(2).AddItem "Uruguay"
Combo3(2).AddItem "Chile"
Combo3(2).AddItem "Colombia"
Combo3(2).AddItem "Paraguay"
Combo3(2).AddItem "Estados Unidos"
Combo3(2).AddItem "Mxico"
Combo3(2).AddItem "Espaa"
Combo3(6).AddItem "Si"
Combo3(6).AddItem "No"
For i = 0 To 12
Combo3(7).AddItem i
Next i
Combo3(8).AddItem "Espaol"
Combo3(8).AddItem "Quechua"
Combo3(8).AddItem "Aymara"
Combo3(8).AddItem "Ingls"
Combo3(8).AddItem "Portugus"
Combo3(8).AddItem "Mandarn"
Combo3(8).AddItem "Italiano"
Combo3(9).AddItem "Espaol"
Combo3(9).AddItem "Quechua"
Combo3(9).AddItem "Aymara"
Combo3(9).AddItem "Ingls"
Combo3(9).AddItem "Portugus"
Combo3(9).AddItem "Mandarn"
Combo3(9).AddItem "Italiano"
105

Combo3(10).AddItem "Si"
Combo3(10).AddItem "No"
Combo3(11).AddItem "Si"
Combo3(11).AddItem "No"
Combo3(12).AddItem "Si"
Combo3(12).AddItem "No"
Combo3(14).AddItem "Catlico"
Combo3(14).AddItem "Cristiano"
End Sub

Sub HabilitarAlumno(AAA As Boolean)


For i = 0 To 8
Text5(i).Locked = AAA
Next i
For i = 0 To 14
Combo3(i).Locked = AAA
Next i
DTPicker2.Enabled = Not AAA
End Sub
Sub HabilitarFrame(Ya As Boolean)
Frame10.Enabled = Ya
Frame11.Enabled = Ya
Frame12.Enabled = Ya
Frame13.Enabled = Ya
Frame14.Enabled = Ya
Frame15.Enabled = Ya
Frame16.Enabled = Ya
106

End Sub
Sub VerDatos()
Text5(0).Text = Ra!CodAlum
Text5(8).Text = Ra!CodApo
Text5(1).Text = Ra!NomAlum
Text5(2).Text = Ra!ApePatAlum
Text5(3).Text = Ra!ApeMatAlum
Combo3(0).Text = Ra!GenAlum
Combo3(1).Text = Ra!HerAlum
Combo3(13).Text = Ra!LugOcuHerAlum
Combo3(6).Text = Ra!TraAlum
Combo3(7).Text = Ra!HTraAlum
Combo3(10).Text = Ra!VivPatAlum
Combo3(11).Text = Ra!VivMatAlum
Combo3(12).Text = Ra!VivPadAlum
DTPicker2.Value = Ra!FechNacAlum
Combo3(2).Text = Ra!PaisNacAlum
Combo3(3).Text = Ra!DepNacAlum
Combo3(4).Text = Ra!ProNacAlum
Combo3(5).Text = Ra!DisNacAlum
Text5(4).Text = Ra!LugNacAlum
Combo3(8).Text = Ra!Len1Alum
Combo3(9).Text = Ra!Len2Alum
Combo3(14).Text = Ra!RelAlum
Text5(6).Text = Ra!DirAlum
Text5(5).Text = Ra!TelAlum
Text5(7).Text = Ra!EmailAlum
End Sub
Sub Actualizar()

107

Sq = "update Alumno set NomAlum='" & Trim(Text5(1).Text) &


"',ApePatAlum='"

&

Trim(Text5(2).Text)

&

"',ApeMatAlum='"

&

Trim(Text5(3).Text) & "',GenAlum='" & _


Trim(Combo3(0).Text)

&

"',LugOcuHerAlum='"

&

"',HerAlum='"

&

Trim(Combo3(1).Text)

Trim(Combo3(13).Text)

&

"',TraAlum='"

&
&

Trim(Combo3(6).Text) & "',HTraAlum='" & _


Trim(Combo3(7).Text) & "',VivPatAlum='" & Trim(Combo3(10).Text) &
"',VivMatAlum='"

&

Trim(Combo3(11).Text)

&

"',VivPadAlum='"

&

Trim(Combo3(12).Text) & "',FechNacAlum=#" & _


DTPicker2.Value & "#,PaisNacAlum='" & Trim(Combo3(2).Text) &
"',DepNacAlum='"

&

Trim(Combo3(3).Text)

&

"',ProNacAlum='"

&

Trim(Combo3(4).Text) & "',DisNacAlum='" & _


Trim(Combo3(5).Text) & "',LugNacAlum='" & Trim(Text5(4).Text) & "',
Len1Alum='"

&

Trim(Combo3(8).Text)

&

"',Len2Alum='"

&

Trim(Combo3(9).Text) & "',RelAlum='" & _


Trim(Combo3(14).Text)
"',TelAlum='"

&

&

"',DirAlum='"

Trim(Text5(5).Text)

&

Trim(Text5(6).Text)

&

&

"',EmailAlum='"

&

Trim(Text5(7).Text) & "' where CodAlum='" & Ra!CodAlum & "'"


Cn.Execute Sq
Ra.Requery
MsgBox "Los datos del alumno se actualiz con xito!"
End Sub
Sub Eliminar()
Sq = "delete from Alumno where CodAlum='" & Ra!CodAlum & "'"
Cn.Execute Sq
Ra.Requery
If Not Ra.RecordCount > 0 Then
HabilitarCmd2Todo False
HabilitarCmd1Todo False
End If
MsgBox "El Registro se elimin con xito!"
End Sub
Sub Buscar()
108

Busca = InputBox("Ingrese el Cdigo del estudiante. Por ejemplo:


64541121117484", "Peticin")
Bk1 = Ra.Bookmark
Ra.MoveFirst
Ra.Find "CodAlum='" & Busca & "'"
If Ra.EOF Then
MsgBox "No se encontr el registro buscado de cdigo: " & Busca
Ra.Bookmark = Bk1
End If
VerDatos
End Sub
Sub HabilitarCmd2Todo(Ki As Boolean)
For i = 1 To 5
Cmd2(i).Enabled = Ki
Next i
End Sub
Formulario de apoderados:

Codificacin del formulario de datos del apoderado:


Dim Bk As Variant 'sirve para guardar la posicin del registro
Private Sub Cmd1_Click(Index As Integer)
109

Select Case Index


Case 0: Rs.MoveFirst
HabilitarCmd1 False
VerDatos
Case 1: Rs.MovePrevious
If Rs.BOF Then
Rs.MoveFirst
HabilitarCmd1 False
Else
HabilitarCmd1Todo True
End If
VerDatos
Case 2: Rs.MoveNext
If Rs.EOF Then
Rs.MoveLast
HabilitarCmd1 True
Else
HabilitarCmd1Todo True
End If
VerDatos
Case 3: Rs.MoveLast
HabilitarCmd1 True
VerDatos
End Select
End Sub
Private Sub Cmd2_Click(Index As Integer)
Select Case Index
Case 1:
HabilitarCmd2 False
HabilitarFrame True
Text1.Locked = True
HabilitarCmd1Todo False

110

Case 2:
Actualizar
HabilitarCmd2 True
HabilitarCmd1Todo True
HabilitarFrame False
Case 3:
Buscar
Case 4:
If MsgBox("Realmente desea eliminar el registro?", 36, "Confirme")
= 6 Then
Eliminar
End If
Case 5:
HabilitarFrame False
HabilitarCmd2 True
If Rs.RecordCount > 0 Then
HabilitarCmd1Todo True
End If
Case 6: Unload Me
End Select
End Sub
Private Sub Form_Load()
Me.Top = 100
Me.Left = 100
LimpiarApo
Set Rs = Cn.Execute("select * from Apoderado")
If Rs.RecordCount > 0 Then
VerDatos
HabilitarCmd1Todo True
Else

111

MsgBox "No hay registros an. Por favor registre los datos del " &
newline & "apoderado al momento de matricular en nuevo o alumno de
traslado!"
Exit Sub
HabilitarCmd1Todo False
End If
HabilitarCmd2 True
HabilitarFrame False
End Sub
Sub HabilitarCmd2(si As Boolean)
Cmd2(1).Enabled = si
Cmd2(2).Enabled = Not si
Cmd2(3).Enabled = si
Cmd2(4).Enabled = si
End Sub
Sub HabilitarCmd1(Ok As Boolean)
Cmd1(0).Enabled = Ok
Cmd1(1).Enabled = Ok
Cmd1(2).Enabled = Not Ok
Cmd1(3).Enabled = Not Ok
End Sub
Sub HabilitarCmd1Todo(Ok As Boolean)
For i = 0 To 3
Cmd1(i).Enabled = Ok
Next i
End Sub
Sub LimpiarApo()
Text1.Text = ""
For i = 0 To 4
Text3(i).Text = ""
Next i
For i = 0 To 2
Combo1(i).Text = ""
112

Next i
End Sub
Sub AgregarComboPad()
Combo1(0).AddItem "M"
Combo1(0).AddItem "F"
Combo1(1).AddItem "Abogado"
Combo1(1).AddItem "Ingeniero"
Combo1(1).AddItem "Ingeniera"
Combo1(1).AddItem "Profesor"
Combo1(1).AddItem "Albail"
Combo1(1).AddItem "Mecnico"
Combo1(1).AddItem "Secretaria"
Combo1(1).AddItem "Otros.."
Combo1(2).AddItem "Estudiante"
Combo1(2).AddItem "Trabajo"
Combo1(2).AddItem "Trabaja y estudia"
Combo1(2).AddItem "Otro.."
End Sub
Sub HabilitarPadre(ZZZ As Boolean)
For i = 0 To 4
Text3(i).Locked = ZZZ
Next i
Text1.Locked = ZZZ
For i = 0 To 2
Combo1(i).Locked = ZZZ
Next i
DTPicker1.Enabled = Not ZZZ
End Sub
Sub Actualizar()
Sq = "update Apoderado set NomApo='" & Trim(Text3(0).Text) &
"',ApeApo='"

&

Trim(Text3(1).Text)

&

"',FechNacApo=#"
113

&

DTPicker1.Value & "#,GenApo='" & Trim(Combo1(0).Text) & "',ProApo='"


& Trim(Combo1(1).Text) & "',OcuApo='" & _
Trim(Combo1(2).Text) & "',TelApo='" & Trim(Text3(2).Text) & "',DirApo='"
& Trim(Text3(3).Text) & "',EmailApo='" & Trim(Text3(4).Text) & "' where
CodApo='" & Trim(Text1.Text) & "'"
Cn.Execute Sq
Rs.Requery
MsgBox "Los datos se actualiz con xito!"
End Sub
Sub Eliminar()
Sq = "delete from Apoderado where CodApo='" & Rs!CodApo & "'"
Cn.Execute Sq
Rs.Requery
If Not Rs.RecordCount > 0 Then
HabilitarCmd2Todo False
MsgBox "No hay ni un Apoderado registrado!"
Exit Sub
Else
HabilitarCmd2 True
End If
MsgBox "El registro se elimin con xito!"
End Sub
Sub Buscar()
Bk = Rs.Bookmark
Busca = InputBox("Ingrese el DNI de Apoderado. Por ejemplo:
10471510", "Registre")
Rs.MoveFirst
Rs.Find "CodApo='" & Busca & "'"
If Rs.EOF Then
Rs.MoveLast
MsgBox "No se encontr los datos del apoderado con DNI: " & Busca
Rs.Bookmark = Bk
End If
VerDatos
114

End Sub
Sub VerDatos()
Text1.Text = Rs!CodApo
Text3(0).Text = Rs!NomApo
Text3(1).Text = Rs!ApeApo
DTPicker1.Value = Rs!FechNacApo
Combo1(0).Text = Rs!GenApo
Combo1(1).Text = Rs!ProApo
Combo1(2).Text = Rs!OcuApo
Text3(2).Text = Rs!TelApo
Text3(3).Text = Rs!DirApo
Text3(4).Text = Rs!EmailApo
End Sub
Sub HabilitarFrame(Ya As Boolean)
Frame3.Enabled = Ya
Frame4.Enabled = Ya
Frame5.Enabled = Ya
Frame6.Enabled = Ya
End Sub
Sub HabilitarCmd2Todo(Ki As Boolean)
For i = 1 To 5
Cmd2(i).Enabled = Ki
Next i
End Sub

115

Reporte de profesores:

Reporte de alumnos:

Reporte de apoderados:

116

Reporte de cursos:

Manual de Usuario:
Procedimientos:

117

A continuacin presentamos todos los procedimientos que se tiene que hacer


para utilizar correctamente el Subsistema de matrcula.
Paso 1: Se hace clic en:
Botn inicio/Todos los programas/Sistema de matrcula y luego se le presenta
el siguiente formulario de presentacin, a continuacin automticamente carga
el formulario de seguridad.

Paso 2: Cuando se carga el formulario de seguridad se tiene que seleccionar o


escribir el cargo de responsabilidad y luego se digita la contrasea en la caja
de contrasea, finalmente presionar ENTER.

Paso 3: Finalmente, si los datos introducidos son correctos, nos muestra el


formulario principal.

118

Paso 4: En el formulario principal hay una barra de Ttulo, una barra de Mens
y una barra de herramientas. A continuacin detallaremos cada uno de ellos:
-

Barra de Ttulo: En la barra de ttulo se muestra el nombre del sistema


Barra de Mens: Esta barra es ms principal e importante, pues en esta
barra se encuentra diversas opciones con los cuales interactuaremos
consuetudinariamente como cuando queremos registrar cursos, Matrcular
alumnos, Asignar cursos a los profesores, realizar consultas, Imprimir un
reporte, etc. Con un simple uno o dos click nos llevar al lugar donde

queremos llegar.
Barra de herramientas: Son comandos de acceso rpido a las opciones
ocultas de Mens, con un simple clic ya estaremos en el lugar deseado.

A continuacin detallaremos cada men con sus respectivas opciones del


formulario principal:

1. Men matrcula.
2. Cuando hacemos clic en el men nos muestra las siguientes opciones:
Nuevo traslado.
Regular.
119

Si queremos matricular un nuevo alumno o un alumno que se ha trasladado


de otra Institucin Educativa se elige la opcin:

y luego nos

presentar la siguiente interfaz:

En esta ventana, cuidadosamente, se introducir los datos del padre de familia,


alumno, se realizar la respectiva matrcula y luego se hace clic en Colegio de
Procedencia donde se introducir los datos da la Institucin Educativa donde
estudi. As como sigue:

Si queremos matricular un alumno regular, es decir que un alumno que


estudi los niveles inferiores en la Institucin Educativa, se elige la opcin:
y nos presentar la siguiente interfaz:

120

Donde se realiza la respectiva matrcula o en donde se hace la modificacin de


la matrcula.
3. Men Mantenimiento.
Cuando hacemos clic en el men nos muestra las siguientes opciones:
Mantenimiento.
Grado.
Profesor.
Curso.
Alumno.
Apoderado.
Seguridad. __________ Datos de la Institucin Educativa.
Mantenimiento del usuario.
Borrar tod los Usuarios.
Borrar todo los cargos.

Si queremos modificar o introducir los grados de la Institucin Educativa, se


elige la opcin:

y nos presentar la siguiente interfaz:

121

En donde se hace las operaciones deseados.


-

Si queremos modificar o introducir los datos y sus respectivos cursos que


dicta el profesor, se elige la opcin:

y nos presentar la siguiente

interfaz:

En donde se realiza las operaciones requeridas.


- Si queremos modificar o introducir los cursos de los grados y nivel
correspondiente, se elige la opcin:

y nos presentar la siguiente

interfaz:

122

En donde se realiza las operaciones requeridas.


- Si queremos modificar los datos de los estudiantes, se elige la opcin:
y nos presentar la siguiente interfaz:

En donde se realiza la modificacin de los datos de los estudiantes.


- Si queremos modificar los datos de los apoderados, se elige la opcin:
y nos presentar la siguiente interfaz:

123

En donde se realiza las operaciones requeridas.


Seguridad.
- Si queremos Introducir o Modificar los datos de la Institucin Educativa
Simplemente pasamos el puntero del mouse en la palabrba seguridad:
y nos Presentar la siguiente interfaz:

En donde se puede introducir o modificar los datos e la Institucin Educativa.


- Si queremos Introducir o modificar los datos de los usuarios (Los datos de
quienes interactuarn con el Subsistema) hacemos clic en la opcin:
y nos presentar la siguiente interfaz:

124

En donde se puede introducir datos de los usuarios con sus correspondientes


cargos o modificar datos de los usuarios y sus cargos.
- Si queremos borrar todos los usuarios simplemente hacemos clic en la
opcin:
- Si queremos borrar solamente cargos de los usuarios, se hace clic en la
opcin:

4. Men Reporte.
Cuando hacemos clic en el men nos muestra las siguientes opciones:

Haciendo clic en cualquiera de las opciones nos mostrar un listado de


todos los datos.
5. Men Consultas
Cuando hacemos clic en el men nos muestra las siguientes opciones:

125

Haciendo clic en cualquiera de las opciones nos mostrar los datos


deseados.
Por ejemplo: un reporte de los alumnos.

6. Mens Utilitarios.
Cuando hacemos clic en el men nos muestra las siguientes opciones:

Haciendo clic en cualquiera de ellos podemos acceder a los accesorios


necesarios.
Este men es generalmente para distraccin del usuario, en sus tiempos
libres.

126

7. Men Ayuda
En este men se puede encontrar ayuda de cualquier duda sobre el
sistema.
8. Men Salir
En este men se hace clic, si queremos salir del sistema.
7 TCNICAS E INSTRUMENTOS DE RECOLECCIN DE DATOS:
7.1 Tcnicas :
En este proyecto, la tcnica a usar ser muestreo probabilstica. Muestreo
probabilstica consiste en que todos los interesados del desarrollo del
sistema tienen la misma posibilidad de ser encuestado (La encuesta
contiene

todas

las

preguntas

necesarias

para

determinar

los

requerimientos del sistema).


Por ejemplo imagnese el procedimiento para obtener el nmero premiado
de la tinka. Este nmero se va formando en el momento de sorteo a partir
de las esferas con un dgito que se van sacando hasta formar el nmero,
de manera que todos los nmeros tienen la misma probabilidad de ser
elegido.
Entrevista:

Entrevistas: La Entrevista se hizo, con previa cita , al promotor de


la institucin educativa mencionada en donde se aplic una
entrevista estructurado que consta de las siguientes preguntas:
1. Breve resea histrica de la entidad ( fecha de creacin,
Principales caractersticas, momentos ms destacados)
1. Cantidad actual de alumnos y otros miembros de la comunidad
2. Cuenta la IEP con un plan estratgico?
3. Qu principios de accin tienen?
4. De quin depende la organizacin interna de la IE?
5. Se ha formulado el perfil de imagen que sera deseable para la
entidad?
6. Qu mecanismos de comunicacin tiene la IP para llegar a sus
miembros los acuerdos y decisiones de sus rganos de
gobierno?

127

7. Qu sistema de distribucin de la informacin operativa entre


las diferentes unidades funcionales?
8. Cuenta la entidad con algn documento o texto corporativo
que exprese la identidad de la IE?
9. Existe alguna declaracin o texto escrito que enuncie la visin
y misin de su IE?
10. Tienen alguna dificultad en el proceso de matricula?, Cul?
11. Cuntos personales requieren, como mnimo, para realizar el
proceso de matrcula?
12. En qu o cmo registran los datos de los padres de familia y
de estudiantes?
13. Los materiales que requieren para administrar los datos de los
estudiantes, padres de familia, profesores y trabajadores le
parece muy costoso?
14. Alguna vez se le ocurrido pensar en la forma como solucionar
estas necesidades que tiene su empresa?
15. Le gustara tener los datos de los estudiantes, padres de
familia, profesores entre otros, almacenado en un lugar fcil de
acceder desde cualquier lugar sin la necesidad de estar sentado
y buscando datos en la oficina de su empresa?
16. Le gustara tener seguridad de su informacin, es decir; a
pesar que los datos se perdieran en su oficina principal le
gustara tener duplicados en otros lugares, de modo que no
pierda su informacin?
17. Si alguno de sus trabajadores le propusiera implementar el
sistema de matrcula actual que se usa en su empresa. Qu le
respondera usted?
18. Qu caractersticas y funcionalidades le gustara que tenga el
sistema de matrcula implementado?
19. Hay algo que quisiera comentar o que no haya preguntado?
Las cuales fueron satisfactoriamente contestadas por el promotor.
El resultado de la entrevista lo podemos observar en el anexo1.
7.2 . Instrumentos:

128

7.2.1. Cuestionario Encuesta.- Es el instrumento que se elabora


con un conjunto de tems, con el fin de verificar los problemas que
existen en el proceso de matricula actual.
La encuesta se formulo tomando en cuenta las variables planteadas en
la hiptesis de la presente investigacin, se aplic a una muestra
representativa de los estudiantes y padres de familia de la Institucin
Educativa Pablo Patron

Estimado padre de familia, estudiante o profesor, con honestidad y


certeza marque con un aspa la alternativa que crees conveniente en cada
pregunta.
1. Qu opinin se merece el proceso de matrcula de este colegio?
Es ineficaz

Es eficiente

Es regular

2. Estas conforme con el sistema de matrcula aplicado en el colegio?


Si

No

3. El mtodo que se emplea, en este colegio, para el control de asistencia


de los estudiantes es?:
Es manual

Computariza

4. Crees que el sistema de matrcula debe implementarse en uno ms


eficaz?
Si

No

5. Cuando quieres averiguar las notas de tus familiares, Quisieras que te


d de inmediato la respuesta de tu peticin?
Si

No

6. Le gustara que el proceso de matrcula se realice mediante


computadora?
Si

No

7. Le gustara que le informe las tardanzas, faltas y evasiones de sus


hijos con toda fecha y hora, cuando usted solicite?
Si

No

8. La mensualidad de tus hijos, alguna vez te cobraron dos o ms veces,


equivocadamente?:
Si

No

129

9. Cuando haces consultas en el colegio sobre cualquier informacin Le


gustara que tus consultas sean respondidos en menor tiempo posible?
Si

No

10. Le gustara que el colegio

cuente con un sistema de matrcula

computarizado, de modo que cualquier consulta que usted desee le


provea de inmediato?
Si

No

8 TCNICAS PARA EL PROCESAMIENTO Y ANLISIS DE DATOS:


8.1 Procesamiento manual:
Problema del estudiante:
Demora en el proceso de matrcula, bsqueda de y consulta de
informacin de datos.
Problema del Director:
Cuenta con informacin desordenada.
Dificultad de contar con informacin actualizda.
Propuesta de solucin:
Implementar el Susbitema de matrcula para optimizar el objetivo
general, en bien de la Institucin Educativa Pablo Patrn.
8.2 Anlisis de datos:
8.2.1.1

Qu opinin se merece el proceso de matrcula de este


colegio?

Clase
Es eficiente
Es eneficiente
Es regular
Total

fi

hi
5
8
7
20

Fi
0,25
0,4
0,35
1

Hi
5
13
20

%
0,25
0,65
1

25
65
100

De acuerdo al la siguiente encuesta el 40% no esta de acuerdo.

130

8.2.1.2

Estas conforme con el sistema de matrcula aplicado


en el colegio?

Clase

fi

Si
No
Total

hi
9
11
20

Fi
0,45
0,55
1

Hi
9
20

%
0,45
1

45
100

De acuerdo a la encuesta 55% no esta de acuerdo.


8.2.1.3

El mtodo que se emplea, en este colegio, para el


control de asistencia de los estudiantes es?:

Clase

fi

Es manual
Es computarizada
Total

hi
15
5
20

Fi
0,75
0,25
1

Hi
15
20

%
0,75
1

75
100

De acuerdo a la encuesta el 75% es malo


8.2.1.4

Crees que el sistema de matrcula debe implementarse


en uno ms eficaz?

Clase
Si
No
Total

fi

hi
14
6
20

Fi
0,7
0,3
1

Hi
14
20

%
0,7
1

70
100

131

De acuerdo a la encuesta el 70% aprueva el nuevo sistema.


8.2.1.5

Cuando quieres averiguar las notas de tus familiares.


Quisieras que te d de inmediato la respuesta de tu
peticin?

Clase

fi

Si
No
Total

hi
18
2
20

Fi
0,9
0,1
1

Hi
18
20

%
0,9
1

90
100

De acuerdo a la encuesta el 90% aprueva.


8.2.1.6

Le gustara que el proceso de matrcula se realice


mediante computadora?

Clase
Si
No
Total

fi

hi
13
7
20

Fi
0,65
0,35
1

Hi
13
20

%
0,65
1

65
100

132

De acuerdo a la encuesta el 65% aprueva.


8.2.1.7

Le gustara que le informe

las tardanzas, faltas y

evasiones de sus hijos con toda fecha y hora, cuando


usted solicite?

Clase

fi

Si
No
Total

hi
19
1
20

Fi
0,95
0,05
1

Hi
19
20

%
0,95
1

95
100

De acuerdo a la encuesta el 95% aprueva.


8.2.1.8

La mensualidad de tus hijos, alguna vez te cobraron


dos o ms veces, equivocadamente?:

Clase
Si
No
Total

fi

hi
2
18
20

Fi
0,1
0,9
1

Hi
2
20

%
0,1
1

10
100

133

De acuerdo a la encuesta el 90% no le cobraron.


8.2.1.9

Cuando haces consultas en el colegio sobre cualquier


informacin Le gustara que tus consultas sean
respondidos en menor tiempo posible?

Clase

fi

Si
No
Total

hi
2
18
20

Fi
0,1
0,9
1

Hi
2
20

%
0,1
1

10
100

De acuerdo a la encuesta el 90% aprovo.


8.2.1.10 Le gustara que el colegio cuente con un sistema de
matrcula

computarizado,

de

modo

que

cualquier

consulta que usted desee le provea de inmediato?


Clase
Si
No
Total

fi

hi
17
3
20

Fi
0,85
0,15
1

Hi
17
20

%
0,85
1

85
100

134

De acuerdo a la encuesta el 85% aprueva.

9. Cronograma de actividades:

ACTIVIDADES
AGOS.

SETIEM.

MESES
OCT.

NOV.

I. Investigacin preliminar:
* Aclaracin de requerimientos
* Estudio de factibilidad
- Factibilidad tcnica
- Factibilidad econmica y
financiera
- Factibilidad operativa
II. Determinacin de requerimientos
* Entrevistas
* Encuestas
III. Diseo del sistema
IV. Desarrollo del software
V. Implementacin y evaluacin
VI. Prueba del sistema
VII. Mantenimiento

135

DIC.

9 Presupuesto y financiamiento.
9.1 Bienes:
Humanos:
Tcnico analista.
Tcnico programador.
Asesor.
Muebles y/o Materiales:
Computadora
Impresora.
Mueble de escritorio.
Suministro de hardware y software.
Material bibliogrfico.
9.2

Financiamiento:
Autofinanciado por el autor de la presente investigacin.

CONCLUSIONES

136

A finales del siglo XX, los Sistemas Informticos se han constituido en


las herramientas ms poderosas para materializar uno de los conceptos
ms vitales y necesarios para cualquier organizacin empresarial, los
Sistemas de Informacin de la empresa.

La Informtica hoy, est subsumida en la gestin integral de la empresa,


y por eso las normas y estndares propiamente informticos deben
estar, por lo tanto, sometidos a los generales de la misma. En
consecuencia, las organizaciones informticas forman parte de lo que se
ha denominado el "management" o gestin de la empresa. Cabe aclarar
que la Informtica no gestiona propiamente la empresa, ayuda a la toma
de decisiones, pero no decide por s misma. Por ende, debido a su
importancia en el funcionamiento de una empresa, existe la Auditoria
Informtica.

Actualmente se puede afirmar que cada da avanza la tecnologa y por


eso las empresas o instituciones deben de capacitar a su personal para
manterlos preparados con los avances de la tecnologa informatica e
impulsar a presentar y realizar proyectos que ayude a organizarse de
una manera que el trabajo sea mas simple y sencilla, y permita tomar
decisiones inmediatas a la empresa o institucin.

Con la implementacin del Subsistema de matricula en La I.E. Pablo


Patrn se logr optimizar el tiempo en el proceso de matrcula de los
educandos.

En el desarrollo del presente Subsistema se aplic los conocimientos


adquiridos en los lenguajes de programacin y base de datos,
asignaturas que fueron impartidas en el ISTP Ramiro Prial Prial

Bibliografa
137

Baltasar & Mariano Birnios, Creacin de Aplicaciones Multimedia con


Visual Basic, editorial MP Ediciones, primera edicin, B. Aires, 1998.

Baltasar & Mariano Birnios, Microsoft Visual Basic Manual de


Referencia, editorial MP Ediciones, primera edicin, Buenos Aires, 1999.

Visual Basic 6 editorial Anaya Multimedia; Coleccin: PASO A PASO;


Autor/a: Galeano, Germn; N de pginas: 432; Nivel Bsico/Medio.

Visual Basic 6 editorial Anaya Multimedia; Coleccin: LA BIBLIA DE;


Autor/a:

Petroutsos,

Evangelos;

de

pginas:

856;

Nivel:

Medio/Avanzado.

Stewart, James. Redlin, Lothar. Watson, Saleem. 2001. Precalculo.


Tercera Edicin. Pginas 122-124. Internacional Thomson Editores.
Mxico.

Garca de Jaln, Javier. Rodrguez, Jos Ingnacio. Brazles, Alfonso.


1999. Aprenda Visual Basic 6.0 como si estuviera en primero. Escuela
Superior de Ingenieros Industriales de San Sebastin. Universidad de
Navarra. Espaa.

Matta Gonzales, Danny A. Fundamentos de Programacin en Visual


Basic. Rodrguez Bucarelly, Carlos M. Rodrguez Bucarelly, Pablo A.
2004. Visual Basic 6.0

Programacin Orientada a Objetos. Desarrollando Grupo Experto


Bucarelly. Twinsmaster Sof Corporation 1998-2004.

JEAN Paul Tremblay, B. Bunt Richard; Introduccin a la ciencias de las


computadoras (enfoque algoritmico) Mc Graw Hill

JOYANES Aguilar Luis; Metodologa de la programacin Mc Graw Hill


138

JOYANES Aguilar Luis; Problemas de metodologa de la programacin


Mc Graw Hill

CORREA Uribe Guillermo Desarrollo de algoritmos y sus aplicaciones en


Basic, Pascal y C (3. Edicin) Mc Graw Hill

Levine Guillermo; Introduccin a la computacin y a la programacin


estructurada Mc Graw Hill

JOYANES Aguilar Luis; Fundamentos de programacin, algoritmos y


estructura de datos Mc Graw Hill

JOYANES Aguilar Luis, Luis Rodrguez Baena y Matilde Fernandez


Azuela; Fundamentos de programacin, libro de problemas Mc G. Hill

BORES Rosario, Rosales Roman; Computacin. Metodologa, lgica


computacional y programacin Mc Graw Hill

LOZANO Letvin; Diagramacin y programacin estructurada y libre Mc


Graw Hill

Enlaces a Internet:
o http://msdn.microsoft.com/vb
o www.vb-herlper.com
o www.vbexlporer.com
o www.cgvb.com
o www.vb-world.net
o www.planet-sourse-code.com/vb
o www.programacin.net/
o www.programmersheaven.com/

139

140

You might also like