Professional Documents
Culture Documents
1. DATOS GENERALES:
1.1. Titulo: Implementacin De Un Sub Sistema De Matrcula En La
Institucin Educativa Pablo Patrn chosica
1.2.
1.3.
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.
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
Objetivo general:
Implementar el Subsistema de Matrcula en la Institucin Eductiva
Pablo Patrn de chosica
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.
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
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
Base tecnolgica:
En el proceso de desarrollo de este proyecto se utilizarn el
software. Rational Rose, Microsoft Access y Visual Basic.
de
la
version
del
sistema
operativo,
.NET
10
lenguaje
de
fcil
aprendizaje
pensado
tanto
para
para
que
funcionen,
en
algunos
casos
llamada
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,
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
6 METODOLOGA DE INVESTIGACIN:
13
A.
Domicilio: chosica.
Constitucin e Inscripcin:
B.
Administracin:
La Institucin Educativa esta de la siguiente manera:
Administrativo
Secretara
Profesores
Personal de apoyo.
tiene
14
Desarrollo
estratgico.
Cuenta
con
desarrollo
I E.
SOLICITA MATRCULA
SUBSISTEMA
DE MATRCULA FICHA DE MATRCULA
Requerimiento Matrcula
Identificacin
ALUMNOS
Documentos Matrcula
Constancia de Matrcula
Alumnos Matriculados
0
MATRCULA
Horarios
COMISIN DE
MATRCULA
Alumnos Matriculados
16
17
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
18
CUR
6.2.4
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
Proceso de Negocio
01
19
Alumno
Diretor.
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
20
Imagen 6.11 Diagrama de casos de uso a nivel general del Subsistema de matrcula.
Diagrama de Clases:
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
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
Diagrama de Componentes:
23
Instalador
Codigo
Fuente
Matricula.
exe
Librera
DLL
Documen
tacion
Librera
OCX
BasesDeDatos
Codificacin
12.1. MDULO
Global Cn As ADODB.Connection 'conexion global del proyecto
24
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:
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
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
33
34
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
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
"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
43
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:
49
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
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
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)
&
"','"
&
"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(Combo3(6).Text)
&
"','"
&
&
"',#"
&
DTPicker2.Value
&
"#,'"
&
"','"
&
"','"
&
& "','"
&
&
Trim(Combo3(5).Text)
&
"','"
&
"','"
&
Trim(Combo3(4).Text)
Trim(Text5(4).Text)
&
&
& "','"
&
"','"
& Trim(Combo3(14).Text)
&
Trim(Text5(5).Text)
&
"','"
&
CodGrad='"
& Trim(Combo2(2).Text)
& "'
and Alec='"
&
"insert
into
Matricula
61
"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
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
End If
Sq = "select CodCur as Cdigo, NomCur as Asignatura, DesCur as
Descripcin
from
Curso
where
CodGrad='"
&
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
CodGrad='"
& Trim(Combo2(2).Text)
& "'
and Alec='"
&
"insert
into
Matricula
&
Left(Trim(Combo2(1).Text),
1)
&
"',SecMat='"
&
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
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
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
For i = 0 To List1.ListCount - 1
82
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:
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
Formulario de profesores:
92
&
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
in
(select
CodCur
from
Curso
where
NomCur='"
&
Formulario de alumnos:
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
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
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
&
Trim(Text5(2).Text)
&
"',ApeMatAlum='"
&
&
"',LugOcuHerAlum='"
&
"',HerAlum='"
&
Trim(Combo3(1).Text)
Trim(Combo3(13).Text)
&
"',TraAlum='"
&
&
&
Trim(Combo3(11).Text)
&
"',VivPadAlum='"
&
&
Trim(Combo3(3).Text)
&
"',ProNacAlum='"
&
&
Trim(Combo3(8).Text)
&
"',Len2Alum='"
&
&
&
"',DirAlum='"
Trim(Text5(5).Text)
&
Trim(Text5(6).Text)
&
&
"',EmailAlum='"
&
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
&
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
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:
-
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.
1. Men matrcula.
2. Cuando hacemos clic en el men nos muestra las siguientes opciones:
Nuevo traslado.
Regular.
119
y luego nos
120
121
interfaz:
interfaz:
122
123
124
4. Men Reporte.
Cuando hacemos clic en el men nos muestra las siguientes opciones:
125
6. Mens Utilitarios.
Cuando hacemos clic en el men nos muestra las siguientes opciones:
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
127
128
Es eficiente
Es regular
No
Computariza
No
No
No
No
No
129
No
No
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
130
8.2.1.2
Clase
fi
Si
No
Total
hi
9
11
20
Fi
0,45
0,55
1
Hi
9
20
%
0,45
1
45
100
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
Clase
Si
No
Total
fi
hi
14
6
20
Fi
0,7
0,3
1
Hi
14
20
%
0,7
1
70
100
131
Clase
fi
Si
No
Total
hi
18
2
20
Fi
0,9
0,1
1
Hi
18
20
%
0,9
1
90
100
Clase
Si
No
Total
fi
hi
13
7
20
Fi
0,65
0,35
1
Hi
13
20
%
0,65
1
65
100
132
Clase
fi
Si
No
Total
hi
19
1
20
Fi
0,95
0,05
1
Hi
19
20
%
0,95
1
95
100
Clase
Si
No
Total
fi
hi
2
18
20
Fi
0,1
0,9
1
Hi
2
20
%
0,1
1
10
100
133
Clase
fi
Si
No
Total
hi
2
18
20
Fi
0,1
0,9
1
Hi
2
20
%
0,1
1
10
100
computarizado,
de
modo
que
cualquier
fi
hi
17
3
20
Fi
0,85
0,15
1
Hi
17
20
%
0,85
1
85
100
134
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
Bibliografa
137
Petroutsos,
Evangelos;
de
pginas:
856;
Nivel:
Medio/Avanzado.
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