proyecto

176
INTRODUCCIÓN La implementación de un sub sistema de matrícula en una organización ayuda a mejorar la gestión del desarrollo de la institución, y esto traerá como consecuencia una disminución de los problemas y errores, favoreciendo las relaciones y comunicación entre las personas y grupos de organización, y de éstos con los usuarios. Utilizar un subsistema de matrícula para el proceso de matrícula 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 Institución Educativa experimenta. El presente proyecto se ha realizado en la Institución Educativa Pablo Patrón de Chosica con el nombre de “Subsistema de Matrícula”, 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 matrícula de los educandos, ya que se

Upload: edwin-centeno-aldazabal

Post on 12-Sep-2015

218 views

Category:

Documents


2 download

DESCRIPTION

proyecto de pagina web para titulacion

TRANSCRIPT

PLAN DE PROYECTO

INTRODUCCINLa 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 chosica1.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?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 a 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 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 o 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 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 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 clasesDiagrama de componentesDiagrama de objetosDiagrama de estructura compuesta (UML 2.0)Diagrama de despliegueDiagrama de paquetes

Diagramas de comportamiento:Diagrama de actividadesDiagrama de casos de usoDiagrama de estados

Diagramas de interaccin:Diagrama de secuenciaDiagrama de comunicacinDiagrama 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:6.1 Tipo de investigacin: Aplicada y tcnica. 6.2 Mtodo de investigacin: Mtodo Experimental. 6.2.1. Investigacin preliminar:Datos Generales:

Denominacin: Institucin Educativa Nacional Pablo Patron

Domicilio: chosica.

Telfono Telefax: 361 - 1506

Constitucin e Inscripcin:

A. 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 tieneB. 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. 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.

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

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. 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 matrculaDiseo Entidad Relacin.

Imagen 6.4. Diseo E R Sub Sistema de matrcula6.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:

NProceso de Negocio

01Automatizar el proceso de matrcula

Diagrama de casos de usos del negocio:Institucin Educativa Pablo Patrn

Alumno Gestiona proceso de matrcula Diretor.

Imagen 6.10. Diagrama de Caso de Uso del Negocio:

Formato de identificacin de actores:NActorRoles/Responsabilidades

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

6.2.1.3 Diagrama de casos de uso del Subsistema:

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:

Imagen 6.13 Diagrama de Secuencia del Sub Sistema de matrcula.Diagrama de Colaboracin:

Imagen 6.14 Diagrama de Colaboracin del Sub Sistema de matricula.Diagrama de Componentes:

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

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

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

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"

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 IfMen principal:

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

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

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

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

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:

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:

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

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

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

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

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)

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

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 & "#)"

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

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:

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"

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

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

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

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

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

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

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

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

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

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"

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

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"

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"

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

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

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 List3.ListCount Then

List3.AddItem Combo1(4).Text

Else

MsgBox "Primero Asigne Seccin!"

End If

End Select

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

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

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

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

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

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

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

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

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

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

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"

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

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

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 & "')"

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

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 SubFormulario de profesores:

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

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

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

.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

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

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

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

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

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

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

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

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"

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

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

Sq = "update Alumno set NomAlum='" & Trim(Text5(1).Text) & "',ApePatAlum='" & Trim(Text5(2).Text) & "',ApeMatAlum='" & Trim(Text5(3).Text) & "',GenAlum='" & _

Trim(Combo3(0).Text) & "',HerAlum='" & Trim(Combo3(1).Text) & "',LugOcuHerAlum='" & 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) & "',DirAlum='" & Trim(Text5(6).Text) & "',TelAlum='" & Trim(Text5(5).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()

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)

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

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

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

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=#" & 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

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

Reporte de profesores:

Reporte de alumnos:

Reporte de apoderados:

Reporte de cursos:

Manual de Usuario:

Procedimientos:

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.

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